「有能な人がコードを書くべき」「意志決定はできるだけ先延ばし」「契約を変えるのは難しい」アジャイルの専門家の答え - Publickey
質問 日本はウォーターフォールが盛んな状況ですが、それは顧客が昔からそうした契約の発注を続けていることにも一因があると思っています。自分の顧客にもウォーターフォール型の開発を望んでいるところが多くあります。こうした顧客にアジャイルを理解してもらうためのアドバイスをいただきたい。
Guo氏 これはアジャイルに関してよくある課題です。顧客からすれば、これだけ払うのでその対価としてこれだけやってもらいたい、この料金を支払えばこの機能が手に入る、という契約は、なかなか変えにくいものがあります。
受託だとこの「いくらくらいでできる?」という引き合いは必ず言われる。発注側としても、予算を確保してその中で発注するしかないので、まずは総額でいくらかかるのか、というのが大事になってしまう。請けるほうも、ある程度の要求仕様を固めて、じゃあ全工程の見積もりでこのくらいですというかたち。
でもどのプロジェクトもそうだけど、設計段階で仕様Fixしても最後までその仕様がFixしたままなんてことは無かった。小さい仕様変更ならそのままやるし、大きな仕様変更ならまた追加請求だのなんだのという話になる。
ウォーターフォールは一見、発注側も請け側も価格は最初に決まるし、仕様もほぼ先に決まるし全体が見えてるから分かりやすい、やりやすいと思ってしまうのが間違い。
でもこの商習慣は変わらないだろうなぁ...。発注側に予算という枠がある場合は。
可能性があるのは、顧客にビジネスのプレッシャーがかかっているときです。マーケティングや事業開発部門の人たちは要件が変わりやすいものです。「開発中にどれだけ要件の変化に対応しましょうか?」といった質問から始めるのがいいのではないでしょうか。
弾力的な予算確保が発注側にできそうな場合は、たしかに可能性はあるかも。ただ商習慣的にこういうことができるケースがどれくらいあるんだろう。
Guo氏 多くの組織、企業文化の中ではコードを書くの仕事はいちばん底辺で、そこからマネージャになっていくことがキャリアを上っていくことになっています。しかし、これは間違いだと思います。
コードを書くというのは、例えて言えば地面にタイヤが接地するようなもので、有能な人がコードを書くべきです。賢い人がマネージャでそうではない人がコードを書く、というのは企業文化における課題だと思います。
SIerの課題かも。コードが書ける人でも、年数が経つと人的コストからコードを書かせてもらえなくなるっていう。
もちろん、若手や後輩に経験を積ませたり教育をしたりするためにコーディングさせるということも必要だろうけど、キャリアパスが画一的すぎていちばん脂の乗った時期にマネージメントのみというのも開発の生産性を下げてる面もあると思う。
本人が望んで、かつ能力があるのならコーディングや現場の仕事ができるようにすべきだよな。
コメント