ソフトウェアの開発プロセスは混とんとしています。
プロジェクトは基本的にプロジェクトマネージャーやプロジェクトリーダーの理論(持論)やクセで進みます。
中小企業規模のソフトウェアハウスで、きちんとプロセスモデルが定義されているところは少ないでしょう。
ある日突然リーダーやマネージャーに抜擢され、
特に教育を受けることもなく自己流のマネジメントをします。
プロセスすら固まっていないのでマネジメントがうまく行かなくても仕方ありません。
一人で開発する場合はフレキシブルに開発できますが、複数人で開発する場合はそうも行きません。
自信をなくし
「マネジメントしたくない。プログラマーとしてやっていきたい。」
そう考えるプログラマーやプロジェクトマネージャー・リーダーは多いです。
優秀なプログラマーからプロジェクトマネージャーになる人は特にそうですね。
知識不足だけで自分の可能性に線を引いてしまうのは、もったいない話です。
今回は少しプロジェクトマネジメントにおけるプロセスについて考えてみます。
どんなものがあるのか知っておくだけでも有意義です。
プロジェクト全体のプロセスも設計が必要です。
おおまかなプロセスをSWEBOKを参考にするならば以下の通りです。
- ソフトウェアの要求
- ソフトウェア設計
- ソフトウェア構築
- ソフトウェアテスティング
- ソフトウェア保守
- ソフトウェア構成管理
- ソフトウェアエンジニアリング・マネジメント
- ソフトウェアエンジニアリング・プロセス
- ソフトウェアエンジニアリングのためのツールおよび手法
- ソフトウェア品質
- ソフトウェアエンジニアリングに関連するディシプリン(訓練)
共通フレーム2013にも参考になりそうなプロセス体系があります。
共通フレーム2013とは
ソフトウェアの構想から開発、運用、保守、
廃棄に至るまでのライフサイクルを通じて必要な作業項目、役割等を包括的に規定した共通の枠組み。
何を実施するべきかが記述されている、 「ITシステム開発の作業規定」である。
共通フレーム2013の概説 – 独立行政法人情報処理推進機構(IPA) より抜粋
具体的に参考にできるものは無いか探してみたらありました。
アイロベックス WBS
https://www.ilovex.co.jp/system-development/wbs/ilovex_wbs_template.pdf
次に開発方法論ともいえる開発プロセスモデルについてお話します。
混とんとした状態に秩序をもたらすために提案されたのが、いわゆるプロセスモデルです。
プロセスモデルについて列挙します。
実践ソフトウェアエンジニアリング ソフトウェアプロフェッショナルのための基本知識 [ ロジャー・S.プレスマン ]より抜粋
- ウォーターフォールモデル
- インクリメンタルプロセスモデル
- 進化型プロセスモデル
- 特別なプロセスモデル
- 統一プロセス
多くの場合、インクリメンタルモデルの亜種になっているのではないかと想像します。
ウォーターフォール型に追加開発を盛り込んだ考え方ですね。
雑に言えば細かく刻んだウォーターフォールモデルです。
昨今、アジャイル開発を名乗る人達が多くいますが、
結局変更を許容しない開発方式ばかりですので
インクリメンタルモデルではないかと考えます。
どのプロセス体系やモデルを使っても良いとは思いますが、
一般的に定義されているものとご自身のプロジェクトとのギャップは見ておいた方が良いと思います。
体系だったプロセスに関する知識を書籍などで仕入れておくことは有効です。
ソフトウェア開発プロセス – 自己流プロセス
おわり
コメントを残す