顧客とコードの距離を短くする
私が心がけているのは「顧客とコードの距離を短くできるエンジニア」です。
顧客にとって価値のあるものとは、詰まるところソースコード。
長時間に及ぶ会議や、読まれることがない大量のドキュメントを
積み上げることが、システム開発の目的では、決してない。
仕様の打ち合わせや、ドキュメントは結局、最終的な成果物を
生み出すための手段であったり、中間成果物にすぎないと、
考えています。
コードひとつひとつで構築された、「動く」システムこそが意味があり、
投資の目的のはず。
顧客とコードの距離を短くできれば、フィードバック間隔も短くなり、
手戻りも少なることになる。
それは顧客にとってもエンジニアにとってもハッピィなこと。
勿論、顧客の意図するものを作るのは大前提で、そのために必要な工程を
無視したり、開発全般でドキュメントが要らないという訳ではないです。
そこをクリティカルパスで進めることで、距離を縮める。
そうすると開発手法は、ウォーターフォール型ではなく、イテレーティブな
開発を自ずと選択することになるのではないでしょうか。
フィードバックを開発の最後で一度きり行うのではなく、複数回用意する。
それによって、成果物の精度を上げていく。
しかし、顧客は、自分たちが何が必要なのかさえもわからないこともある。
それでは正しいフィードバックなど出てこない。
顧客の要求を引き出せないうちに開発に入ってしまうと、イテレーションは
無駄に周り続ける。
やはり、開発の前段には要求を要件化する工程が必要となる。
単純なプログラマ至上主義にはなれない。