(株)永和システムマネジメント コンサルティングセンターが、システム開発に関わる人をイキイキさせる情報をお届けします。

ソフトウェア開発における3つのプロセス(2)

»

 これまでの記事はコチラ↓

 ソフトウェア開発における3つのプロセス(1)

 前回は、本連載の主旨である「3つのプロセス」を考えついた経緯と、開発チームを動かす新たな視点について、「オペレーション・プロセス」と名付けた背景を中心に話をしました。今回は、これらのプロセスについて話をします。

 少し復習になりますが、「ソフトウェア開発における3つのプロセス」は、次の3つのプロセスがあります。

 1.マネジメントプロセス:開発プロジェクトをマネジメントするプロセス
 2.プロダクトプロセス:ソフトウェアを開発するプロセス
 3.オペレーションプロセス:開発チームを動かすプロセス

 これらのプロセスがうまく回ることで、プロジェクトが動いていきます。

1.マネジメントプロセス

 このプロセスは、よく言われている「プロジェクトマネジメント」を行うプロセスです。ご存知と思いますが、マネジメントサイクル「PDCA:計画(Plan)、実行(Do)、評価(Check)、改善(Act)」を実施していくプロセスです。

 このプロセスは、プロジェクトを予定した「QCD:品質(Quality)、コスト(Cost)、納期(Delivery)」に収めながらゴールに導くために、プロジェクトマネージャの役割を持った人が実施します。

2.プロダクトプロセス

 一般的に「ソフトウェア開発プロセス」と言われ、仕様を満たしたソフトウェアをどのように作っていくかのプロセスです。このソフトウェア開発プロセスには、「ウォーターフォール」「繰り返し開発」「アジャイル開発」など、さまざまあります。

 このプロセスは、何を、いつまでに、誰が、どのような手順で作るかを決めていく必要があり、マネジメントプロセスと密接な関わりを持ちます。そのためかプロジェクトマネージャがこのプロセスを決めるように思われがちです。しかし、本来はソフトウェアの生産技術に精通した人が、開発するソフトウェアの特性やプロジェクトへの前提条件からプロセスを決定しなければならないと思います。そのプロセスに沿って、プロジェクトマネージャと開発チームのリーダーは協力しながら実施していきます。

3.オペレーションプロセス

 このプロセスが「新たな視点」と呼ばれており、それぞれの開発チームの「日々の作業」の進め方です。この視点が欠けていたことが、ソフトウェア開発がうまく進まない要因の1つと考えています。

 ソフトウェア開発の歴史をもう一度振り返ってみましょう。昔は、開発規模が大きくなく、複雑度も高くなかったために、数人の技術者で十分に開発できるものでした。ところが現在は、大規模になり複雑さは高くなるばかりです。このためチームを組んでお互いコミュニケーションをとりながら作業を進めていくことが必要となりました。しかしながら、現場は作業の属人化やさまざまな立場の人が係わり合ってしまい、チームとしての動きが取りにくい状況になっています。

 このプロセスは、開発チームのリーダーやメンバーが実施します。このプロセスのサイクルは1週間程度で、基本的には、PDCAサイクルを行っていきます。マネジメントプロセスと異なるのは、視点が個々のチームがその1週間のうちに何をしなければならないか、そしてメンバー個人は日々何をするのかを決め、日次で進捗や状況をチーム内で共有し、何か問題があれば即対応をして行きます。サイクルの終わりには作業の改善を行っていきます。

 ここで重要なのは、繰り返しになりますが、このオペレーションプロセスの視点は、あくまでも開発チームのメンバであるということです。これらのメンバが日々の作業をどのように進めていくかです。マネジメントプロセスは、プロジェクト全体が視点となりますから、視点はもっと大きく、週単位や月単位、チームや部署・協力会社などになります。開発チームのメンバーが、バーチャートや日程表に対して違和感(ひょっとしたら反感)があるのは、この日程表はプロジェクトマネージャ(マネジメントプロセス)の視点で作られていて、メンバーの視点と異なっているからでは、と考えています。

 このオペレーションプロセスの実施に必要なツールや考え方をまとめたものが、「チームファシリテーション」です。

 次回は、この「チームファシリテーション」をご紹介します。


 このほかにも、システム開発に関わる人をイキイキさせるヒントをブログにてご紹介しております。ぜひご覧ください。

http://sec.tky.esm.co.jp/

Comment(0)

コメント

コメントを投稿する