| « 2010年2月13日 | 2010年2月28日の投稿 |
2010年3月14日 » |
さて、たまに日曜に時間が出来たら、急に semat のことばかり書いていますが。。。。この件については、現在、Ivar らのビジョンステートメントが出たばかりです。
一方、すでに、最初の批判記事も出ています。これには多くのコメントが付いていますので、ご紹介。題名からしてすごいのですが、
"Against SEMAT"
http://catenary.wordpress.com/2009/11/29/against-semat/
批判ポイントは、
「尊敬しているメンバーが含まれているが、Tom DeMarco の視点はどうした。つまり、現場のソフトウェア開発を効果的に行なうには、ソフトウェア工学はポイントを外している。--彼は最近ソフトウェア工学はその時を終えた、という論文を書いている。(平鍋のこれに関する解説とリンクはこちら)」
また、
「言葉だけの流行(fads)が多い、と嘆くが、実際に現在まで基礎となってきたコンセプトは、流行からはじまったものばかりで、それが出た瞬間には、それが単なる流行なのか、本当にうまく行く考えなのか判別が付かないのだ。それに、signatories に入っている人たちだってたくさんの fads を流してきたじゃないか!」
「シンプルな広く受け入れられた基礎をもとにするということだが、いったいどれを?合意は? HOW が全く見えない」
というような批判です。これらは、まぁ、そうかもしれないな、と思います。
そして、この記事のコメントの中には、「オブジェクト指向設計言語、方法論統一(UML/UP)のデジャビューだ。」というものもあります。なるほど。メンバー的にそんな香りもします。
でもね、でも、もうちょっとまちましょうよ。今の段階では、これを批評してもまったく意味がないと思う。それよりも、これだけの重鎮たちが、なんらかのアクションを起こそうとしている、という運気、モチベーションがとても重要だと思う。
これは、彼らの年齢の人たちに、この年齢からまだまだ世界を変えられるという勇気を与えます。10年下のぼくらの年齢の人たちには、今の知見から未来を作るための重要な指針をくれると思います。そして、さらに10年下の年齢の人たちには、まず、こんな人たちがこの30年間で作ってきたソフトウェア工学とはなんだったのか、という学びの機会を与えると思うんです。。。。
スコットアンブラーは、逆に賛成の記事を書いています。(signatoris に入っていますから)
https://www.ibm.com/developerworks/mydeveloperworks/blogs/ambler/entry/semat_vision
「正しい課題意識。正しい人が入っている。そして、なんらかのアウトプットが出るだろう。」
semat は、今年3月に、チューリッヒで会合を持つ予定になっています。そこでどんなものが合意されるだろうか。。。とても楽しみです。
先の記事で、semat の共同署名者のリストを載せました。
Pekka Abrahamsson Scott Ambler Victor Basili Jean Bézivin
Dines Bjorner Barry Boehm Alan W. Brown Alistair Cockburn
Larry Constantine Bill Curtis Donald Firesmith Erich Gamma
Carlo Ghezzi Tom Gilb Ellen Gottesdiener Sam Guckenheimer
David Harel Brian Henderson-Sellers Watts Humphrey Capers Jones
Martin Griss Ivar Jacobson Philippe Kruchten Robert Martin
Stephen Mellor Bertrand Meyer James Odell Meilir Page-Jones
Dieter Rombach Ken Schwaber Alec Sharp Richard Soley
そして、
ソフトウェア開発に身を置く人であれば、この中に知った名前をいくつか発見できるはずです。
と書きました。
このでは、何人かぼくの知っている人を簡単に紹介します。知らなかった人、解説ページをリンクしますので、ぜひ知ってください。「ソフトウェアの歴史」に名を残す仕事をした人たちです。(このリストは時間をみて更新しようと思います。)
- Scott Ambler
『アジャイルモデリング』著者。アジャイルデータ、アジャイルデータベース、モデル駆動アジャイル開発、などのコンセプトで知られる、アジャイル推進者の一人。現在IBM。個人的に何度かお会いしている。が、たぶん顔を覚えてもらってないだろうな。。。 - Victor Basili
GQM アプローチによるプロセス改善。現在はフラウンホーファーらしい。 - Barry Boehm
COCOMO 見積もりモデル、「変更コストは指数関数的に増加する」と言った人。、アジャイル界では書籍『アジャイルと規律』にて、はじめて計画駆動とのバランスと「アジャイルのスイートスポット」を言った人。 - Alistair Cockburn
ソルトレイクに住む、ソフトウェア人類学者。ぼくの先生の一人。ユースケースの造詣が深く、アジャイル宣言の signatories の一人でもあり、Crystal ファミリー方法論を作った。『ユースケース実践ガイド』がお勧め。個人的には、2004年に、ソルトレイクで彼の家に招いてもらった。XPJUGの講演で、東京、大阪・京都に来たこともある。『アジャイルソフトウェア開発』。@TotherAlistair - Larry Constantine
ヨードンとともに、構造化設計から、コヒージョンとカプリング(凝集度と結合度)、という概念を導いた人。現在はユーザエクスペリエンスの立場から、アジャイル開発を見ている人。agile-ux メーリングリストで発言が多い。 - Erich Gamma
Eclipse/IBM Jazz のリード。デザインパターンを書いたGoFの一人。Kent Beck とともに、JUnitを最初に開発。「テスト感染」という言葉。IBMスイス。 - Tom Gilb
Evo という「世界初のアジャイル方法論者」。ぼくのヒーローの1人。現在は Scrum のプロダクトオーナー側の「価値」をどう作るか、を考えている。昨年はじめてコペンハーゲンでお会いし、デミング、PDCA、Systems Engineering の話をしたり、夕食を一緒にできた。息子の Kai Gilb も、コンサルタントとして活躍している。@imtomgilb - David Harel
状態遷移図の開祖。状態遷移図のことを、「ハレル図」っていうことを知っているか?彼は、ユースケースのことを大粒度の状態、とも呼んでいるよ。 - Watts Humphrey
カーネギメロン大学(SEI: Software Engineering Institute)。ソフトウェア品質の父、とも呼ばれる。成熟度モデルCMM, TSP, PSPの祖。 - Ivar Jacobson
UMLを作った3アミーゴの1人。OOSE開発方法論。ユースケースの開祖。「ソフトウェアプロセスの話はもうたくさんだ!」と、RUPを離れて、Essential UP をプラクティスベースで提供。何度もお会いして、一方的に会話を仕掛けているが向こうはぼくを認識してくれていないだろうな。 - Philippe Kruchten
クルーシュテン博士。RUPの祖。アジャイルを工学的にバランスよく捉えている人の一人。先ごろ来日講演した講演のすばらしい資料が以下。(アジャイルは単に廃れつつある流行語なのか) - Robert Martin
90年代 C++ Report 編集長。ボブ叔父さん。受け入れテストツール、Fitnesse 開発者。ソフトウェア設計原則 SOLID。『オブジェクト指向開発の奥義』 (よい設計とは何か?という問いの現代的な答えを知りたい人は、必ず買って読むこと)。個人的には2003年に何度か食事をして、そういえば日本に彼の教材を輸入しようと検討したこともある。@unclebobmartin - Stephen Mellor
シュレイヤ・メラー法。実行可能UMLによって、アジャイル宣言の一人。MDAの旗手。 - Bertrand Meyer
大著『オブジェクト指向入門』(厚くなった第二版はとても重くて。。。)。契約による設計(Design by Contract)。オブジェクト指向プログラミング言語、Eiffelを設計した。ぼくのヒーローの一人。個人的には C++ ではまっていたときに、Effel の美しさにふれ、1992年来日時にサインをもらった。 - Dieter Rombach
ロンバック博士。現在フラウンホーファーのエグゼキュティブディレクタ。個人的には、昨年フラウンホーファーにADLの視察に行ったときに話を聞くことがあり、Experimental Software Engineering という考え方に触れて、産業界と学会を繋ぐ鍵だ、と思った。この分野では、Victor Basili 博士との共著も多いのですね。 - Ken Schwaber
アジャイル方法論Scrumの父。個人的には、Agile2004かな、彼のScrumのチュートリアルを受けました。 - Richard Soley
OMGの会長。個人的には、一度UMLフォーラム東京のときに、昼食を、ヤコブソンと一緒にさせてもらったことがある。また、ETロボコン(その時はUMLロボコン)の表彰式で、表彰授与役をやってもらったことがあります。
さて、semat に戻りますが、僕自身は、イギリスにデンマークでのAgile09カンファレンスに行ったときに、Tom Gilb からこの話を聞いて興味を持ち、サイトを読んで自身でサポーターとして署名しました。
今後に注目するとともに、何か協力をしたいものです。まずは、全文日本語訳から協力しようか。。。。
semat.org というサイトで始まっている、「ソフトウェア工学の再建」とも言うべき復興運動をご存知ですか。現在のソフトウェア工学が、あまりにもおそまつであることを省みて、再度、基礎からソフトウェア工学を積み上げようではないか、という動きです。
そこに署名している人たち(signatories)の顔ぶれがすごい。
Pekka Abrahamsson Scott Ambler Victor Basili Jean Bézivin
Dines Bjorner Barry Boehm Alan W. Brown Alistair Cockburn
Larry Constantine Bill Curtis Donald Firesmith Erich Gamma
Carlo Ghezzi Tom Gilb Ellen Gottesdiener Sam Guckenheimer
David Harel Brian Henderson-Sellers Watts Humphrey Capers Jones
Martin Griss Ivar Jacobson Philippe Kruchten Robert Martin
Stephen Mellor Bertrand Meyer James Odell Meilir Page-Jones
Dieter Rombach Ken Schwaber Alec Sharp Richard Soley
ソフトウェア開発に身を置く人であれば、この中に知った名前をいくつか発見できるはずです。
さて、先週、Ivar Jacobson, Bertrand Meyer, Richard Soleyの3者の連名で、SEMATのビジョンステートメントが発表されたので、それを要約して紹介したいと思います。原著は、こちらを参照してください。(http://www.semat.org/pub/Main/WebHome/SEMAT-vision.pdf)
題名は、
"Software Engineering Method and Theory -- A Vision Statement"
です。6章と付録で構成されています。章立ては以下の通り。
- Purposes and scope(目的と範囲)
- The vision(ビジョン)
- The kernel(カーネル)
- The goals(ゴール)
- The principles(原則)
- One-year milestones(1年のマイルストン)
さて、1つずつ、簡単に紹介していきます。まず、1. Purpose and Scope で、現在のソフトウェア工学についての嘆きから始まり、行動を求めています(Call for Action)。
今日のソフトウェア工学は未成熟なプラクティス(immature practices)によって重大に阻害されて(gravely hampered)いる。
- 言葉の流行が多く、工学というよりファッション業界のようだ。
- 広く受け入れられ、確立された、理論的基礎がない。
- 方法論が乱立している。
- 産業界と学会のギャップが大きい。
うんうん、とうなづいてしまいませんか?実に辛口に、しかも、現実をうまく描写していると思う。ファッション業界のようだ、というのは言いえて妙、というか、すごくマーケティング的にエッジが効いたあおり方だなぁ、と感心します。
さて、そこでどうする。。。。
確かな理論と、証明された原則(principles)とベストプラクティス(best practices)の上にソフトウェア工学を再構築(refound)したい、そのプロセスを支援したい。そのプロセスとは、
- 広く合意された要素を特定用途に拡張できるような論理カーネルを含み、
- 「技術」と「人」の問題両方を扱い、
- 産業界、学会、研究者そして、ユーザから支援され、
- 変化する要求と技術に追随できるよう拡張できる
ものである。
なるほど。この「プロセスを支援」しするのが、SEMAT がやりたいことなのだ。そして、そのプロセスの特徴を箇条書きしている。それらは、とってもとっても正しいことをシンプルに言っている。技術と人の両方、というのはさすがヤコブソン氏が、最近のアジャイル動向の中にいて、彼自身もUPをアジャイル風に再構成していることを反映している。そして、カーネルを小さく保ち、各用途に(ドメイン方向に)拡張できる、というのは、UMLを彷彿させる考え方で、これも、ヤコブソン氏やソーリー氏がやってきたことの成功の自然な延長だろう。
そして、2. The vision に入る。
ビジョンは、2つ。
- この文書の以下の章に書かれたすべてのゴールを満たすこと。
- 人々が現在や未来のプラクティス、パターン、メソッドを記述し、それらを「組み合わせ」「模倣」「応用」「比較」「評価」「計測」「教育」「研究」できるような、そんなプラットフォーム(カーネル)を作る。
うん。これもよさそう。活動のプラットホームを作る、ということで、これが、確かに、産業界と学会、現場を結ぶ鍵になるだろう。それから、「ファッション業界のようだ」と言われないような、感性に拠らない比較ができるようになる。さらに、現場からの賛同が得られれば、ソフトウェア開発活動のデータを取得したり、プラクティスを紹介しあえたり、できるようになる。
そして、具体的なカーネルのイメージ 3. The Kernel に。ここには、この文書の中で唯一の図が出てくる。その図には、"The Semat Diamond"という名前が付いている。
- カーネル:ユニバーサルなカーネル言語(図1 の Level 1)
- プラクティスとパターン:カーネル言語によって定義される(Level 2)
- メソッド:プラクティスとパターンの組み合わせによて定義される(Level 3)
なんとなく、イメージが湧いてきた。この後、この文書は、
4. The goals
5. The principles
6. One-year milestones
付録
と続く。今日はここまで。全体で20pages の pdf 文書で、読みやすいので、ぜひ、原文を読んでみてください。
| « 2010年2月13日 | 2010年2月28日の投稿 |
2010年3月14日 » |

顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
悩んだときの、自己啓発書の触れ方
考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
なんて素敵にフェイスブック
部下を叱る2つのポイント
第6回 幸せの創造こそ、ビジネスの使命