アジャイル開発
短い反復で試作と検証を重ね、変化に応じて計画を見直しながら進めるソフトウェア開発の進め方を指す。
意味
アジャイル開発とは、あらかじめ全体を細部まで固めてから一気に作り上げるのではなく、短い期間の反復(イテレーション)を繰り返しながら、動くものを少しずつ育てていく開発の進め方を指す。各反復の終わりに成果を確かめ、得た学びを次の計画へ反映していく点に特徴がある。
この進め方の背景には、要求は最初から確定できず、作りながら変わっていくものだという前提がある。だからこそ、変化を歓迎し、顧客や利用者との対話を重ねながら方向を調整する姿勢が重んじられる。計画に従うことよりも、変化に応じることに価値が置かれる。
ブランドやサービスづくりの観点では、アジャイルな進め方が顧客体験の改善サイクルと結びつく。仮説を小さく試し、反応を見て磨いていく流れは、デジタル上の体験を継続的に整えていく営みと相性がよい。
成り立ち
アジャイル開発の考え方は、2001年に技術者らが発表した『アジャイルソフトウェア開発宣言』(Manifesto for Agile Software Development)によって整理・共有された。宣言は、対話・動くソフトウェア・顧客との協調・変化への対応といった価値を掲げ、以降の反復型開発の広がりを支えた。
アジャイル開発とリーンスタートアップの違い
リーンスタートアップは、その事業が成り立つかを確かめるための手法であり、扱う問いは何をつくるべきかにある。アジャイル開発は、つくると決めたものをどう作るかという進め方を扱う。問いの階層が違い、前者が手前、後者が後ろに位置する。
取り違えると、作る体制だけを反復型に変えて、作るものの妥当性は誰も確かめない状態が生まれる。短い周期で動くものが出続けても、そもそも求められていない機能を速く積み上げているだけということはありうる。速さは、方向が正しい場合にだけ利点になる。
リーンスタートアップの項へ →アジャイル開発とデザインスプリントの違い
デザインスプリントは、短い期間に集中して案を形にし、方向を決めるための一回限りの取り組みである。アジャイル開発は、決まった方向のもとで反復を続ける継続的な進め方を指す。期間の区切り方と、繰り返すかどうかで分かれる。
役割の面でも切り分けられる。前者が答えるのは、どの案で進めるかという分岐の問いである。後者が答えるのは、選んだ案をどう育てるかという継続の問いになる。分岐の問いが未解決のまま反復を始めると、周期ごとに方向の議論が蒸し返される。
デザインスプリントの項へ →使いどころ
ソフトウェアやデジタルサービスの開発体制を語る文脈で、従来の一括計画型(ウォーターフォール)と対比して用いられることが多い。手法名やフレームワーク(スクラム等)と混同されやすいが、本来はそれらの土台にある価値観・進め方を指す語である。
実務でのチェックポイント
- 直近の周期で、当初の計画から変えた項目と、その変更の理由を挙げる。理由が要望の追加だけなら、学びによる変更が起きていない。
- 周期の終わりに、動くものを実際に触って確かめる場があるか見る。報告だけで完了しているなら、確認は書面の上で止まっている。
- 事業側の判断ができる人が、周期ごとの確認に参加しているか確かめる。参加がないと、方向の修正が次の周期に間に合わない。
- 積み残しの一覧が、周期をまたいで増え続けていないか見る。増える一方なら、入れる量と出す量の釣り合いが取れていない。
よくある誤解
計画を省く進め方だという理解が広まっている。実際には反復のたびに計画を引き直すため、計画に費やす時間の総量はむしろ膨らむ。省けるのは着手前に細部まで固める一度きりの計画であって、計画そのものではない。長期の見通しを持たないままイテレーションだけを回せば、届いた要望を順に片づける運用へ落ち、半年先に何が出来上がっているのかを誰も語れなくなる。
もう一つは、決めなくてよいという読み方である。後から変えられることと、決めずに進めてよいことは違う。各周期の始まりに何を確かめるのかを決めていなければ、終わりに何が分かったのかも言えず、変更のたびに前提が振り出しに戻る。
よくある質問
アジャイル開発はどんな案件に向きませんか?
要件が最初から確定していて、途中で変える理由のない案件には向きにくい。決まった仕様を決まった期日で作るなら、反復の仕組みは手間の側に回る。向き不向きは規模ではなく、作りながら分かることがどれだけあるかで決まる。分からないことが多いほど利点が出る。
アジャイルにすれば開発は速くなりますか?
総量が速くなるとは限らない。効くのは、間違った方向へ進んだ場合の損失が小さくなる点にある。早い段階で違いに気づけるため、作り直す範囲が狭くて済む。何を作るかが最初から正しい前提なら、反復の手間が加わる分だけ遅くなることもある。
発注する側は何を用意すればよいですか?
詳細な仕様書より、判断できる担当者の時間を確保するほうが効く。周期ごとに確認と決定が求められるため、その場に決められる人がいないと反復が止まる。加えて、何を優先するかの基準を先に共有しておくと、周期内での取捨選択を任せられる。