2案件を回すためのアレコレ
みなさま、おはようございます。Kyonです。
数ヶ月ぐらい前のコラムがずっと忙しいと書いてきましたが、相変わらず忙しいです。平日は秒で過ぎ去り、土日も平日にできない用事をこなしたりお休みしたりするも秒で過ぎ去っています。
さて、私が今ずっと忙しい、主たる理由である「それなりの規模感の案件を2案件同時並行で対応していること」で気づいたことやこうしたら良さそうと思ったことを「Tips」という形で書きます。
システム開発をしている読者のみなさまにも、複数案件を同時並行で回すことを求められることがあると思いますし、誰かにそれをお願いしないといけないことがあると思います。そういう時にこのコラムがちょっとでも役立てばいいなと思います。
2案件を回すとは?
そもそも2案件を同時並行で回すってどういうことか。案件はプロジェクトと読み替えてもらっても大丈夫です。
例えば、案件Aと案件Bを対応しないといけないとします。どちらもシステム開発案件で、保守のような定常業務ではないタスクをイメージしてください。
案件Aは、一般ユーザも使用するようなWebサイトの構築案件。期間は年単位で段階を踏んで構築します。メンバーは複数チームがあって、バックエンドエンジニアのチームやフロントエンドエンジニアのチーム、UXやカスタマージャーニーを考えるチーム等など。全体で見ると何十人もいるプロジェクト、みたいな感じ。
案件Bは、ある特定企業の中の、特定の職種の人たちだけが使う業務システムの案件。期間は1年以内に終わります。メンバーは10名未満。顧客との連絡手段はチャットツールで、メンバーであっても顧客に直接チャットを送ってやり取りができる、そんな案件だとします。
そんな案件AとBを一日の中で自分で工数を割り振って、タスクをこなしていく、というのが2案件を回すという感じです。私はここ数ヶ月そんな感じで仕事をしています。
以降は、そんな案件AとBを回している中で気が付いたことやこうしたら良さそうと感じたことをTips形式でまとめてみました。引き続き、案件AとBを例に使用します。
Tips1:それぞれの案件に対応する時間を見える化する
2つの案件を並行して進めるとは言っても、人間が同時に考えたり手を動かしたりできるのは基本的には1つだけです。なので、1日の中のどの時間にどの案件のタスクをするのかを割り振らないといけません。これを自分の中である程度決めてタスクをこなしていくと思います。
その「いつどの案件のタスクをしているのか」を上司やそれぞれのプロジェクトの関係者に分かるように見える化しておく必要があるなと感じました。なぜかというと、ある程度まとまった時間がないとタスクをこなすことは難しいですし、それぞれの案件の関係者が自分に案件の話をしやすい時間に声をかけやすくしたりタスクを振りやすくできるようにするためです。「あの人は午前中は案件Aのタスクしてるから、案件Bの話は午後に声をかけよう」という感じで、「午後は、自分は案件Bの話を受け入れやすい体制ですよ」というのをアピールしておくことで、案件の進めやすくなると感じています。
私の場合は、案件Aはだいたい10~14時、案件Bはだいたい15~18時みたいな感じで決めたら、他の人にも見えるようにスケジューラに登録して、朝会等でも「午前中は案件Aのタスクをしているので、その仕様の話は午前中に入れてもらえると助かります」等と話すようにしていました。
基本的にはいつでも声をかけてもらっていいんですけど、案件Aのことに注力している時に案件Bの話を聞かれると即時で対応できないこともあるので、なるべく時間帯を分けて、その時間帯だったら早くレスポンスできる状態を心がけていました。
Tips2:上司にそれぞれの案件の状況を報告する
報告連絡相談は基本中の基本であることが前提です。
ですが、自分の上司が案件A、案件BのPMやPMO、リーダーとは限らないので、上司にはそれぞれの案件の状況を報告することを心がけました。片方の案件で負荷がかかっているなら解消に向けて動いたり、片方の案件で手が空きそうならもう片方の案件のタスクを引き取ったりできるようにするためです。
また、それぞれの案件のメンバーが社内で完結しているなら、案件の中でも他方の案件の状況は伝えるようにしていました。たとえば「案件Bがこういう状況で、今後〇〇のタスクが増えそうなので、今案件Aの△△のタスクを先に進めます」みたいな話をして、自分の状況を知ってもらい、今後のタスクの割り振りを考える時の情報として提供していました。
みなさんお忙しいので自分の抱えている案件の情報収集でいっぱいになるので、複数案件を対応している身として必要かもしれない情報は積極的に出していったほうが、自分のためにも周りのためにもなると感じます。
Tips3:アタマを切り替える
複数のタスクを抱えている時は意識的にアタマを切り替えることを意識していました。
システム開発案件であれば、データベースやプログラムの処理等、作るものが違っても、似たような内容の情報がありますよね。それがアタマの中で混ざってしまうと、何かの間違いやミスの元になります。なので、意識的にアタマを切り替えるようにすることが大事だなと感じました。
具体的には、対応する時間をTips1のように分けるとか、デスクから立って少し歩き回ってリセットするとか、いろいろやってみるとよいかもしれません。
Tips4:常に引き継ぎができるようにしておく
Tips5にも繋がるTipsです。複数案件を並行して対応できるのはそれぞれの案件が平常運転でできている時が前提だと思います。
システム開発案件は、炎上が付きものなので、普段から遅延無いように気を付けていても、いつ平常運転の案件が炎上するか分からないと思っています。複数案件を対応している時は、急に1つの案件の調子が悪化して、急いで引き継ぎが必要になることがあるため、日頃からどこに情報があるかをチャットやbacklog上で共有したり、なるべく自分が担当しているチケットに経緯を書く等、引き継ぎができるように心がけています。
Tips5:時には手を引くことも大切
Tips4で書いたように「複数案件を並行して対応できるのはそれぞれの案件が平常運転でできている時が前提」です。
もし片方の案件の雲行きが怪しくなりそうだと感じたら、すぐにアラートを上司やそれぞれの案件に上げることが大切です。それと、「これは自分が担当してやり切るんだ」と思っていても、それぞれの案件に対して求められているパフォーマンスを出すのが難しい状況になるなら、自分の手からタスクを話すことも責任感の一つだと思います。
大切なことは、それぞれの案件で求められているパフォーマンスを発揮して、それぞれの案件を走り切ることだから。
2案件を回すためのアレコレ
私の職場では、ある程度の規模感の案件を複数対応している人は少ないので、自分なりに試行錯誤をしています。
Tipsとして書いてみましたが、これだけやれば上手くいくとも思わないですし、他にこんなことを心がけていたという話も聞いてみたいなと思いました。