この記事は、適応型ソフトウェア開発 アドベントカレンダー 2024 の 6日目です。
簡単なルール
適応型ソフトウェア開発には簡単な鉄のおきてがある。
それは、
「簡単なルール」× 「豊かな人間関係」 = 圧倒的な適応力を得ること。
これと実はもう1つある。
それは、
「状態の変化を常に最新化すること」
だ。
学習・思案・協調について
適応型ソフトウェア開発における「状態」とは、以下の3つの要素をさす。
今回はこの1つ1つを解説する。
学習
「学習」状態とは、何か始める前にこれからどんなことをするのか・そのためには何が必要なのか?わからないことは何か。を見極める必要がある「状態」を示す。
この学習状態というのは、非常に大切で、これからやることが何かまだわからないし、何をするのか決めるためにも情報やリサーチが必要になるケースが多々ある。
なので、適切な判断ができるように、学びを得るためにインプットをすることが求められる状態を学習とよぶ。
思案
「思案」状態とは、学習して得た結果やリサーチして手に入れた知見をもとに、私たちはどちらの方向に一歩踏み出してみるかを決める状態を示す。
実際思案といいつつ、本格的に何かを考えきるわけではない。ここが大事だった。
簡単に木の棒を倒して、まずこっちにすすんでみようか。とみんなで方向性を決めていくことが求められる状態であると考えてもらえるとよい。
協調
「協調」状態とは、思案した方向にみんなで進んでみたり、何かワークをしてみるといった、チーム活動を示すことが多かった。
例えばデザイナーさんと一緒に何かを決める。プロダクトオーナーと一緒に動く。
クロスファンクショナルなチームだと、横断的に動くことも可能になっているため、そこで何か一緒になってアウトプットを出してみるような状態である。
大切なことは、この成果物は実際の商品でなくてもよいというポイントだ。
状態の使い方
この状態は、単独で使うものではなく、次の状態に「至る」ために使う。
この状態は3つそれぞれリンクしており、学習→思案→協調→学習→思案....といった具合に繰り返し回っていくことを期待している。
つまり、このように解釈できる。
- 思案できるように、XXXXを学習する
- 協調できるように、XXXXを思案する
- 学習できるように、XXXXを片付ける
といった具合に、次の状態に至るための方法としてその状態を乗りこなすことが大切になってくる。
状態変化
この状態変化を毎回チームメイトに確認しながら進めると、非常にコストが高いフレームワークになってしまう。
そこで簡単な鉄のおきてである、「状態を常に最新化しておく」ということが最重要視されるのだ。
状態を常に最新化する。
この状態を常に最新化する方法は何でもよい。
バックログでもいいし、スプレッドシート、伝聞でも構わない。
どんな手段をもってしても、チームメイトの間で常に状態が明確なことを目指すのが、適応型ソフトウェア開発ではとても重要だった。