2023年のふりかえり
2023年のふりかえりをしてみる。
掲げていたこと
2022年は自分の中で上手くいったと思えることが少なく、特にアジャイル関連においては今まで自分が培ってきたものがほとんど通用しないことがあった。
それを踏まえて、自分の中でアジャイルのプラクティスを自分の言葉に落とし込んで、他のメンバーに説明できるようにしたいと思っていた。
簡単に総括すると、一定は上手くいったと思えた。
以前のチームへ出戻り
2022年4月にプロジェクトの新規立ち上げに関わって9ヶ月。今年の1月からは別のチームへ異動した。
2022年からのチーム異動の動きを簡単に整理すると、以下のとおり。
- 2022年1月〜3月 :Aチーム
- 2022年4月〜12月:Bチーム(新規PJ)
- 2023年1月〜3月 :Aチーム
- 2023年4月〜 :Cチーム(新規チーム) ※後述
Aチームに出戻った形となった。
元々別のチームに行こうと思ったけど、諸事情によってこうなった。
結果的には出戻ったことは良い経験になった。
今の自分と出戻ったチームでDiffを取れた
各プロジェクトチームでは、四半期ごとにリリースしたいユーザーストーリーの見積もりをして、過去のベロシティなどを参考にして、ざっくりバーンダウンチャートを引いてリリース計画を立てている。
私がAチームに出戻った時には、すでに初期のリリース計画は済んでいた。
その状態で、出戻って最初のプランニングに参加したとき、「今週は5ポイントの消化予定で考えているので、これらのストーリーをToDoに乗せます」という会話があり、そこに対して違和感を持った。
ToDoに乗せていたストーリーは、合計で5ポイントという量ではあるが、不確実性が高いものがほぼ無かったので、個人的には3日後には余裕で終わりそうな感覚だった。
それを伝えた時に、「でも計画では5ポイント予測なので…」という会話になり、そこで自分とチームのDiffが取れた気がした。
私も1年前だったら、同じことをやっていたと思う。
リリース計画時に引いたバーンダウンチャートによれば、今イテレーションは予測消化が5ポイントだから、優先度高い順に5ポイント分のユーザーストーリーをToDoに乗せて、はい終わり! 解散! みたいな
それは新規PJをやっていたBチームだと全く通用しなかったことを覚えている。
新規PJ、新規チームだったので、各イテレーションでどのくらい消化できるかは全く想像ができなかった。
なので基本的にはコミットメントベースな計画づくりだった。各イテレーションに何を終わらせなければいけないかというイテレーションのゴールを決め、それを満たす為のユーザーストーリーをToDoに乗せて動く。
なんとなく上の方にあったから、このストーリーをやってます、なんて言うと「計画に意思が籠もってない」とよく突っ込まれた。
そういったDiffを今までいたチームと取る事が出来て、より良い計画づくりはどうしたら良いのかと考えを深めるきっかけになった。
一応書いておくと、出戻った時のAチームがよくないプランニングをしていたわけではない(もちろんのびしろはあった)。
しかも上記で書いた違いがその場でパッと言語化できたわけでもない。
ここで言いたかったのは、何かしらの強い違和感を覚えた事が、自分にとって深堀りをするきっかけになった。
なので、環境を変える(しかも出戻りする)事は自分の成長の差分を知れるのと、それを深めることに良い影響を与えたと思っている。
※なお、出戻ったAチームに対して、今までのチームでやっていたことを取り入れようとして、ちょっとチームメンバーから怖がられてしまった為、もっと段階的に取り入れるとか、やりようは考えないといけないなと思った
新規チームの立ち上げ
4月からは私自身がチーム(以下、Cチーム)を立ち上げた。
私自身が一緒に働きたいと思うメンバーを業務委託面談で集め、アジャイルに関して知見がまだ少ないメンバーたちを成長させながらチームを作っていく試みだった。
プロジェクトの内容としては、いま既存である機能の多言語対応だったので、基盤さえ作ってしまえば後は横展開でいけそうなものだと思っていた。
結果として、当初予定よりはスコープも削り、さらにスケジュールも伸ばしてしまうなど、プロジェクトとしてはあまり良くなかったが、いくつか学びは得られた。
よりよいペアプロを伝えるのは難しい
スキル差のあるペアプロは難しい。
自分の知っていることを教えても、自分の伝えていることは単なる情報でしかなく、知識に結びつけられるかどうかは、また別の話になる。
結局その人自身の経験値によってしまうから。
人に教えることについて悩んでいた時に、「私たちはどう学んでいるのか」という本は参考になった。
基本方針としては本人にドライバーを握ってもらうことが大事である。
ではどうやってドライバーをもっと取ってもらうかを促すところには、以下の記事が参考になった。
参考にして、色々試行錯誤してみた結果は、スライドにまとめてみた。
状況が変わることでプラクティスが発揮されない課題
半年ほどやってみた結果、チームメンバーはペアプロやTDD、計画づくりといったアジャイルのプラクティスをある程度実践ができるようになってきた。
それでも状況が変わるとそれが上手く発揮できない、という経験もした。
10月になったら別のプロジェクトをやることになったのと、2名の新しいメンバーを迎えた。
新しいメンバーへアジャイルのことを伝えるのと、別のプロジェクトということで技術的に調査が必要だったということ。
状況が変わること、特に技術的にわからないことが多くてどう進めば良いのか、という状況が続くと、意識的にやっていたアジャイルのプラクティスがおざなりになる瞬間が度々あった(テストファーストになってない、ドライバーナビゲーターがちゃんと交代できてないなど)
意識的にはできるが、別の大きな課題があったときにそれが意識の外に追いやられる感じだと思う。
無意識にやれるようにするには、それこそ常に練習して、ふりかえりをしつづけることが大事だと思う。
アジャイルを体得するのに数年単位で掛かると話を聞くが、それはどんな状況下でも意思的・あるいは無意識的にアジャイルなプラクティスが実践できるか、ということなんだと、今は思う。
今後
ふつうのことをふつうに出来るチームを作っていきたい。