週次進捗会議を『イテレーション振り返り』と称することでアジャイルな雰囲気を醸すこと
ソフトウェア開発プロセスにおいてウォーターフォールと並ぶプロセスとして、アジャイ開発プロセスがすでに確固たる地位を気づいてもう何年たったでしょうか?
ウォータフォールに最適化された組織に見えた大手SIerでさえもアジャイルプロセスのメリットを取り入れようと舵を切っている*1昨今ですが、意識の特段高くない開発者が多い組織だと『アジャイル』のアの字もなかったりします。
自分もそんな、組織の一員なわけなのですが*2、アジャイル開発プロセスのメリットは享受したいなと思うんですよね。
ただ、開発プロセスなので自分ひとりでワーワー言っても始まらない。
プロジェクトマネージャー、プロジェクトメンバー、ひいては顧客まで含めたプロジェクトにかかわる全員がアジャイルとは何ぞやというところを理解して取り込むのが一番理想的なんじゃないでしょうか。
ただし、そこは意識の高くない組織です。アジャイルの用語(と言って良いかわからないけど)とかScrumの用語とかいきなり使っても誰も理解できませんし、そもそもアジャイイル開発プロセスの良いところ積極的に取り入れようという意識も希薄なもんです。
過去にいい感じにアジャイルにカブレた僕は『今度イテレーションのレトロスペクティブをやるんじゃ!』みたいな横文字過多な表現でイテレーションごとの振り返りをチームメンバーに伝えようとしたのですが、そもそも理解が追い付いてない上に僕自身も頭でっかちかつ、形から入った状態なのでそこまでアジャイルの良さを感じることができませんでした。
ここで根本なんですが、アジャイルの良さってなんでしょうね?
色々な側面がありますが、
『顧客に価値を提供するために変化を受け入れる』というところ
それを自分のプロジェクトに根付かせたいと僕自身は強く願っており。*3
ただ、決まった仕様に従って淡々とプログラム作れば良いやみたいなソフトウェアエンジニアはオフショアとの価格競争というレッドオーシャンにビーサンいっちょで飛び込むようなものです。
一時のアジャイルかぶれから脱したもののどのようしたらにプロジェクトがそのアジャイルの良さを享受できるのかいまいち分からない状態が最近までありました。
で、一つ気づいたのは、僕自身はアジャイル関連の本を読んだりしてアジャイルのことについては色々考えたり勉強したりしていたけど、プロジェクトメンバーのことは考えたり観察したりしていたのかな?
いや、自分はプロジェクトメンバーにあまり向き合ってこれていなかったんじゃないかな?と。
そういう気づきのもとにじゃあどうするか?と考えたときに。
『性急なアジャイルの導入ではメンバーはついて来れない。(ついて来れるにしても人によってバラバラ。)』
そこからもう一歩考えを進めると、『我々に合った形でアジャイルを変容させて取り込むのも有りなんじゃないかな?』というところ考えが進みました。
そこで、打った布石はこんな感じ。
- 朝会をする
- 週次進捗会議をする
朝会とかアジャイルのプラクティスだけど週次進捗ってどこがアジャイル?って感じですね。
でも、同じ内容でもこう表現したらどうでしょう?
- 朝会をする
- イテレーション振り返りをする
なんかアジャイルっぽい!
正直、中身はウォーターフォールでのWBSを確認しながらの週次進捗とほとんど変わりない内容でもアジャイルっぽい名前にしてみました。
そして、ちらちらと『これはアジャイルのプラクティスで生産性をあげるために我々は取り入れているんだ!』ということを念仏のように言い続けること4年ほど。
少しづつ、"イテレーション振り返り"の中でストーリーポイントを利用したアジャイルな見積もりをしてみたり、チケット駆動開発かつ、カンバン的なプラクティスを取り入れてみたりという変化を取り込んで最近やっと、
名実ともに『イテレーション振り返り』というものができるようになってきた気がします。
上を見たらキリがないけど、凄い人がいない。意識もそんなに高くない小さいソフト開発組織で少しでも向上していくにはどうしたらよいかと考えながらやってきたことが少しだけ形になってきたので、ここに書き残しておきます。