開発効率化についていろいろ考えてみたが、工数を50%短縮するには、不要なタスクを削るしかない。
不要なタスクって何か。
まずは、必要なものを考える。
・ ソースコード:これがないとシステムではない。
・ 設計書:これはいくつか分類できる。
1. お客さまと意識合わせをするために必要な設計書
・ 業務フロー
・ データ項目一覧および関係(DBのER図やテーブル定義書)
・ 外部IF
・ 画面
など
2. 開発ベンダーが保守する上で必要な設計書
・ 設計ポリシー(アーキテクチャ)
・ 各機能での処理
など
正直、開発ベンダーが保守する上で必要な設計書は、最小限にとどめたい。
アーキテクチャを決めた後であれば、システムの規模が大きくない(~50ksteps)レベルの開発ならお客さまと直接ヒアリングした結果をドキュメントではなく直接コードに落としてお客さまに見せた方が明らかに早いし、お客さま自身も早く検証できる。
このスピードで進めていかないと、今後受託開発で生き残っていけないだろう。
設計者と実装者が違う、或いは実装工程を外注するといったことをしていると現場が疲弊する。
10人で1,000万かかるシステムを、5人で800万で開発する。
そのためには、社内のコミュニケーションコストをなるべく低くするのがよい。
いたづらに人を増やすとコストがかかる。お客さまから直接話を聞いて、コードを書き、作成したものをお客さまに説明できる人。
このような人、チームを創り上げていきたい。
自組織の方針と違うかもしれないけど、そうしないと会社が潰れる。