この業界入って1番最初のBtoBのウォーターフォール(以下WF)で
要件定義とか基本設計で10ヶ月とかかかるお仕事してて。

自分は手を動かす開発したいって理由でそのあとソシャゲーいってアジャイル的な開発(以下AG)をして、やっぱりWFってやっぱり良さがわからん…1番最初の時にお客さんに「自分らは設計書とか持ってこられてもわからん」って言われたのもあって、絶対そっちの業界戻りたくないなあ、とそこやめてからずっと思ってました。
(いやでもシステム関係ない人が設計書みて、はい合意しましたお金出しますってそりゃあならんでしょ、とは思う)

4Qでソフトウェア工学という授業を取っていて、は今回外部講師の某社方のお話の日でした。

その中で、スパコンの大規模開発の話で、途中WF開発からアジャイルやったけどWFに戻った。という話がありました。

戻した理由の一つに
「ソースコードの賞味期限が切れた?」
ってパワポの記述があったので、何をもって賞味期限が切れたとするの?
と疑問を持ちました。

仕様変更で最初に実装したものを消さず古いコードが残ってるから?
と予想していたのですが、実際は違いました。

回答としては
ソースコードは太ります。
太る、とはAという関数がもともとあり、B’という機能追加においてAの関数を使えばいいのにA’という関数を作ってしまったり、
またはA,B,Cの関数を使えばいいのに、それをまとめたA’’という新しい関数を作ってしまったり。
その後、その関数を修正なりなんなりするときに、あっちも直してこっちも直してってなってしまった。
それを賞味期限が切れた、といった。

とのことでした。

たしかにWFだと詳細設計で関数まとめるから、この関数使ってたよね、ってなるよなあ、と。

確かに今わたしがやってる開発はおそらくめちゃくちゃ大きい!ってわけじゃないので、これやりたいならあの関数使うって自分の頭にほとんどあるから重複した関数をかくことはそうそうないし、誰かしら知ってるからレビューで指摘されるけど、何十人で開発してるような規模だと、そうなるんだろうなーって。

と、この授業とったの失敗だったかなーって思ってたけど、
WFのこの話を聞いてめちゃくちゃなるほど〜と思いあまりの衝撃でブログを更新しました。



あれ、でもあとからよく考えたらそういう話じゃないのかな。
オブジェクト思考とかの話なのかな。
よくわかんなくなった〜だれか〜