「人月の神話」からの引用: 実装者の高くなり過ぎた見積もりに対してアーキテクトのできること

「人月の神話」より。「相手を尊重する」のがポイントだと思う。

見積もりが高くなり過ぎてしまう場合、アーキテクトの出せる答えは二つである。すなわち、デザインを切り詰めるか、インプリメンテーションを安く抑える方法をあえて提案するかである。後者は、本来感情的対立を生むやり方である。アーキテクトが、製作者の仕事のやり方に今まさに挑戦しているのである。これがうまくいくためには、アーキテクトは次のことをしなければならない。

  • インプリメンテーションに関しては実現者側に創意工夫および創造の責任があることを、つねに忘れないようにする。したがって、アーキテクトがすべきなのは、提案であって指示ではない。
  • 自分が指定する仕様に対するインプリメンテーションの実現方法を一つ、いつでも提案できるようにしておく。また、目標を同様に満たす別の方法も受け入れられるようにしておく。
  • こうした提案は、穏やかに非公式に行う。
  • 提案された改善点は、率先して受け入れることができるようにする。

通常、実現者はアーキテクチャを変更するという提案で対抗してくる。そしてそれが正しいことがよくあるのだ。大したことないように思える機能でも、インプリメンテーションの段階になると、予想外にコストが高くつくこともある。

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))