プロジェクトの生産性を上げる為に

ボトルネックの制約がある中での改善への視点


InfoQの記事です。

この記事の中で、プロジェクトの生産性を上げる為には、
・コミュニケーション
・コードの読み取り可能性
デバッグ可能性
が改善されることでもたらされる、と記述されています。


あー、まさにその通り。
自社製品の開発だろうが、受託開発だろうが
「実現する機能がなぜ必要か」の認識が開発側と要求側でずれてたりあいまいだったりすると
「思ってたのと違う」となり、ちゃぶ台返しになりかねません。
時間がかかりますが、その認識をあわせる事がプロジェクトの成功率を高めるのだと思います。


実装を意識する上で
使用するフレームワークの定義も早めにやる必要がありますが、
どんなフレームワークだって、ある条件下では著しく生産性は低下するでしょう。
「どんなシステムでも高い生産性を提供できるフレームワーク」というものが存在しない以上、
実現する機能ありきで考えた方が後で失敗することは減るんじゃないかな、と。
ツール(開発言語やフレームワーク)だけじゃ本当に望むものは提案できませんよ、きっと。
ツールよりコミュニケーションです。


設計段階の早い段階で、開発側と要求側の認識を合わせなければならず
そのツールとしてアジャイルは有効だと思います。
実際に目に見えて動作するものだし、フィードバックを受けやすいですし。
Webアプリケーションならアプリを作りこまずに、HTMLのモックでも良いかもしれません。
指摘されることを恐れて、使う人に見せることを後回しにしちゃ、駄目です。