ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

「アジャイルがダメだと思う7つの理由」と「ソフトウェア工学は失敗している」は同じ次元の釣り?

最近、この2つの記事が話題なんですってね


アジャイルがダメだと思う7つの理由
http://arclamp.hatenablog.com/entry/2013/03/21/233012


と


ソフトウェア工学は失敗している
http://d.hatena.ne.jp/nowokay/20130322#1363969460


だけどこれ、同じ次元で議論している。

製造業に直すとわかりやすい

  ベルトコンベヤー(=ウォーターフォール:流れ作業)と
  セル生産方式(=アジャイル)

どっちがいい?っていう議論に見える。

  セル生産方式が増えてきた=ベルトコンベヤーは間違えている、失敗している?
  ベルトコンベヤーはいまだに健在=セル生産方式はだめ?

変な議論だよね・・・

セル生産方式の工場も、ベルトコンベヤーの工場も、どっちもあるわけだ。
ケースバイケースで。


釣りなのかな?




ちょっとコメント
まず、「ソフトウェア工学は失敗している」のほう。
失敗したものを、ソフトウェア工学に分類していないか?

ソフトウェア工学で、
   XMLを提唱しただろうか?
   CORBAも提唱した?
いや、ペーパー探せば、出ては来るだろうけど、ソフトウェア工学の主流の人たちの
話では、ない気がする。ソフトウェア工学は、いまだに抽象論が多い。

日本のソフトウェア工学は・・

 あ~、形式仕様、みんな好きだよねえ。。。(自分も嫌いじゃないけど)
 あと、最近は、要求工学の一派が大きな勢力を持っていて、そこでは形態素解析するのが流行り?
 あとは、鷲崎先生のところのパターンとか・・
 西先生のところのテストとか・・
 野中先生(郁次郎先生じゃないよ!東洋大の野中誠先生)のところのメトリクスとか

 ちょっと前はオブジェクト指向、MDAとかも流行ってたけど、やっぱ、最近の流れは、こうじゃない?
 (失礼、松浦先生のところは、MDAなのかな?ちがうの?)


 実務的にカネになりそうな点として
  モデル(とくにAstah*)にきょうみしんしん
  SysMLも、おもしろくなりそう
  ISO26262がらみで一稼ぎできそうなんで、
    カネに目ざといIPAは形式仕様をいいだしているけど、
    平鍋さんは、自分にも関係する(UMLも入る)のに、まだ気づいてないかも?

 ってかんじじゃないかなあ

 少なくとも日本では、XML使いました、アジャイルやりました等の「やりました」パターンは、フルペーパーとしては認められないので(情報処理学会のデジタルプラクティスなら、いけるかも?)、そのようなものが、主流になることはない。

 ソフトウェア工学的には抽象論を実務に落とす部分が大事なんだけど、その辺はフルペーパーにしにくいから、あんまりやってないんじゃないかな(富士通(研究所?)の山本さんとかは、ペーパーでてたっけ?IEEEで?)。さっきのブログの議論に出ている失敗、成功は、具体論の話が多いけど、ソフトウェア工学で大事なのは、ソフトウェア工学の抽象的な議論と制約から、どのような具体的な実装に展開するかっていうことで、その成果物であるCORBAかRESTが「流行るか」っていうことは、あまり重要じゃないというか、ソフトウェア工学の分野じゃない(マーケティングや技術経営の問題)。




ソフトウェア工学の重要な流れをちょっと整理しておくと、

ソフトウェア工学が出たころは、(いつだっけ、ほら、あの会議だよ、名前でてこない・・・1960年代だった気が・・)要求は明確で、単純だったわけ。
 だから、生産性を向上するには
   単一工程にして
   大規模にして
   属人性を排除して
   画一教育で人材を育てる
 っていう規模の経済の追求が求められた。これに向いていたのがウォーターフォール。

 でも、コンピューターの進化によって、いろんなことができるようになってくると、
 要求が高度化し、要求工学が発展してきた。
 同時に、意味的に分業して、インターフェースを疎にすることを考えた。
 これが、オブジェクト指向

 しかし、さらにコンピューターが進化し、要望単純から複雑に変わり、
グーグルスピードや爆速がビジネスで求められるようになると、

 単一工程にして無駄をなくし、大規模化すると、急に変化できないから、
(恐竜って、ねずみより、小回り、きかなそうでしょ)
一人の人を多能工化して、いろんな変化に対応できる、セル生産方式じゃなくって
アジャイルに変わってきた

 とくに、ある程度無駄とわかっていながらも、いろいろな可能性に対応して
おいたほうが、あるものに賭けるよりも、変化に対応しやすいので、
そのような開発=セットベース開発が行われるようになってきた。
→いまここ




つまり、ソフトウェア工学は、扱う対象がソフトウェアとビジネスの進化によって変わってきていて、

単純+大規模  ウォーターフォール(WF)・構造化手法
ちょっと複雑  WF+インクリメンタル、スパイラル:オブジェクト指向
複雑+爆速   アジャイルが有望?デザイン思考も?

っていう具合になってきている。

「アジャイルがダメだと思う7つの理由」は、「単純」、「ちょっと複雑」な社会環境に対して、アジャイル手法を適用した場合の批判であって、たしかに、そういう適用の仕方だと、そうなんだけど、そ~いう使い方は、しないでよ(^^;)ってなかんじかな・・





ソフトウェア工学は失敗だったという論評について
http://togetter.com/li/476810

の西先生の議論は、私の今述べた考えと同じかな?・・
「正統な進化形」というのは、私は上記の進化と捉えている。
西先生と同じかどうかは?

ちなみに、この議論は、まだ発展途上で、カオス状態のシステム開発というのは、
まだ理論が出ていない。
アジャイルでも、カオスになったら・・・ど~なんでしょ~ね~??
(GAかなあ・・・って踏んでるんだけど・・)




で、ちょっと気になったのは、ソフトウェア工学の紹介として、

ソフトウェア工学―理論と実践
http://www.amazon.co.jp/exec/obidos/ASIN/4894713683

が挙がっていた事。

この本、誤訳多い。
たとえば、成果物が人工物になっていたり・・・
(あなたの仕事で、成果物っていうことを人工物に脳内変換して、他人に言ったら
 どうなるか想像して・・・ね、通じないでしょ。そのくらいの難しさなのよ・・)

どっちかというと、この本は、先生がざっと見て、
「あ、これも話さなきゃいけないな」
って気づくテキストっぽい気がする。
初心者には、誤訳で混乱するので、おすすめしない。

玉井先生(現在は法政大)のは・・・
ごめん、コメントは差し控えます。はい。
なんかいうと、やばそうなので・・

ソフトウェア工学の入門書としては、プレスマンの最新?版

Software Engineering: A Practitioner's Approach, 7th International edition
http://www.amazon.com/Software-Engineering-Practitioners-Approach-International/dp/0071267824

がいい。そこに、「ソフトウェアは死んだ」だったっけかな?てなかんじで、
「ソフトウェア工学は失敗している」と同じような議論をしたうえで、
いろいろなアジャイルのカタチが紹介されている(日本ではあまり紹介されて
いないようなアジャイル手法も!)

だからねえ、この本を日本語に訳してもらいたいわけよ。

今、西先生の訳した、昔の、第6版が出ていて、
これを日本の学生が学ぶので、弊害が起きているわけだ(これには、アジャイルがでていないと思った)。

西先生、日本のソフトウェア工学のためにも、訳してくださいです。はい。
西先生が訳さないなら、平鍋さん、酒匂さんでもいいけど・・