シリーズ化してしまいつつある
情報処理における学会と産業界というのは、かなり距離がある。
したがって、2つの間に関連性がありながら、
学界的に「それは違う」と排除してしまい、
産業界的にも、学界的にも、豊かな研究分野・実践を
踏みにじってしまうことがある。
今日は、アカデミックで信じられているモデルと、
最近のソフト開発のモデルから、アジャイルの必要性までを書いてみる
昨日書いたとおり、
~ トヨタ カンバン方式に学ぶ ~
ITシステム開発・管理への適用と実践技法
2. リーン・ソフトウェア開発
http://www.metabolics.co.jp/SoftwareProcess/SRC040903/LSD02.pdf
を参考にします
(以下、このPDFを、「参考資料」として
「参考資料のXシート目」という書き方をします。シートの下の番号をさします)
■大学では、下流工程でバグが発見されるほど、
修正工数が大きいというモデルを使っている。
これは、スパイラルモデルのバリー・ベーム(Barry Boehm)が提唱したモデル。
参考資料の44シート目に、
「ソフトウェアが出荷されてしまってから問題を
見つけて直すと, 初期設計で行うのに較べて
100倍のコストがかかる (B. Boehm, 1987)」
と書かれていますけど、まさに、このモデルを基にしています。
ということは、初期工程で要求を出し切らなければなりません。
また、スパイラルモデルを採用して、できるだけ合意をとって、
安全に開発を進めていくという考え方になります。
つまり、できるだけ、手戻りをさけるわけです。
ウォーターフォールがこの典型例です。
■大学のモデルの前提
このモデルには、実は前提があります。
・下流工程の問題は、上流で(適切なコストを支払えば)見つけられる
・開発中に環境が変わらない
もし、環境が大幅に変わってしまったら、要求段階で決めたことが
実現できなくなるかもしれないので
・開発時に結果が見通せる
要求時点で、どうなるか判らないものを、要求固めろといわれても・・
COBOLのような開発では、できることが決まっていたし、閉じた世界なので、
開発環境が大幅に変わることはありませんでした。
なので、このモデルを採用しても、問題なかったのでした。
このような状態であれば、開発目標を決めて、そこへ向かっていくという
参考資料 40シート目の「点ベース開発」も可能です。
■今、現実は・・・
・下流工程の問題は、上流で(適切なコストを支払えば)見つけられる
→いや、インターネットの混み具合とか、はっきりしないし・・
ハード的なものは、よくわからない
なので、インターネットがらみのモノは、作ってみないとわからない
ところが正直ある。
・開発中に環境が変わらない
いや、WebAPIとかは、先方の都合でよく変わる
オープンソースを使うと、バージョンによって、結構変わるよね
・開発時に結果が見通せる
ってことで、上2つの理由により、結果が見通せない。
このような場合、作ってみないとわからないのだから、要求仕様ですべてを
考えるのは無理で、リリース直前に決めたほうがいいことになる。
そして、リリース後も、環境の変化に追随しないといけない。
ってことで、目標を決めることができず、目標は変化させないといけない。
変化に対応できるように、生物界の多様性のように、多様なものをとりあえず
作っておき、そのときにあったものを使うということになる。
これが、参考資料の41シート目セットベース開発
■実は、Boehmは、このあと、意見が変わっている
バリー・ベームとリチャード・ターナは、このあと、「リスク分析手法」を提案し、
アジャイルでいくか、ウォーターフォールでいくかの判断について書いている
(たしか、
Balancing Agility and Disciplineだったかな
日本語訳はたしか、「アジャイルと規律」だとおもう)
で、アメリカでは、教科書が変わっている。
Roger S. PressmanのSoftware Engineering: A Practitioner's Approachでは、
(昔からの)ソフトウェアは死んだとして、アジャイル話がかなり書いてあるんだけど、
日本の大学が参考書として使っているのは、この本の古いバージョンの翻訳版で、
西先生とかが訳している
実践ソフトウェアエンジニアリング-ソフトウェアプロフェッショナルのための基本知識
だとおもった。こっちには、そんなことが出ていない。
つまり、ソフトウェアを取り巻く環境が古くて、それって、アメリカでは
修正がかかってるんだけど、大学の先生は、今も使い続けちゃってるんですねえ・・・
そうすると、「要求はしっかり決めましょう」とか「MDA」みたいなことが
できると思ってしまうわけです。
・・・かなり、差があるでしょ?
ただ、参考資料の44シートの話は、こういう風な流れにはなっていない。
つまり、もう一つのお話がのこっているんだけど、それについては、またこんど。