「ソフトウェア開発ファシリテーション」アドベントカレンダー14日目の記事です。
本日のアイキャッチの絵は
「このプロダクトが利用されるためにはこの機能が絶対に必要だ!」
というとき、
「いや、さすがにそれは技術的にも難しいし、やること自体可能だろうけどもコスト面で現実的ではないのでは・・・」
と、技術的なジレンマに陥ってしまっている絵です。
「ここまでならできますよ」と技術的な落としどころを探ろうとしても、その落としどころがそもそもの目的に合致しないために上手く折り合えないという状況で、今後の展開が難しいところではあります。
こんな状況で必要な問いは「暗黙の前提はどこにあるのか?」ということにあると思います。
例えば、技術的に難しいその機能は、本当に機能として開発する必要があるのでしょうか?
機能として開発するからには利用することが見込まれる状況だと思われますが、本当にその機能が利用されるかどうかの検証はできているのでしょうか?
そもそもユーザーにとって、その機能がソフトウェアで実現されていることが重要なのでしょうか?
もしかして、ユーザーとしては単に必要なことができれば良いだけではないでしょうか? 裏で手動で誰かが作業していたとしても気にしないのではないでしょうか? クラウドソーシングを上手く活用することで、すぐにリリースして検証可能だったりはしないでしょうか?
開発の現場だからこそ、お互いに「ソフトウェアとして実現しなくてはならない」という暗黙の前提に立って話が進んでしまっている可能性はないでしょうか。
コストや期間も限られる中で、どれだけ創造的な手段を作り出せるかはこの第三の道にかかっているのではないか、というのが私の意見です。単に機能をどのように開発するかだけではなく、この第三の道も含めてどのように目的を実現していくのかを総合的に考えるのがソフトウェア開発の在り方なのではないか、と私は思います。