エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

時間と方法の関係

新規開発が始まったとき、工数を見積もります。正確には、各々の担当者に見積もりを出してもらいます。例えば「設計:3週間、コーディング:1週間、テスト:2週間」。ほんとは、もう少し細かいのですが。
しばらくたって、動作も安定してから、機能を追加することになりました。小さな変更なので、週単位の工数には、なりません。

「設計:3日、コーディング:1日、テスト:2日」。

すごく違和感。なにをするかわかっているのに、コードを書くのは3日後。この「設計」という工程、実際には「設計書の清書」です。週単位の工程であれば、一つ一つの工程が大きくて、次の工程のために清書された資料を用意するのは、意味のあることですが、小さな変更では、変更を決めたときにはおおよその設計は終わっているはず。すぐにコードにしてテストして、動きを確かめるのが有用で、それから設計書の清書をしたとしても遅くはないでしょう。テストがNGになる可能性を考えればなおのこと。

時間をかける作業のための方法を、短時間でできる作業に持ち込んだのが原因のようです。道具が一つしかない現状は、かなり問題な模様。というか、危険かも。