Software Engineer and Web Developer's Diary

1年後の自分に向けて

失敗プロジェクトの反省と同じ失敗を防ぐ為に解決方法を考えます!!

私は3月から5月に行っていたプロジェクトで、納期の遅れ、納品後のバグの続出という大失敗をしてしまいました。その原因を整理します。

担当:詳細設計、開発、単体テスト結合テスト

プロジェクトにおける重要な3要素  1.スケジュール管理  2.コスト管理  3.品質管理

この3つともぐだぐだだったのですが、 まずは1.スケジュール管理について

 主なスケジュールの種類   総合スケジュール   詳細スケジュール   機能別スケジュール

私は始めエクセルでスケジュールを作成したのですが、だんだんと遅れていき最後にはスケジューリングができなくなっていきました。これはボリュームの把握ができていなかった為に見積もりの甘かった事が原因です。ボリュームをどう把握するか?スケジュールが遅れた時にどう対応するか?が問題だと思っています。

以下はスケジュール管理におけるポイントです。

 ・過去の失敗から学び、同じ失敗を繰り返さない  ・チェックリストで失敗リスクを確認する  ・スケジュール表を必ず作成し、定期的に見直す  ・進捗は数値で管理する  ・3種類のスケジュール表テンプレートを利用する  ・機能別スケジュール表は、全フェーズの最終段階で作成する  ・進捗ミーティングは定期開催ルールを決めて(スケジュール見直しの頻度は?)

スケジュールが遅れた時にどう対応するか?は スケジュール表を作成していればどれだけ遅れているかが把握できます。そして遅れた分予定通りに作業できなくなったタスクを洗い出し、そのタスクをどうカバーするかを考えます。休日・残業でカバーするか?人員を増員するか?ですね。

ボリュームをどう把握するか?2.コスト管理です。

見積もり手法には主にKKD法(類似法)と標準値法とファンクションポイント法があります。 KKD法のポイントはタスクの洗い出しと割り当て工数の妥当性です。 ※見積もり時にユーザーから作業分担や開発内容をヒアリングする技量が重要です。 標準値法は過去の開発経験をベースにした生産性の標準値を基に、サブシステムごとの工数を積み上げて開発工数を算出する方法です。 ファンクションポイント法←これはよくわかりません。下が参考URLです。 ファンクションポイント法によるソフトウェア開発規模・工数見積の現状

コスト管理のポイント  ・作業タスクの洗い出しを十分に行う  ・2つの見積もり方法を併用して比較する  ・ほかの人の意見も聞いて確認する  ・プロジェクトメンバー全員でコスト情報を共有する  ・プロジェクト終了時に見積もりと実績を評価する

ボリュームの把握は上記の見積もり方法とポイントを抑え、一応把握できるはず…

3.品質管理もぐだぐだでした。納品後のプログラムにバグがいくつ見つかったことか…ボリュームを把握しきれていなかった事とテスト手法を開発の時点で確立していなかった事が原因です。テストパターンがいくつあるかわからず途方にくれ、やみくもにテストした結果バグ続出…穴があるテストではバグはなくせません。納得できるまでテストは必ずするべきだと反省しています。 まずしっかりとしたテスト仕様書を作成する事。今回は自分で考える事なく上司に言われたままのテスト仕様書を使用し、それを使いこなす事ができていませんでした。また途中からあまりものテストパターンの多さにテスト出来る訳がないとなかば諦めた気持ちを持った事も敗因のひとつです。

QC(Quality Control)やTQC(Total Quality Control) 品質管理活動(QC)-----品質改善活動----プロジェクトレベル               |               ---品質安定活動----全社レベル 品質基準書を作成する。

品質管理のポイント  ・QC/TQCの長所を取り入れ、プロジェクト内と全社レベルの2面から品質管理を考える  ・ユーザーの使う姿を思い描いてソフトウェアを作る  ・最初に「品質基準書」を基にメンバー全員で品質に関する共通認識を持つ  ・設計書のユーザーレビューを義務化して、設計バグをなくそう  ・単体テストはマーカーを使って漏れなくチェック  ・テストはバグがあるはずという信念を持って!

PMBOKのリスク管理

■顧客側  顧客との役割分担、責任範囲が明確か  顧客側のプロジェクト体制は明確になっているか  エンドユーザーはどこで、プロジェクトに参画しているか  顧客の意思決定者は誰で、その人は打ち合わせに参加しているか  顧客担当者は誰で本プロジェクトをやるだけの資質があるか  顧客担当者は、迅速に対応してくれているか  プロジェクトの状況・内容は、顧客の上層部にきちんと報告されているか ■自社側 プロジェクトに必要な要員が確保できているか プロジェクトに必要な技術・スキルが不足していないか

バックアップと定期点検(メンバーのメンタル管理) 質問するだけでもリスク管理に役に立つ(「このプロジェクトが失敗したら?」「現状の問題は何?」など)

リスク管理用のテンプレートを作る

リスク管理のポイント  ・プロジェクト管理は管理試験も勉強して理論武装しよう  ・リスクは予見して予防する  ・確認作業は現場、現場で  ・一匹のゴキブリを見つけた時に、考えを停止させない(他にも同じようなミスがないかを確認する)

PMBOK(ピンボック)(Project Management Body Of Knowledge)=プロジェクト管理を体系的に理解する為のもの

総合プロジェクト計画書
スコープ
タイム総合スケジュール表
詳細スケジュール表
機能別スケジュール表
コスト開発工数見積もり週報
品質品質基準書単体テスト仕様書
結合テスト仕様書
組織プロジェクト体制図
コミュニケーション打合せ議事録
打合せ保留項目
質問管理シート
リスクリスク・問題点一覧表
調達発注仕様書