要求を明らかにする

 「要求を明らかにする」―これは言うまでもないことなのですが、しかしながら、現実には「要求」を正しく捉えないでスケジュールを書いていることが多いし、中には、「要求」が出ていないのに、スケジュールが存在していることもあります。

 そういうところでは、たいてい「作業」を並べる形でスケジュールが作られてしまうことになります。(この問題は後段=「作業の成果物をイメージする」に譲ります)

 「要求を明らかにする」ということは、

  ・自分たちがこれから取り掛かる作業の「ゴール」は何なのか?
  ・どういうものを作り出すことが求められているのか?

を明らかにすることであり、各自の中でゴールがイメージ出来ることです。言い換えればこれが「最終成果物」です。これを外した状態でスケジュールを書いても、リワークになるだけで、要求を満たせる可能性は低いといわざるを得ません。

 例えば、最終成果物の

  ・機能
  ・性能
  ・品質(製品としての品質と、そのプログラム自分の品質)
  ・納期
  ・納入物
  ・納入方法・条件

などを明らかにすることによって、この後のスケジュールの策定に取り掛かることが出来るのです。また、場合によっては、そこで開発方法や開発手順も指定されるかも知れません。

 あるいは、“段階的開発”を要求されたり、設計手法なども指定されるかも知れません。この問題は本稿のテーマではありませんので、これ以上は深入りしませんが、いずれにしろ、最終成果物が納められる姿をイメージできることが条件になります。

 また、途中で「デモ」などが求められる場合がありますが、これなどは開発方法や段取りに大きく影響しますので、早い段階で顧客の要求をしっかり確認しておくことが重要です。あとで、こんな要求が出てきたら、スタッフの気分は大きく損なわれることを、マネージャーや責任者は認識しておいて下さい。

 「エンジニアは壊れ物(FRAGILE!)」なのです。

 ですから、よく分からない状態で、スケジューリングやその後の作業に入ることは避けて下さい。もっとも、1人のメンバーだけで「避ける」ことはできないかも知れませんね。マネージャーか適当なリーダーがその判断をしてくれないと、難しいかも知れません。

 実際問題として、それでも“スケジュールを書け”と要求されたどうしようもないかも知れませんね(つらいな〜)。実際に、「スケジュールを書いてくれないと、顧客と詳しい話ができない」なんて本末転倒なことを言いだす営業の人もいます。

 中でも、最終成果物以外の納入物が忘れられることが多く、そのため、最後になって、慌てて用意することになります。もちろん、リワークです。関連する納入物が開発過程で作られていたとしても、最初から納入することを想定していない以上、それに対して何らかの加工が必要になります。それがリワークなのです。その結果、次のプロジェクトの着手が遅れることになります。

 勿論、要求は後から変化することがあり、それを何時までも“確定”するまで待っているわけには行きません。どこかで走ることになりますが、走るに必要な内容だけは明らかにするようにして下さい。(要求管理に関しては、それだけで奥が深いので、別の機会に譲ります)


(ウインドーを閉じて下さい)