🗣️

難解なプロジェクトに立ち向かうための不安を具体化する言語化の力

に公開

はじめに

こんにちは、terandard です。

「新機能開発をお願いします。規模としては結構デカいです。」
「システムの大幅リニューアルのために、深夜メンテナンスが必要なので対応してください。」

こうした依頼を受けた瞬間、頭の中に様々な疑問や不安が浮かんできませんか?

「工数はどのくらいかかるんだろう?」「本当に自分にできるのか?」「何から手をつければいいんだろう?」 などなど。

大規模なタスクを前にすると漠然とした不安を感じるのは、エンジニアなら誰しも経験があるかと思います。先日大規模なタスクを任された際、私も同じように不安を感じました。

現在はそのタスクを無事に終わらせることができたので、あの頃の自分に対してアドバイスをしたいと思います。

大規模開発における不安の正体

大規模開発における不安の正体は 「不透明さ」 にあるのではないでしょうか。スコープが曖昧で、技術的な課題も見えず、どこから始めればいいのかもわからない。つまり、 「何がわかっていないかがわからない」 状態です。

この不透明さを解消するために必要なことは 「言語化」 だと思います。自分の中の不安や疑問を具体的な言葉にして整理することで、チームと共有できるようになり、最終的にはプロジェクトを前に進めることに繋がります。

具体的に見ていきましょう。

不安の言語化

現状は「何がわかっていないかがわからない」状態です。まずは「わからないこと」を言語化してみましょう。

何から手をつければいいのか難しい場合は、扱っている問題が大きすぎる可能性があります。もっと小さい単位に分解してみることはできますか?例えば新機能開発であれば画面ごと、メンテナンスであれば作業ステップごとに分解してみるのも良いでしょう。

他の視点が必要であれば 5W1H で分解してみたり、ラバーダックデバッグのように誰かに説明してみるのも効果的です。生成AIに質問してみるのも良いかもしれません。

書き出せたら整理してみましょう。よく感じる不安の種類を以下に挙げてみます。

1. 技術的な不安

  • 「そもそも実現できるのか?」
  • 「パフォーマンス要件を満たせるのか?」
  • 「セキュリティ面で問題はないか?」

2. 工数・スケジュールの不安

  • 「どのくらい時間がかかるのか?」
  • 「他の作業との兼ね合いは?」

3. 責任・品質の不安

  • 「期待されるクオリティは?」
  • 「失敗したらどうしよう?」

4. チーム・コミュニケーションの不安

  • 「誰に相談すればいいのか?」
  • 「情報共有はどうする?」

他にも様々な不安があるかもしれません。無くなるまで書き出してみましょう。

言語化による効果

上記のように不安を言語化することで「何がわかっていないかがわからない」状態から、 「わかっていないこと」が明確になる 状態に変わります。

わかっていないことが明確になると、次のアクションが見えてきます。

例えば技術的な不安であれば、プロトタイプを作成して検証したり、他のエンジニアに相談したりすることが考えられます。
工数・スケジュールの不安であれば、過去の類似プロジェクトの実績を参考にしたり、プロダクトオーナーとスケジュールを調整したりすることができます。

このように言語化することで、不安は具体的な課題として扱えるようになり、解決の糸口が見えてきます。

まずは思いつく限りの不安を書き出してみることから始めましょう。書き出したらチームと共有してフィードバックをもらうことも重要です。自分では気づかなかった視点や解決策が得られるかもしれません。

ただし完璧を目指す必要はありません。想定外のことは必ず起きます。全てを事前に把握することは不可能です。チームと共有し、ある程度出し切ったら次に進みましょう。

不安は減ってきましたか?それならば、あとはやるだけです。

スクラムの価値基準との関連

上記の言語化はスクラムの価値基準と深く結びついていると感じました。
スクラムには「確約」「勇気」「集中」「公開」「尊敬」という5つの価値基準があります。
https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf

その中でも特に言語化と関連が強いのが、「集中」「公開」「勇気」の3つです。

最初は「何がわかっていないかがわからない」状態から始まります。
その状態を表明することは「勇気」が必要です。
言語化を通して「わかっていないこと」を明確にすることで、解決の糸口が見えてきます。それをチームと共有することで、情報が「公開」されます。
あとは課題に「集中」し、解決していくだけです。

おわりに

言語化は大規模開発における不安を解消し、プロジェクトを前に進めるための強力な手段です。漠然とした不安を具体的な言葉にすることで、チームと共有し、協力して解決策を見つけることができます。

言語化に慣れていないのであれば、日報や分報を書く習慣をつけるのも良いでしょう。日々の小さな不安や疑問を言語化することで、徐々にスキルが身につきます。

大規模なタスクを前にして不安を感じたときは、ぜひ言語化を試してみてください。

GitHubで編集を提案
Social PLUS Tech Blog

Discussion