Agile Software Product Line を考える
SPLASH2010 のバンケットのテーブルで、Software Product Line の研究で有名なPOSTECH(浦項工科大学)のKYO-CHUL KANG 教授とご一緒させて頂きました。
先生と話がはずみ、ぼくはアジャイルのコミュニティーにいて、という話をして、Agile と Software Product Line について、食後のブレインストーミングをさせていただいた。同じテーブルに、早稲田の鷲崎先生、デンソーの岩井さん、がこの議論に加わり、カミナプキン上に、そのコンセプトを書き出したのが、これです。
「まずは、Agile Product Line というものがあるとしたら、What is it ? であり、What is it for ? というところから考えなくてはならない」
という方針のもとに、
- AgileもSoftware Product Line(SPL)も、Business Valueが目的(Goal)である。ただし、そのアプローチが違う。(3つの○。上位目的がBusiness Valueで、右がAgile、左がSPL)
- 経済的観点から、SPLはAssetベース。AgileはFlowベース。SPLはB/S志向であり、AgileはP/L、さらにはキャッシュフローベース。
- SPLはProduct Familyのドメイン知識をAssetとして蓄え、その再利用によって効果的な製品開発を行う。キーとなるソフトウェア品質は「再利用性」。
- Agileはワンショットのプロジェクトにおいて、フローベースでROIを最適化する。1プロジェクト毎のコンテキスト重視。キーとなるソフトウェア品質は「変更可能性」。
- 両者を融合するには、ワンショットのプロジェクトをAgileで、プロジェクト終了時に、得たknowledgeのアセット化により、SPLへフィードバックする。
- これにより、企業ワイドで、再利用資産を使うことにより、さらなる製品のAgility(早期の市場投入)ができるようになる。
という概要を書き出しました。そして、
- Agile Software Product Line とは、個々のプロジェクトをAgileで、そこから得たknowledgeを企業ワイドに資産として蓄えることで、特定のドメインについての製品開発全体において、顧客ニーズへのすばやい対応、対コスト効果の高い開発をはかる企業活動である。
と定義してはどうだろう。(おそらくもうすでにある概念だと思うが、あえてググらずに、そのテーブルの議論をまとめた)
さて、この領域に関心がある人はどれくらいいるだろうか?まだまだ、アジアから、新しい活動が出ないといけない、そう思っています。また、KANG先生は日本においての松本吉弘先生の80年代のSoftware Factoryがいかに衝撃的であったか、そして、それがSPLに与えた影響について話しておられました。このAgile Software Product Line ですが、新しいコンセプトとして、研究・実践して行きたい人は、何かやって行きましょう(とりあえずコメントください)。
議論に参加してもらった、鷲崎さん、岩井さん、ありがとうございました!
こういった議論は、突発的に起こるもので、その場で書き留めるには、やはり紙ナプキンとペン、というのが一番いいようです。ボールペンで書くと破れやすいのが注意ですね。写真は、ボールペンで書いた後で、蛍光ペンで少し装飾してモノクロにしました。