「いつでもリリースできることはとても価値があるんだよ」
私が学生のころ、現MIT Sloanのマイケルクスマノ教授を駅まで車で送っているときに聞いた内容。最近になって再び強く感じ始めたのでエントリにした。クスマノ氏はソフトウェアと経済について様々な調査研究をしている。
当時の学生の私に「開発を続けながらも、いつでもリリースできる状態にあるソフトウェアは、そうでないソフトウェアと比較してビジネス面で非常に優れているんだよ」と説明してくださった。最近、アジャイル開発の話を耳にするようになって、再びこの説明を思い出した。リリース時期を柔軟にコントロールできれば、必ずしも開発プロセスは限定されないのだが、アジャイル開発のメリットとして触れられたものは少ないように思う。
いつでもリリースできることは、リリースの時期を早める(あるいは遅くする)ことによって何らかの利益を生む市場において価値がある。他社より先に市場投入して、先行メリットを享受したり、投入時期を遅らせることによって、同時期に投入される予定の他のソフトウェアよりも付加価値の高いものをリリースする等だ。他にも、小さなコストで2つのリリースを1つにまとめることができたり、逆に1回のリリースを2回以上に増やしたりできる場合も同様だ。ソフトウェアの開発期間が市場投入への最大のボトルネックになっている分野では特にその傾向が強まる。また、クラウドのように、ソフトウェアの配布やリリースの負担が比較的小さな分野でもその強みは増すだろう。
全てが揃ってからでないとリリースできないソフトウェアでは、一部を過去のバージョンを使ってリリースできるようにする等の工夫が必要な時期に来ているように思う。「リリース時期の柔軟性」はソフトウェアの品質の1つになりつつあるといえる。
国内では、いつでもリリースできるソフトウェアの分野はまだ限られているが、ご自身の開発ではどうだろうか?リリースをたとえば1, 2週間の単位でコントロールするためには、何が制約になっているだろうか?やろうとすればどのくらいのコストでできるだろうか?そして、それが果たすビジネス上のメリットは何だろうか?