セクション 1
最近、うちの会社がよく掲げている「お客様と伴走する」っていう言葉について、僕なりに考えていることがあるんです。正直に言うと、この業界に入ったばかりの頃は「伴走」って聞いても、ちょっと耳障りのいいキャッチコピーくらいにしか思っていませんでした。お客様の要望を聞いて、仕様書通りにモノを作るのが僕らの仕事でしょ?って。でも、最近アジャイル開発で進めているプロジェクトに深く関わるようになって、その考えが180度変わったんですよね。「あ、なるほど、伴走するってこういうことか!」って、ストンと腑に落ちる瞬間があったんです。それは、ただ隣を走るだけじゃなくて、同じゴールを見て、時にはペースを合わせ、時には励まし合いながら一緒に走り切る、マラソンの伴走者に近い感覚でした。今日はその気づきについて、ちょっと話してみたいと思います。
僕が今参加しているプロジェクトは、お客様の社内業務を効率化するための新しいWebシステム開発です。このプロジェクトではアジャイル開発手法を取り入れていて、毎週のようにお客様と僕ら開発チームでミーティングを開いています。教科書通りにいけば、これは「スプリントレビュー」とか「プランニング」って呼ばれるものなんですけど、実際の中身はもっと泥臭くて、人間味にあふれてるんですよね。例えば、あるミーティングで「このデータ入力画面、もっとシンプルにできないかな?」というお客様の一言から議論が始まりました。当初の仕様では、項目A、B、Cを順番に入力する流れだったんですけど、実際の業務をヒアリングしていくと、「ほとんどの場合、項目AとCはセットで、Bは特殊なケースでしか使わない」ってことが分かったんです。そこで僕らから「じゃあ、普段はAとCだけ表示して、Bはボタンを押したら出てくるようにするのはどうでしょう?」って提案しました。こういうやり取りって、最初に完璧な仕様書を作るウォーターフォール開発では、なかなか生まれないんですよね。
セクション 2
```javascript // 【Before】当初の仕様案(全項目を常に表示) function renderForm() { // 項目A, B, Cの入力フィールドをすべて描画する displayField('item_A'); displayField('item_B'); // あまり使わない項目も最初から表示 displayField('item_C'); }
// 【After】お客様との対話で生まれた改善案 function renderFormWithToggle() { // 基本項目A, Cを描画 displayField('item_A'); displayField('item_C'); // トグルボタンを追加し、クリックされたら項目Bを表示 createToggleButton('詳細項目を表示', () => { displayField('item_B'); }); } ```
セクション 3
こんな風に、小さな「もっとこうだったら」を積み重ねて、システムを育てていく感覚。これこそが「伴走」の正体なんだなって気づきました。これは単なる「御用聞き」とは全く違います。お客様は業務のプロとして、僕らは技術のプロとして、お互いの知見をぶつけ合うんです。「その機能、技術的には可能だけど、本当に業務フローに合ってますか?」とか、「そんな便利な技術があるなら、こっちの業務にも応用できない?」とか。まるで壁打ちみたいにアイデアを出し合って、一緒になって「正解」を探していく。このプロセスを経ることで、当初の仕様書からは想像もできなかったくらい、お客様のビジネスにフィットした、本当に「使える」システムが出来上がっていくんです。データを見ても、アジャイル開発を採用したプロジェクトは、顧客満足度が従来の手法より高い傾向にあるという調査結果(例えば、Standish GroupのCHAOSレポートなど)もあって、僕らのやっていることは間違ってないんだなと自信にもなります。
システム開発って、プログラムを書くことだけが仕事じゃない。お客様のビジネスがどうすればもっと良くなるかを、お客様以上に考えることなのかもしれない、と最近は思うようになりました。「お客様と一緒に成功を分かち合う」という言葉が、今ならすごくリアルな目標として感じられます。そのためには、技術の勉強はもちろんだけど、お客様のいる業界のことや、ビジネスの仕組みそのものをもっともっと知らないといけない。学ぶことは無限にありますが、こうやってお客様と一緒になって何かを創り上げていくプロセスは、本当に楽しくてやりがいがあります。これからも最高の「伴走者」になれるように、日々頑張っていきたいですね。