2010年2月3日水曜日

[37sugnals] 見積りとは約束ではなく推測なのである

(原文: It's not a promise, it's a guess

「いつカタが付くんだ?」というのは理に適った問いであり、我々ソフトウェア開発者としては、経験と分析に基づいた最良の答えをひねり出すよう努めるべきだ。だが、人々にその答えを厳正なる約束とみなされるのは避けるべきだ。

諸君が見積もりというものを推測ではなく約束だとみなしてしまうと、諸君は自らをその仕事に縛り付けることになる。もし諸君が締め切りを守れなかった場合、諸君は落伍者となる。誰も落伍者などにはなりたくないからそれを避けるため、徹夜仕事といったリスキーな行動に走るのもやむをえないと考えるようになったり、ボロボロもしくはきちんとテストしていない粗悪なコードをリポジトリにチェックインするといった行動をとるようになってしまう。

一度や二度ならば、がむしゃらに頑張って見積書に書いた約束を守るという事も出来ようが、結局のところ長続きしない。ソフトウェア開発と言うものは本質的に予測不可能なものなのだ。あまりにも多変量的であり、氷山の一角しか見えないものなのだ。

だが、もし諸君が見積もりというものを「仕事に取り掛かる前に知り得た限られた情報をもとにした最良の推測」と考えることが出来れば、諸君は組織変更によって事に対処したり、締切という苦役の輪廻を打破することが出来るようになる。作業は共同作業となり、新たなる発見についても関係者間で情報共有出来るようになる。

新規に設計されたフィーチャーがあって、盛り込むにはある種の根本的なインフラ変更が必要で、そのためには見積もりでは一日で済んでいたものに更に二日を要すると後に判明したら諸君はどうする? 多分、考えるまでもないことなのだ。関係者にこう聞けば良い、一日で済むはずが三日になるけどそれでもそのフィーチャーにこだわりたいの?と。インフラ変更なしで済むように単純化する方法はないもんかね?と聞くという手もある。

これこそが見積もりというものの持つ真の価値である。すなわち、妥協点を探るための対話の場を設けざるをえないという状況を作り出してくれるのだ。自縄自縛するためのものではない。


訳者コメント: DHH の徹夜嫌いは筋金入りなようで、過去にも関連記事として
[37signals] これは問題だと認めることから始めよう
というのがあったりする。仕事中毒が結局はリスクとなるというのは誰もが認めるところだけど「誰も落伍者になどなりたくない」という DHH の言葉通り、開発者の大半はボロボロになりながらも歯を食いしばって前進(足踏み?)する。このマゾ的輪廻を断ち切るのに私は18年を要した。我ながら頭悪過ぎである。

0 件のコメント:

コメントを投稿