Gazelle
2020年06月23日更新 506 Views

プログラミング中の割り込みタスクにどう対応すべきか?

アジャイル開発において、全員が同じ目的のもと各スプリントのゴールを目指して作業を行っているのだが、時間間隔においては非常にずれがあるように感じる。

スクラムマスターやプロダクトオーナーの仕事は、ユーザストーリーの明確化やチケットの優先順位の整理、不具合の割り当てなどがあり、まとまった時間を使ってがっつり作業に取り組むということが相対的には少ない

一方でプログラミングは、

  • gitで開発中のFeatureやバグにブランチを切り替える
  • 開発に関連のある複数のコードの画面や、UI Specを表示してマルチモニタに作業がしやすいよう並べておく
  • 適切なbuildパラメータを設定して、環境準備をしておく

など前準備が多い他、一つのタスクとしてのまとまりが大きく、がっつりと集中する時間を取らなければならないという作業場の性質もあり、一度手を付け始めると他の作業に切り替える事に対する負担は大きい。

すなわち急に他の不具合をお願いします、調査をお願いしますといわれると、一度環境をその不具合の生じた環境に切り替えて調査を開始し、暫く見ていなかったコードを解析し、作業が終わればまた元の環境に整えなおさなければならない。

この物理的、心理的コストがかなり大きいため、割り込みタスクに関して相対的にプログラマーは弱いのである。

しかし、スラック上のやりとりはプロダクトオーナー、スクラムマスター、プログラマーと時間の流れが異なる者同士を同じ時間(タイムライン上)に閉じ込めることになり、容赦なく調査をお願いしますや、ここどうなっていますか?という質問が飛んでくるのである。

そしてプログラマーはこのような割り込みタスクを処理するために集中力を分断され、思ったようにスプリントが計画通りに進まないという事態に陥るわけである。このツイートなどは素晴らしく作業効率がビジュアライズされているが、まさにこの感じである。
https://twitter.com/bugnekotinyan/status/1266322031001300992?s=20

ここにどう対処していくのか?というのが課題となる。

午後3時ごろまで活発なキャラでやっていくと良いかもしれない

俺はもう午後3時からは集中したいのでスラックは返しません。などと宣言できれば良いが、別に午後3時からずっと集中しているわけではない。

ふと疲れた時にぼーとスラックを確認しておきたいという要求もある。また、こちらが相談したい場合もあるため一方的にこちらがスラックを遮断しているのに、こちらからはお構いなしというわけにも行かない。

なので完全にコミュニケーションを遮断してしまうのはあまり得策ではないと言える。なので午後3時以降はノーティフィケーションをスヌーズにするなどしてレスポンスを遅くし、集中力が切れた時に確認するというのが一番良さそうである。

この動作を徹底することで、アイツは午後から極端にレスポンスが悪くなるから午前のうちに聞いておこう。みたいな考えを相手に抱かせる。そうなったらしめたものである。

午前中にコミュニケーションが集中し、午後からは自分の時間に集中できる。メンションされても気にせず無視する程度の慣れは必要かもしれないが、集中時間はスラックを一切見ないしノーティフィケーションもオフにするとこころに決めれば案外行けるはずである。

PO的にはどうか?

異なる時間軸で生きる者にとって、コミュニケーションを取るのが仕事であるプロダクトオーナー(PO)は、常に短いスパンでのレスポンスを求めており、聞きたい時に反応が返ってこないというのはストレスフルではある。スクラムマスターもそうかもしれない。

ただ、POとしても集中して作業する時間はプログラマほどではないものの必要であり、全体最適な生産性を考えるとある程度遅いレスポンスは我慢してもらう他は無いと思われる。必要なコミュニケーションは早いうちにとり、回答の時間軸が長いものは取り敢えずスラックでメンションしておくぐらいで良いかもしれない。

目指せ朝方

みんながいない時間ならばコミュニケーションも少なく、考える時間として集中することができる。なのでエラい人は皆朝が早いのである。これを真似して取り組んでみよう。最初は起きるのがつらくても、次第に慣れてくるはずである。

と、考えていた時期が私にもあったのだが圧倒的に無理である。朝が早いと気分が悪くなり、頭も眠くて働かない。そして眠い状態がずっと続き終日効率が悪い。

普段の出社時間は10時半だが、それより早い時間に出社すると大抵こうなるし、何よりもコミュニケーションタイムが10:30からで、そのぐらいに出社していれば咎められないので、だったら寝ていたい、と思うのが人間のサガではないかと思う。

ソーシャルアニマルなので勤務時間が9時半からならばちゃんと9時半に来れるようになるだろうが、ともあれギリギリになることは間違えない。

朝活のすすめ的な本を出している人はそれ自体がビジネスになるから頑張っているか、DNA的な体内時計がたまたま朝になっているからだけである。朝4時起きで全てがうまく回りだすみたいな本を書いている人は頭がおかしいとしか思えない。

という訳で早起きなどという意識の高いことは大抵の人間は不可能である。となると皆が仕事をしている時間中に集中時間を確保する必要がある

残業して皆が帰った後で静かになって頑張るという方法もあるが、働き方改革に追われるマネージャーも嫌がるし、自分も嫌がるのでたまにはありかもしれないが得策ではない。

まとめ

となると必然的に全員が仕事をしている時間中に集中時間を取ることになる。そうなると一日の前半と後半を2段に分け、前半をコミュニケーションを集中して行う時間、後半をじっくり集中してプログラミングをする時間と分け、周りにも何となくそう認識してもらうことでシングルタスクを行える時間を最大限確保するというのは理にかなっている。

特にコロナウイルスの影響でテレワークをしている人は、物理的に人の介入を遮断できタイムマネジメントはしやすくなってきていると言える。この機会を活かし、一段生産性を高める工夫をしてみると良い。

ホームへ戻る