質問: 今までなんちゃってアジャイルみたいな開発はした事はあるのですが、スクラムなどを使用した本当の意味でのアジャイル開発の経験はないです。 「ウォーターフォールは何のメリットもない」というような極端な意見もありますが、実際の所、アジャイルで開発を行うと工数がすごくかかるというような事はないのでしょうか? 感覚値でいいので、ウォーターフォール型と比べた場合の工数の差などを経験から教えて頂ければと思います。そもそもより良いものを作るためにアジャルを採用するので、意味のない命題かもしれませんが・・。 後、アジャイルで開発を受ける場合、一括請負ではなく、SESとして契約していますか? 一括請負の場合、プロトタイピングや変更の頻度、範囲、どこを持って完成とするのかなど、契約書を作るのも大変でしょうし、後々揉めるリスクが結構高いと思います。 SESで押すのは、顧客の理解を得られない事も考えられる為、受注できないリスクもあると思います。 アジャイルでの開発を提案する場合、お客さんを見て、一括請負かSESの提案を切り分けているのか、或いは、SES押しだけで理解を得られそうにないお客さんは売上よりリスクを取ってこちらから除外していくのか。 経験がない中でも上記では後者の方がいいような気がしますが、実際の所、どうなのでしょうか?
回答: こういう工数や契約の話は企業によって異なるので、 あくまで一個人の感想として聞いてください。 > > ウォーターフォール型と比べた場合の工数の差 > > > そう極端な差は出ないと思います。同じ人間が作るからです。 上手い、早い、安い、を期待すると肩透かしを喰います。 開発手法の向く向かないはありますが、一長一短です。 静的言語と動的言語の違いのようにトレードオフです。 それを踏まえた上でも、開発効率に差が出る場合はやはりあります。 アジャイルが早い場合は、早く失敗できることで結果的に成功する場合です。 裏返すと、ウォーターフォールでは 失敗が隠蔽されたまま成長して大失敗につながる場合があり、 それを避けられているなら、平均的に早くなっているはずです。 逆にアジャイルで遅くなる場合は、 「アジャイルだから仕様がない」みたいな感じで、 ナアナア、ダラダラでけじめがなくなり、 失敗(と成功の基準)が曖昧化して拡散する場合です。 他にも細かく言うといくらでも要因はあるでしょうが、 開発手法の成否は日本的な企業風土と深くつながっており、 無責任体質の克服が最も重要だし、最も難しいと考えております。 > > SES押しだけで理解を得られそうにないお客さんは売上よりリスクを取ってこちらから除外していく > > (略)方がいいような気がしますが、実際の所、どうなのでしょうか? > > > アジャイルには内製が一番向いていますが、 次善としてSESや準委任の契約形態も向くでしょう。 ただし、これも一括よりSESの選択で一方的に有利になったりせず、 ノーリスクを期待されていると、やはり肩透かしを喰らうと思います。 > > SESで押すのは、顧客の理解を得られない事も考えられる為、受注できないリスクもある > > > なぜかと言いますと、上で質問者の方も感じておられるように、 受注側だけでなく発注側の都合もあるからです。 たしかに一括だとリスクを負いますが、 SESは顧客側がリスクを負うわけで、すると単価が下がり、 また受注できないリスク、営業コストに転化します。 逆に、一括はリスクは負うが、その責任にコミットすることで、 単価が高いとか受注しやすいといったリスクプレミアムを得ています。 自由市場で自由競争をしているのであれば、 無条件にリスクを押しつけられないのです。 あと個人的に理想だと思っているわけでもないのですが、 現実に妥協した案というのもあるので一応ご紹介します。 たとえば、いわゆる五月雨式ウォーターフォールのように 折衷的な手法を取るとか。メリットとデメリットも半々。 それと近いですが、契約はウォータフォールでも、 内部の開発は実質的にアジャイルにするとか。 (顧客を巻き込まないので不完全ですが) SESの場合でも顧客側のリスクに配慮して 1~3ヶ月の短期契約を繰り返す形にするとか。 (短期終了の可能性という形で、受注側もリスクを少し負う) 業務であれば妥協は避けられないので、 「こうすれば良いはずなのに」といった固定観念は捨て、 暗中模索するしかないと思います。