この記事は、適応型ソフトウェア開発 アドベントカレンダー 2024 の 8日目です。
集中と俯瞰の切り替えについて
スクラムフレームワークは全員で目的に向かって集中=フォーカスして突き進み、より早く価値を提供する目的で使うものだと筆者は理解している。
では、適応型ソフトウェア開発ではどうだろうか?
適応型ソフトウェア開発における目線
適応型ソフトウェア開発では、発散・俯瞰=マルチタスクでカオスに向き合っていくことで、何が必要で大切なのかを明らかにしていく目的で使うものだと理解した。
発散的に進める
そもそもつくるべきもの・提供するべき対象がわからない状態で進めなければならない、プロダクトディスカバリー段階のプロジェクトで特に進化を発揮する。
プロダクトディスカバリー段階では、大きな達成したい文脈だけ存在しており、そのほかは何も定まっていない自由な状態であることが多い。
その中で制約と誓約をしながら、おぼろげに造形を見つけていくものだ。
カオスの淵
適応型ソフトウェア開発では、「カオスの淵」というキーワードが良く出てくる。
この「カオスの淵」というものがとても重要だ。
このカオスの淵を前提として、何を俯瞰し、何に集中するのかを解説する。
俯瞰
得たい結果に到達するため、適応度地形を意識する必要がある。
どんな縛りがあり、難しさがあるのか、どこが歩きやすいのかをまず知る必要がある。
適応度地形については、こちらの記事を参照。
https://qiita.com/h-kinocoboy/private/24e9d27f4796a4e419e8
得たい結果への道筋
これは足元ばかり見ていても何もわからない。
常に頂上付近を観たり、いろいろな角度からの情報を使いながら進行しなければならない。
そのため、案件全体を多角的に様々な粒度で把握し続けることが大切になる。
つまり、適応型ソフトウェア開発では、達成したい目的を多角的に様々な解像度を使って俯瞰することが大切である。
それでは、集中はどうだろうか。
集中
得たい結果を見るために、あちこちから俯瞰するのはまぁよい。
ただし、先ばかり見ていても足元がおろそかになってくる。
大きな文脈を相手にしていたとしても、実は今すぐに手を付けられる領域も存在している。
それが、「カオスの淵」である。
このカオスの淵の解像度を上げていくことで、より具体的に大きな目標への距離が明確になっていく仕組みだ。
つまり、適応型ソフトウェア開発では、速攻で手を付けられるタスク=カオスの淵に対して、集中することが求められる。
マルチタスク
ここで大切になってくることが、マルチタスクであることだ。
俯瞰を解説する際にもキーワードとして出てきた「多角的」という概念が大切になる。
多角的
多角的に進行することで、さまざまな視座から目標を俯瞰することができたり、集中した結果解像度を多方面から上げていくことができるようになる。
このように目的までに解像度をとにかく早く上げていくことに特化する事が大切なことだ。
ではどうやってこの多面的なものを観測していけばいいだろうか。
それはシンプルである。
カオスの淵をとにかく同時多発的に触り続けることだ。
カオスの淵を並列で理解していく
この手始めに進めることができるタスクを並列で理解していくことが重要である。
実際に「完了」するタスクではないことが多いため、ここで使う完了の定義としては、
学習・思案・協調といった状態を前に進めることを使って進める。
https://qiita.com/h-kinocoboy/private/606781082146d8c29474
このようにカオスの淵に対して、状態を意識し、前進させていくことで、
目的達成のために何が必要で、何をしなければいけないかが多角的に理解することができるようになる。
これが適応型ソフトウェア開発の強みだ。