顧客現場に飛び込む―開発外業務から得られる新たな視点
2つ目のマインドセットは「開発以外もやってみる」だ。開発といえば、システムの設計やKPI設計、実装、テスト、運用などが主な業務範囲として思い浮かぶ。しかし、白木氏は、それ以外の仕事にあえて挑戦してみることが開発に役立つと語る。例えば、カスタマーサポート(CS)の業務や営業・マーケティング担当者が行う広告管理などを経験してみるのだ。
これらの業務を経験することで、開発の背景に対する理解が深まり、解像度が上がる。例えば、CSの業務に携わることで、問い合わせ対応の流れを把握し、操作しやすいUIの設計や、検索で頻繁に使われるフィルター条件を実現する方法を具体的に考えられるようになる。また、よく使われるパターンを拡張しやすいAPI設計に反映するなど、実際の業務に基づいた開発が可能になる。結果として、開発効率の向上にもつながる。
しかし、ただでさえ時間がないのにほかの業務を体験することは、一見すると遠回りに思えるだろう。白木氏はここでも自身が実感したエピソードを紹介した。
あるBtoB向けのサービスにおいて、顧客側での導入にはAPIで連携させる必要があった。API自体はすでに提供済みで、エンジニアとしては実装の難易度は高くないと考えていたが、実際には顧客側の対応が進まず、導入が滞っていた。
白木氏は営業担当とともに顧客訪問を行い、担当者やエンジニアと直接会話する機会を持った。現場で話を聞くと、実装に取り掛かる前にお客様のシステムにさまざまな課題があり、それらへの対応に追われていることが分かった。また先方のエンジニアは疲弊しており、実装作業に着手する余裕がない様子だった。これを目の当たりにし、顧客側での実装は難しいと判断した。
そこで、自社のサービスを呼び出す仕組みを実装・提供することにした。この対応により、自社サービスの導入が実現し、ビジネスへの貢献もできた。この経験を通じて、エンジニアは開発だけを行うのではなく、営業担当とともに現場に足を運び、直接課題を把握することが重要だと実感した。
こうした取り組みを始めるのは難しく感じるかもしれない。他の業務に直接参加するのが難しい場合は、まずはユーザーや担当者の声を聞くことから始めると良い。例えば、依頼された機能について「この機能はどのような場面で使いますか」と尋ねたり、ユーザーに「普段どの作業に時間がかかっていますか」と聞いてみたりする。また、営業担当者には「失注の主な理由は何ですか」と質問してみる。こうした情報を集めるだけでも負担は少なく、実践しやすい方法だろう。
「課題や状況の解像度を高めることで、価値あるサービスの開発につながると考えています。それが結果的に時間の無駄を防ぐことにもなります」