Smily Books Blog 2023年7月更新中

ソフトウェアプロジェクトサバイバルメモ スティーブ・マコネル(日経BPソフトプレス)

1.サバイバルのためのスキル
・製品のミニマリズム(最小主義)
 ほとんどの機能は「2時間、2日、2週間、2ヶ月」の順に出来ないかどうか考える

2.暫定計画
・リスクマネジメント
  全体予算の5%以上は確保する(25%まで確保できるのが理想的)

3.ステージ開始時の計画
(1)技術のコーディネーション
 開発者とテスト担当者間の調整をスケジュールに組み込んでおく事
 開発者はテクニカルライターやテスト担当者にコーディング内容を説明する時間が必要となる
(2)小規模マイルストーン
 最低でも1週間に1度マイルストーンを設定する
 マイルストーンに中間判定はなく、100%できたかできなかったかのみで判定する
 詳細設計完了までのマイルストーンを1度作成し、詳細設計完了後、リリースまでのマイルストーンを作成する

4.ソフトウェアのリリース
(1)欠陥の数
 未解決の欠陥数よりも解決済みの欠陥数が増えてきているかどうかで品質レベルを管理する

5.サバイバルメモ
NASAのSEL(Software Engineering Laboratory:ソフトウェア工学研究所)では、
平均的な情報システムプロジェクトの100,000行のコードに対して、14ヶ月の期間、110人月の工数を必要とするが、
納品時に含まれるシステム欠陥は50件程度(通常は850件が一般的)に過ぎない。

(1)ソフトウェアプロジェクトを成功させるための必須項目(NASA SEL版)
 ①開発計画書の計画と遵守
 ②要員に権限委譲
 ③官僚的な体制(無駄な会議や文書)を極力排除
 ④要求のベースライン定義と変更管理
 ⑤進捗の定期的確認と計画の定期的見直し
 ⑥規模、工数、スケジュールの定期的見直し
 ⑦フェーズの定義とフェーズ移行管理
 ⑧チームの士気を高める(共通のビジョン定義と責任範囲の明確化)
 ⑨少数の上級スタッフでプロジェクト開始
(2)ソフトウェアプロジェクトを成功させるための禁止項目(NASA SEL版)
 ①無理な目標の設定
 ②影響の評価を行わない/変更管理していない
 ③ゴールドプレーティング(金メッキ)(要求以上の機能追加)
 ④プロジェクト開始時の余分な要員
 ⑤プロジェクトの遅延を遅延直後に取り戻さない
 ⑥コスト削減、スケジュール短縮のための基準緩和
 ⑦大量な文書作成