ウォーターフォールの原典とされる?Royceさんの論文を読む会に参加した
こちらに参加しました。
アーキ部#9 古典探訪 Warterfall
https://architect-club.connpass.com/event/212127/
MANAGING THE DEVELOPMENT OF LARGE SOFTWARE SYSTEMSという論文を読む会。
原文は英語だが、DeepLで日本語に翻訳しながら読み進める感じでした。
詳しい内容は原文をあたってもらうとして、自分の感想や意外に感じた点をブログに残しておきます。
Royceさんという人とその論文の時代背景
前提として、論文は1970年に出たもの。
Royceさんは自動車・航空宇宙の部品メーカーTRW社のプロジェクトマネージャ。 https://en.wikipedia.org/wiki/Winston_W._Royce
1970年代当時、コンピュータは今より高価だった。
PMBOKなどが話題になるより更に前の時代のようです。
論文ではドキュメントを重要視している
論文を一緒に見ていく過程で印象的だったのはドキュメントを重要視している点。
おそらく、コンピューターが高価な分、イマドキであればすぐ解決できる手法を実践することが難しく、ドキュメントが重要視された
(イメージとしては、簡単にテストコードを実行できない、プログラムを実行できない。コンピュータを使える人数は限られている、などの状況)。
それに加え、作っているものが宇宙関係の複雑な計算を導いたりという設計などだったというのも大きそうです。
現在のto B向けやto C向けのwebサービスやアプリ開発などとは勝手が違いますね。
Royceさんはウォーターフォールの図には批判的で上手くいかないだろうと言っていた
これもまた、全然知らなかったのですが、
「この図のとおりに進めていっても大抵は上手くいかないだろう」というニュアンスで文章が綴られている点です。
えっっ、あのウォーターフォールのフェーズに沿って順番にやっていけば上手く行くんやと思って進めていた俺達は…!
※ここでいう俺達はかなり昔に関わっていたシステム開発にてウォーターフォールをやっていたメンバー(自分含む)
ウォーターフォールのサイクルを2回繰り返して顧客に提供しようと言っていた
少なくとも顧客に提供するまでに2回のサイクルを回すこと。
顧客を巻き込んでレビューをしてもらうことなどが書いてありました。
ここに関しても、自分としては意外でした。
というのも、過去にウォーターフォールをやっていたときの経験だと前工程には戻れない。
「戻る=手戻り=悪」みたいな雰囲気があったからです。
※この感じていた雰囲気は自分がそう感じていただけの可能性もある
原典にあたるのは大事。勝手な思い込みを捨てるきっかけになる
ということで、色々発見がある会でした。
特に、原文をみんなでじっくり読むという機会は貴重だなと思いました。
世の中の情報メディアなどの流量が多く、忙しい雰囲気出して過ごしている日常だとついつい読み飛ばしてしまいそうな部分もしっかり読めたのではないかなと思います。
何より、勝手な思い込みで勘違いしていた部分を学び直せる機会になって良かったです。
普段の仕事など、それを当たり前として実践してすごしていると「俺達は雰囲気でXXをやっている」状態になっていることがあるので、
それを見直すきっかけになりました。
当たり前過ぎますが、原典にあたるというのは大事だなと改めて思いました。
最近はウォーターフォール全然ヤッテナイのですが、勉強になりました!
ウォーターフォール何も分かってなかった#アーキ部
— やんく (@yy_yank) May 3, 2021
ふと、ITa ITbという言葉を思い出して、あれって一般用語なのかなとググったらそうらしい。
— やんく (@yy_yank) May 3, 2021
そして、「作成日:2020/01/29」となっているので、こういうやり方現役なんだなhttps://t.co/QK7c41dt81
「分析フェーズ」でいうと、現代のアーキテクチャ設計とか基本設計に相当します。が、対象領域に科学計算が多かったので、実際はプログラミング可能な数式に落とすとか、アルゴリズムを選択・設計するとか、が主なタスクだったのかな? と思います。
— :craftsman/kawasima (@kawasima) May 3, 2021
現場からは以上です!
参考
- ウォーターフォールを世に広めたとされる米軍がアジャイルに移行中という話
https://qiita.com/YankeeDeltaBravo225/items/9f08c0eccd48f00b9f9e - WATERFALL Model 再考
http://www.jaist.ac.jp/~ochimizu/treasure/WaterfallModel.pdf - ANAGING THE DEVELOPMENT OF LARGE SOFTWARE SYSTEMS
原文(南カリフォルニア大学のサーバーにあったpdfリンク)
http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf
0 件のコメント:
コメントを投稿