この記事は、適応型ソフトウェア開発 アドベントカレンダー 2024 の 7日目です。
適応度地形について
適応型ソフトウェア開発を進める書籍でジム・ハイスミス氏はよくプロジェクトを山登りに例えて表現する。
筆者はこの適応度地形という言葉もその山登りをメタファーとして、プロジェクトをとらえた結果生まれてきた概念だと認識している。
適応度地形とはなにか
ここで筆者も山登りを例に表現したいと思う。
山登りといっても、いろいろ分野が違う。
例えば、ピクニック・日帰り登山・ロッククライミング・エベレスト登頂といった具合に、難易度や表情、過酷さが如実に変わってくる。
何を登ろうとしているのかによって、装備も変わってくるものだ。
このような環境の違いを適応度地形という表現をしている。
開発に置き換えて考える
この適応度地形という考え方を、開発案件に置き換えて考えてみたい。
ピクニックのような趣味の個人コーディングや1週間程度で終わらせることができる社内ツール開発、実際に顧客に届けるプロダクト開発や、人命の関わるシステムの開発など、それぞれ難易度や表情は違う。
このそれぞれの状態や地形に応じて、我々も上り方を模索する必要が出てくる。
ピクニックに行く装備でエベレストには挑めないし、ロッククライミングをするための装備やチョークをピクニックにもっていく必要もない。むしろ身重になってしまい、つまらない。
適応度地形を意識する
このように案件が有している地形情報を適切にとらえ、その時に必要な装備・準備・対策を常に講じることで、最適な開発体験を進めることを意識する。
これが適応型ソフトウェア開発における、適応度地形という考え方だ。
筆者のスクラムフレームワーク選択の失敗について
ここで改めて筆者のスクラムフレームワーク選択の失敗について振り返ってみたい。
詳細はこちらの記事を見てもらえると嬉しい。
これはまさに適応度地形をとらえられていないことで起きた、準備・装備のミスマッチだ。
作るものがわからない状態
この創るものがわからない状態でスクラムのようにフォーカスしていくフレームワークを選択したことが、装備のミス。
創るものが見えていない段階で、チームの速度を測ろうとする心は、間違った準備だった。
このように案件を完了させるだけのスキルを持ったチームだったとしても、適応度地形を勘違いすると、全く通じなくなる。
それもそのはずだ。
まとめ
何を登るのか、どんな装備で行くのかを考えずに、登山を始めたらそれはもう頓挫してしまうことは明白だと思う。
最悪遭難してしまうだろう。
従って、アジャイル開発やウォーターフォール開発でも、それに適した適応度地形が存在する。
そのため、どのタイミングで何を選び、どう使うのかをしっかり考えて選定することこそ、開発や通年通して行う仕事を進めるためには必要なマインドであることを学ぶことができた。