SEがつらい理由のひとつは、常に「納期との戦い」があることではないでしょうか。かつ、一定の品質を保つ必要がある。
今私が携わっているプロジェクトは試験工程の後半です。サブシステムが20程度ぶらさがっているのですが、それが一部密結合しています。なので、どれかが遅れるとつられて他のも遅れる、という構造になっています。
とりあえず、疎通試験が通らない、マスターに不具合がある、なんてことでどんどん遅れてしまうんですね、マスターも大きいので再度ロードするだけで時間がかかってしまう、その間試験要員は待ちになる、という連鎖的に遅れが波及します。
今はまだ、土日でリカバリーできる範囲ですが、今後はいよいよまずくなります。
最近のプロジェクトは短納期なので、必ず進捗が予定より遅れます。理由は何でしょう。
・元々の計画に無理がある。
・前工程の品質が悪く、バグがすりぬけてしまう。
→次工程の試験工数が増える。
・総合試験工程になると、単体試験では見えなかった仕様バグが
判明する。
→手戻りの量がだんだん大きくなる。
・試験環境に不具合があり、試験が止まる。
・結合試験だと、モジュール間の仕様のズレが判明する。
等、いろいろ考えられます。
やっぱり、ステップ数が1Mを超えてくると、全体を見渡すのが難しく、それが後で悪く影響してくるんでしょうね。
対策としては、
・インタフェース部分を特に重点的に確認する。
・設計書のお客様レビュー時にお客様側にも力を入れてもらう。
→実はお客様がしっかりレビューしていなくて、後から仕様変更が入ることがあるんですよね。
・工程の終了時に品質をしっかり確認する。
→ただし、これって現実的には時間がなくて非常に難しい。
・優先順位をつけて、リリース時期を調整する。
等がありますかね。
うーん、どれも難しいですが、そうしなければプロジェクトは成功しないですよね。もうちょっと考えて見ます。