ほとんどの人はだれかと恊働しています。マネージャーやリーダーであるなら、この割合はより大きくなります。
筆者は、仕事の重要な要素のひとつを「進捗を出すこと」と定義しています。そして進捗を出すには、進捗をただしく把握することも重要になってきます。
しかし「進捗を把握する」と言っても、想像以上に難しいと感じる場面が多々ありました。たとえば、
- 進捗はどうですか? → 進行中です/〜をやっています
- なにか問題はありますか? → とくにないです
- 〜までに終わりそうですか? → たぶん大丈夫だと思います
というようなやりとりは一般的なコミュニケーションだと思いますが、あまり有用な情報は得られていません。
この記事では、自身の経験則をもとに、進捗にまつわる良い情報をゲットするための具体的な質問を考えてみました。
なぜ進捗を把握すべきなのか
話の前に、なぜ進捗を把握すべきなのでしょうか。
それは良い計画づくりのためである、と私は考えます。
よい計画づくりとは、以下のような特徴を持ったプロセスのことだ。いずれも「ソフトウェア開発の問い」に対する答えを見つける手助けとなる。
・リスクを軽減する
・不確実性を減らす
・意思決定を支援する
・信頼を確立する
・情報を伝達する1
最初に見た質問と回答の例は、リスクや不確実性が減っていることや情報が増えたことを確認できていませんでした。
言い換えればこれらを満たすことを意識したコミュニケーションを考える必要がある、ということです。
実践
以下、実際に自身が使っているフレーズを記載します。
次にやることは何ですか?/このあとは何をしますか?
個人的には、いつでも・どこでも・だれにでも使える魔法のフレーズだと思っています。
この質問は、現在どこまで終わっているかをふりかえり、次の計画を検討することに繋っています。
そのため質問に対して相手が「次は〜をする」と答えてくれれば、すくなくともプロジェクトは大きく座礁していなそうです。
またこの質問をキッカケに「そういえば〜の設計が難しそう」「〜について他チームに連絡する必要があるけどどうする?」など、目の前の課題が明確になることもよくあります。
一方で返答に詰まってしまう場合は、タスクが停滞していて進捗は出ていなかった可能性もあります。周りが積極的にサポートするべき場面だと感じます。
大変だったことはありますか?
定期的な「ふりかえり」をしない場合、この質問は良い効果を生むことがあります。
相手の回答があれば「今後もときおり発生するものか」や「プロジェクト全体のリスクになりうるか」などを考えられるからです。
たとえば「検証時のアカウントがなくて困った。誰かに借りてテストした」みたいな話を受けたとしたら、検証環境の使い方を見直すべきかを検討できます。
すこし抽象度は上がるので「とくにないです」率も上がります。そのときは具体的なタスクを取り出して「〜の実装は大変でしたか?」などのように聞いても良さそうです。
〜時点でどんな状態を目指しますか?
「TODOリストは出来上がっているんだけど、なんかモヤモヤする」ときによく使う方法がこれです。
一般的には、週単位のやることがある程度決まっている場合がほとんどでしょう。しかし「やることをやった」からと言って「進捗が出た」とは限りません。進捗とは変化であり、行動の集積ではないからです。
そのためこの質問をすることで「どんな変化が起きているか」をお互いに確認したり深堀りしたりすることができます。
もし「〜という状態だ」と返答があれば、あとはその状態に到達できる可能性を上げるための工夫やリスク・不確実性についても意識を統一できるでしょう。
また「〜が完了している」というのもよくあるパターンでしょう。この場合、意外と認識が異なっているのが完了条件です。完了した結果どうなるかを深堀りしてみたり、具体的な成果物を定義してみたり、お互いのイメージが一致することが確認ところまで話してみると効果的です。
なお「いまはわからない」も真摯な回答です。「明日になればわかる」みたいな場合は問題ありませんが、それ以外はなぜわからないのかを深堀りすることで課題を発見することがあります。
「明日リリースして」って言われたら大丈夫ですか?
この質問は一見ナンセンスですが、開発やプロジェクトがある程度進んだタイミングで効果を発揮するときがあります。
「いま何パーセントぐらい終わっていますか?」より好きな質問です。なぜならリスクや不確実性を明らかにできるからです。
というのも「90パーセント終わっている」が、残りの最重要な10パーセントが終わっていない(開始してもいない)、みたいなことがよくあるためです。
これをふせぐため、冗談半分で「明日リリースしたらどうなりますかね?」と聞いてみると「たぶん大丈夫じゃない?」「完成しているからリリースできそうだけど、実は自動テストが失敗していて、これがずっと解決できていない」など、重要な情報を得られることがあります。
〜に伝えておかないといけないことはありますか?
この質問は「とくにないです」率が高いので、頻繁に利用するものではありません(ルーティンで質問すると無回答がルーティンになる)。ですが上手く利用できれば、チーム間のトラブルを解消できることが多くあります。
開発中・プロジェクトの進行中は、どうしてもチームの中に閉じてしまいますが、実際は他チームとの恊働が必須な場面も多くあります。
そんなときに「〜チームに連絡すべきことはありますか?」「〜さんに言っておいたほうがいいことはありますか?」などのネタ振りを適当なタイミングでしてみると、たとえば開発周辺の話や仕様・スコープの変更に関係する話など、質問者が気付いてなかったタスクや課題が出てくることがあります。
どうでもいいけど話しておきたいことはありますか?
「なにか問題はありますか?」とほぼ似たような質問ですが、個人的にはこっちの質問を好んで使います。とくにベテランのエンジニアに投げることが多いです。
それは理由があって「どうでもいい」という前提を設けることで、話し合いのテーマからズレてもよいこと、および発言者が責任を持たなくてもよいことを明らかに示せるからです。
そしてそのような「どうでもいい」話題が実はかなり重要であることを、この記事を読んでいる方なら知っているのではないでしょうか。
試しにやってみると、きっと「別に構わないけど単体テストが以前からコケていた」「重要じゃないかもしれないが、先週から他部署からの問い合わせが増えて実装の時間がとれずにいる」「ちょっと気になっただけなんだけど、この業務は本当に必要なのか」みたいな情報が得られるはずです。
個人的には「どうでもいい」情報というのは「その人がコントロールできない課題」が多い気がします。もしこの質問が相当に盛り上がるようなら、別途時間を設けるべきかもしれません。
最後に
以上、進捗が出ていることを確認し、進捗を出し続けるためのアクションをとるための工夫を考えてみました。
最近は開発の手法が変わり、進捗管理も個人単位でなくチーム単位で行う意識が高まっていると感じています。
この記事は個人向けの質問に見えるかもしれませんが、チーム単位に置き換えることもできるはずですし、それがチームの「ふりかえり」になるでしょう。
「自分はこんな工夫をしているよ!」というのがあれば、ぜひコメントほしいです。
こんな記事も書いています
【アジャイル】ストーリーポイントは工数と何がちがうのか
絶対に必要な作業である見積もりについて。「工数」以外の要素を含めるのが大事なのかも、という話を書いています。
良い「あとまわし」と悪い「あとまわし」
うまく進捗を出すために心がけていることを記事にしてみました。
最遅の日を締め切りにしない
進捗をはかる前段階として決めることが多い締め切りについて考えたことを書いています。
「やることが多い!」と感じたときにすべき1つのこと
「次にやることは何ですか?/このあとは何をしますか?」が有用な場面として「なんだか忙しく感じるけれど、実際に行動を起こせている感じはしない」というケースがあります。この場面をピンポイントで切り抜いた記事です。
「開発が完了する」とは?
言葉の使い方ひとつで、解釈の余地の大きさが変わることを考えた、小さなエントリです。
-
Mike Cohn『アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~』、p29。 ↩