【開発日程大丈夫?】仕様書の待ち状態でもやれることをやろう

Engineering SE

仕様書待ちをしているエンジニアの方:
仕様書や設計書がいつまでたってもあがってこないから暇。今は暇だけど、仕様書や設計書を受領した瞬間、一気に忙しくなりそうで嫌ななぁ。なにか少しでも忙しくならない方法はないかなぁ?

今回はこのような悩みについて解説していきます。

これを書いた自分はこんな人です学卒後、組み込みソフトウェアエンジニア職に従事。過去に全く仕様書がこないとき、それに準じて仕事をだらだらしてしまい、受領した瞬間に深夜残業が多発したことや、逆に自分が仕様を出すのを遅れて作業者に迷惑をかけたりなど、苦い経験あり

この記事を読むことの利点要求仕様、詳細設計書、テスト仕様など、開発フェーズ事に仕様受領待ち状態があるかと思いますが、そのシチュエーションに応じて、待ち状態のときにやれることがわかります。それにより、待ち状態に作業しておくことで、納期遅れや高負荷状態を緩和できるきっかけをつかむことができます。

【開発日程大丈夫?】仕様書の待ち状態でもやれることをやろう

開発をしていると、仕様書を待つ状態ってよくありますよね。

その際、何をしていますか?

おそらく、その他の仕事をもっていないなら、ひたすら暇かと思ってしまいますが、実際はそんなことはありません。

仕様書の待ち状態でも、やれることをやりましょう。

なぜなら、いざ仕様書がきてから、本格的に作業を開始しても、時すでに遅いか、かなり高負荷な状態で作業を強いられることになるからです。

では、実際の開発において、仕様書を持っているときにできる事は何があるでしょうか。開発のシチュエーション別にみてもこれだけあります。

  • 要求仕様待ちの場合:ユースケースの洗い出しと詳細定義
  • 設計書待ちの場合:要求仕様をしっかり理解しておく
  • ソースコード待ちの場合:設計書からテストケースを検討する
  • テスト仕様待ちの場合:テスト環境の準備をする

要求仕様待ちの場合:ユースケースの洗い出しと詳細定義

要求仕様書を待っているときは、ユースケース、すなわち顧客要求の洗い出しと、その要求を満たすための手順をできるだけアウトプットしておきましょう。

これなら、たとえしっかりとした要求仕様がなくても、それまでにもらった、簡単な説明資料や、メール、Q&Aの内容なので、ある程度は書けるはずだからです。

顧客から来る要求って、しっかりとした形でこないことが多いですもんね。
いろんな文章やメールなどにその内容が散らばってるって感じで。

なので、その状況を逆に利用し、それらの資料を使ってユースケースとその詳細を洗い出してしまいましょう。

ユースケースの洗い出し今回の要求をまとめると、必要な機能はA、B、Cの3つの機能になります、などのように必要な機能を洗い出しましょう。

ユースケースごとに手順の洗い出し例えばA機能は、ユーザがどのような操作をすると、システムがどのように動き、結果として、その機能が満たされるか、と言ういわば処理順序を定義します。例えばこんな感じです。

  1. ユーザは〇〇ボタンを押す
  2. システムは、ユーザのボタン操作を検知し、△ △を判定する
  3. システムは、△ △が成立した場合1点× ×を駆動する

このように、要求仕様書の時は、それまでにもらっている情報を活用して、ユースケースと、それを実現するための手順はできるだけ洗い出しておきましょう。

設計書待ちの場合:要求仕様をしっかり理解しておく

設計書の作成を待っているときは、その前段である要求仕様書を理解しておきましょう。

なぜなら、要求書をきちんと理解しておくことで、設計書ができ、実際にソースコードを実装するときに、要求を理解しているのとしていないとでは、出来上がる行動に大きく差ができるからです。

要求仕様を理解せず、単に設計書に従ってできたコードは、バグは多いし、場合によっては、見当違いな処理を実装してしまっている可能性もあります。

なので、設計書を持っているときは、要求仕様をきちんと理解するようにしておきましょう。

ソースコード待ちの場合:設計書からテストケースを設計する

ソースコードを待っている状態と言うのは、おそらくテストを開始するのを待っている状態でしょう。

そのような時は、設計書から、テストケースを検討するようにしておきましょう。

なぜなら、テストケースの検討なら、別にちゃんとしたソースコードがなくてもある程度のテスト設計が可能だからです。

テストケースを検討といっても、実際は、ある程度テスト仕様を書き始めてしまっても良いかと。

ソースコードも、所詮は設計書から出来上がるものです。

なので、設計書からでもテスト設計はある程度可能なので、ソースコードの待ち時間に設計書からテストケースを想検討するようにしておきましょう。

また、ソースコードを待っているときは、単体テストの環境準備をすることも可能です。

具体的に言うと、作成したテストケースを実行して、結果が吐き出される環境を用意する、と言うことです。

これでしたら、例えば作成途中のテスト仕様をもらって、試しにそれを実行する、と言う風でも環境を準備することができるのではないでしょうか。

テスト仕様待ちの場合:テスト環境の準備をする

テスト使用待ちの状態の時は、テスト環境の準備をしましょう。

なぜなら、テスト環境の準備も、テスト仕様がなくてもやっておくことが可能だからです。例えばこんな感じです。

  • テスト対象システム、それに関連するシステムを物理的につないだ状態にしておく
  • テストに必要な計測器を接続しておく

このくらいなら、テスト代がなくてもできますので、やっておきましょう。

仕様待ち時にやれることは開発の作業に限らず【リソース集め、納期交渉】

これまで、開発のシチュエーション別に、仕様書を待っている間にやれることを解説しましたが、やれることは開発の作業に限らず、管理系の作業でもあります。例えば以下です。

  • リソース集め
  • 納期交渉

作業と同時に、リソースを集めておこう

仕様が出てくるのが遅いと、納期に間に合うかがかなり怪しくなることがよくあります。

なので、仕様待ち状態のときに、その旨を上司に説明し、いざ仕様が来た時に、人をたくさん投入できるようにしておきましょう。

また、人以外でも、必要機材の予約や、ツールのライセンス数の確認など、いざ作業したら手が止まってしまうようなことがないように今のうちに準備しておきましょう。

本当にやれることがないなら、納期や期限交渉も視野に

もし、仕様書が来ないと本当にやれることがなかった場合は、仕様書が来た瞬間に、高負荷の状態になること間違いなしです。

なので、仕様書が送れる時点で、納期が期限を延長する交渉をしておくのも1つの手です。

それが、客先でも、社内でも、自分にとって入力文章が届いていないのは事実なので、そこを交渉材料にすることで、納期や期限を延ばすことは決して悪いことではないかと。

なので、仕様待ちの間に、納期や期限の交渉も検討しましょう。

仕様を待っている間にも納期は近づいてきます

仕様書を待ってる間って、つい業務負荷が楽なので、ぼーっとしたり、関係ないことをしてしまいがちですが、これまで解説した通り、やれることってたくさんあることが分かったかと思います。

なので、仕様書待ちの状態こそ、出来る限りの準備をしておきましょう。
そうしてる間にも、納期はどんどん近づいているので。

今回は以上です。