ソフトウェア・プロセスとは

SEIでは、ソフトウェアの開発組織そのものを「プロセス」と呼んでいます。元来プロセスとは、何らかの投入物を受け入れて、それを加工したり形を変えたりして付加価値を付けて出力する行為、或いはそのような「もの」や「しくみ」を指します。「組織」も顧客の注文を受けて製品を渡す「しくみ」ということで「プロセス」と呼ばれるのです。何年か前に流行した組織の「リエンジニアリング」も正式には「BPR(Business Process Re-engineering)」で、“プロセス”という言葉が企業の「組織」に対して使われています。

ソフトウェア開発の世界では、組織の他に「個人」に対しても「プロセス」という言葉を使うことがあります。つまり、プログラムの開発行為そのものが、「知識や条件を入力し、求められる結果を導出するプログラムを出力する」プロセスなのです。他の作業と違って、明らかにプロセスという概念に当てはまる部分が多いのです。

SEIは、このようなソフトウェアのプロセスのレベルを5段階に設定し、それぞれの段階を着実に登っていくことを提唱しているのです。というより、組織のレベルを上げるための、具体的で効果的な取り組みのステップを提案しているのです。

つまり、ソフトウェアの開発組織において、約束の期日を外し、予算をオーバーし、要求されている機能を実現できないのは、個人のスキルの問題というだけでなく、むしろプロセス(組織)に問題があるという考え方です。プロセスのレベルが「初期のレベル」にある限り、「改善」に関する殆どの取り組みは成功しないのです。とにかくレベルを「2」まで上げないと、標準化も進められないし、新しい設計手法にも取り組めないのです。

実際、そこで提案されている「Activity」は、無駄なく、実に合理的に考えられています。私も1993年から、ここで提案されている「Activity」をコンサルティングに取り入れてきましたが、好ましい結果が確実に現れています。もちろん、ちょっと噛ったぐらいで簡単に実現するようなものではありません。「Activity」を強く意識したトレーニングが必要です。


「Software Process」のメニュー に戻る