最近とあるサイトの新規リリースにかかわることができて,そこで得られた学びをフィードバックするという活動をやっている.具体的には運用で使えるIssue Templateを整備したりしているのだけれど,自分やチームの進捗管理みたいな分野でもフィードバックすることができたのでメモしておく.
毎日エンジニアMTGを開く
スクラムっぽい話題?かもしれないけれど,自分のチーム(エンジニアは2人)の規模ではこれでうまくいった.
- 毎日Scrapboxに残タスク・進捗を書きチームで共有する
- 昨日からコピーしていく
- 毎日の適当な時間を割いてMTGを開く
- 話すことそんなになくても予定は作るしMTGは開く
- 話題切れましたね,となったら早期散会する
- MTGでやること
- アイサツをする(自分の場合はお嬢様なので「ごきげんよう」を採用した)
- 進捗を共有する
- 残タスクについて認識を合わせる
- 雑談(寒いですね,雪どうですか,みたいな雑な話をする)
各項目について説明していく.
毎日Scrapboxに残タスク・進捗を書きチームで共有する
Scrapboxに進捗を書いていくというのが今回のチーム編成にマッチしたと思っていて,同時編集ができてページをどんどん複製でき,リンクを張れる,というのが良かった.
具体的に何をするかというと,プロジェクト名/2021/1/4
みたいなページを作成して,そこに以下のような項目を書く.そしてこれを毎日ページごと複製していくというもの.
- アイサツ
- 進捗報告
- 残タスク
アイサツはあとで説明する.
進捗報告では現在つかんでいるタスクがどうなったのか(掃けた・まだやってる・煮詰まってる・相談したい)を共有する.問題があったら,後述するMTGの中でなるべく消化してしまう.
残タスクは読んで字の如しで,あと何をやらないといけないのか,そのアサインは誰なのか,ボールがどこにあるのかなどを書く.これは固定ではなくて,随時増えたり減ったりする.新事実が分かったとか,仕様と認識とのずれがあったような場合は増えるし,タスクが順当に消化されたならdoneマークをつけて,翌日の版では消える.
ではこのページを使ってどう会話するのかを次に説明する.
毎日の適当な時間を割いてMTGを開く
Scrapboxのページをどう使うかについて説明する.
弊チームでは,より大きなチームのMTGが2時からあるので,それが終わった後の3時から30分確保してMTGを開くことにしていた.全員が参加できる時間であれば良いと思うけれど,5人を突破したあたりからこういう運用は困難になるのではないかと思う.少数の実働部隊がいるチームだったからこそうまくいったのかもしれない.
ところで世間的には話題が無くてそのうちMTGが開かれなくなってしまう,という話をときおり耳にする.我々の場合は,今回は話題無いのでスキップしましょう,ということは基本的には行わなかった.MTGを開かないのはあくまでもイレギュラーとして扱った.例えば他の全体MTGがあり,これ以上時間を割くと実働上問題がある,という共通認識がある場合にのみスキップを行った.その場合でも,Scrapboxへの記述は行った.
とにかく密にMTGを開くことで認識を合わせ続けるし,困り事も即座に吸い上げて処理してしまおうというシステムを作れたので,ずっと滞留してしまうということはなかった.
弊チームはずっとリモート環境なので,キックオフから一度もリアルに顔を合わせることがなかった.そういう環境なので,通りすがりに話を訊くということができない.したがって認識合わせの頻度をきわめて高くすることで,意思疎通の問題をパスした.
とはいえ,ここまで頻度を上げたのは,今回やったPJTが,メディアの立ち上げという,2人のタスクが互いに衝突する可能性があり,密に連携を取りながら進める必要のあるPJTだったからであるから,新規立ち上げではなく機能追加といったレベルで,衝突の可能性が低いものであるなら,より頻度を落として隔日とか週一レベルにしても良いかもしれない.
MTGでやること
具体的にMTGをどう進めているかについて説明する.
時間になる前に前述したScrapboxをなるだけ埋めておいてもらう.進捗確認などがここで埋められる.時間がなければMTG中に書いてもよいし,実際そうなっていた.
時間になったらGoogle Hangoutで集合し,アイサツする(終わりにもやる).自分の希望でアイサツは「ごきげんよう」となっていたが,微妙に定着しなかったし毎回スベっていたので,やめたほうが良かったかもしれない.
最初にやるのは進捗確認で,前回確認したタスクがどうなっているかを互いに把握する.進捗が出ず困っているとか,これは誰に聞いたらよいですかとか,なんでもそこで相談する.
大事なのは,MTGを形骸化させないことであって,「皆様の時間を取っていただいているので軽くすませる」みたいなことは割ける(人数が増えるとそうなる傾向があるので注意したい). お互いの進捗を知るほぼ唯一の機会なので,MTGをやれば安心だ,という感覚を持ってもらうのが大事.
次に残タスクの確認を行う.ある意味これも進捗確認と同じようなものだけれど,進捗確認は持っているタスクの話をするのに対して,残タスク確認は客観的に残っているタスクの話をする. このままの調子で間に合いそうかとか,この話はもうお返事待ちでしたっけ,とか,より大きな視点で考えられるようになるので,残タスク確認はやったほうが良いと思う.
結果どうだったか
今回は1ヶ月程度のPJTだったけれど,この枠組みは初期に導入され,最後まで枠組みが破綻することはなくて,うまく動作し続けてくれたし,遅れたり進んだりもしたけれど最終的にスケジュール通りにリリースすることができたので,成功したと思う. 半年といったより長期的なPJTでうまくいくかは試してみないと分からないと思うけれど,残タスクが巨大でなおかつ未知になっていくのでまた別の仕組みが必要になるかもしれない.
個人レベルの話
さっきまではチームがPJTとどう戦うかという話だったけれど,ここでは個人レベルのタスク管理の話をする.
こちらもScrapboxを使ってページを複製していくというものだけれど,よりミクロな要素が追加されている. ページの内容についてまず説明し,次に具体的な1日の流れを説明する.
ページの内容
以下のような内容のページを作り,毎日複製していく.
- つかんでいるタスクの一覧
- Scrapboxにあるチェックボックス(
[_]
/[x]
でチェックボックスを出せる)をタスクの頭につけておく- 終わったらチェック入れる
- 適宜,1時間レベルにまで見積りしておく
- 1時間よりも大きければ1時間レベルになるまで分割する
- Scrapboxにあるチェックボックス(
- 今日やるタスクの一覧
- つかんでいるタスクの一覧から移動してくる
- MTGがあればそれも入る
- メモコーナー
- 同僚のアクションでこれ良いな〜真似たいな〜みたいなのをメモしておく
- これ調べたいな〜みたいなのはタスクに入れることもある
1日の流れ
一日の流れはこういう感じ.
- 今日やるタスクリスト通りに動いていく
- 見積った時間でタイマーをかけて,タイマーが見えるようにしておく(時間を意識する)
- 思っていたよりもずれが出た場合はそれを書いておく
- 終わったらチェックボックスにチェックを入れる
- その日の終わりに,ページを複製する
- doneになっているタスクは削除する
- また明日やるタスクを組んでおく
- 明日あるMTGとかで実働どのくらいになるか予測しておく
- まあこのくらいいけるでしょう,みたいな感じでデッキを組む,みたいな感じ
タイマーをかけてそれが見えるようにしておく,というのが個人的なヒットで,とにかく時間を意識する.自分はダラダラやって計画が崩壊するタイプ(夏休みの宿題とかもデスマになっていた)なので,どのくらいかかるか考える→その時間通りに終わらせる→ずれを計測して次に活かす,というサイクルをちゃんと回すように意識している.
いまのところこの方法でタスクがけっこう捌けるようになっている.
終わり
- 小さな改善だけどうまく積み上げられている気がする
- これからも頑張って進捗マックスを目指していきたい