アジャイルとデザイン
はじめに
現代のプロダクト開発において、アジャイルは主流な手法である。しかし、デザインとの整合性をどうとるかの問題がある。本稿では、アジャイル開発とデザインの基本的な考え方を整理し、両者の連携における課題と処方箋を整理する。
アジャイル開発
アジャイル開発は、ソフトウェア開発の現場から生まれた、変化への適応を重視する手法である。短いイテレーション(スプリント)を繰り返し、継続的に価値を顧客に届ける。計画よりも対話、ドキュメントよりも動くソフトウェアを優先する考え方。これにより、市場の変化やユーザーのフィードバックに素早く対応する。
特に、スクラムはアジャイル開発を実践するための具体的なフレームワークである。スクラムには、以下の要素がある。
役割
-
プロダクトオーナー: プロダクトの価値最大化に責任を持ち、プロダクトバックログの管理を行う。
-
スクラムマスター: スクラムのプロセスが円滑に進むよう支援し、チームの障害を取り除く。
-
開発チーム: スプリントごとにインクリメント(成果物)を作成する。
イベント
-
スプリントプランニング: スプリントで何を作り、どう作るかを計画する。
-
デイリースクラム: 毎日短時間で進捗を共有し、課題を特定する。
-
スプリントレビュー: スプリントの成果をステークホルダーに示し、フィードバックを得る。
-
スプリントレトロスペクティブ: スプリントのプロセスを振り返り、改善策を検討する。
作成物
-
プロダクトバックログ: プロダクトに必要な機能や改善点のリスト。
-
スプリントバックログ: 現在のスプリントで開発チームが取り組む項目。
-
インクリメント: スプリントの成果物で、利用可能な状態にあるもの。
これらの要素が連携し、短いサイクルで開発と改善を繰り返すことで、効率的な価値提供を目指す。
デザイン
デザインは、ユーザーの体験と認識をよいものとするために、ユーザーの課題を特定し、解決策を構想し、具現化する活動。
ユーザー中心のアプローチをとり、体験の一貫性や品質を追求する。アジャイルの反復的なプロセスは、デザインサイクル(探索、構想、具現化、評価)と親和性が高いように見える。しかし、実装・開発プロセスをベースとした考え方は、デザインが本来持つべき広範な視点や時間軸との間で課題を生むことがある。
そして、多くの場合相対的にエンジニアの人数のほうが多いため、見過されやすい課題である。
デザインにおける時間軸の課題
アジャイルの短いスプリントは、デザインに具体的な課題をもたらす。
スプリント単位でやるべきことが厳密に決まっている状況では、デザイナーは十分な構想時間を確保できない。目の前のタスクに追われ、プロダクト全体の長期的な視点や、ユーザー体験の全体最適を考慮する余裕はない。
結果、デザインは場当たり的になる傾向がある。機能ごとに場当たり的に実装が進み、一貫性のないユーザー体験が提供される。これは、ユーザーへの価値提供に潜在的な挑戦余地を残す。
2つの時間軸
デザイナーはアジャイルの枠組みによらず、2つの異なる時間軸でふるまうべきだと考える。このアプローチは、特に「スプリント内で完結する」という考え方に反すると捉えられるかもしれない。
開発プロセスは無駄を最小限に抑えることを重視するが、デザインは性質が異なる。デザインは、常に完璧な答えを最初から見つけるものではない。多くの仮説を立て、検証し、時には多くのボツ案を生み出すプロセスである。この探索と失敗の過程こそが、価値ある解決策を見つけるために不可欠である。デザインにおける無駄は、より良い解を見つけるための標準的な作業である。
スプリントの枠組みの中で、この探索的なプロセスを十分に実行することは普通無理である。そのため、デザイナーは以下に示す2つの時間軸を意識し、活動を最適化する必要がある。
スプリントの時間軸(短期的な実行)
中長期の構想に基づいた具体的な実装と連携。
-
機動的な対応: 短期間で得られたインサイトに対し、柔軟にデザインを調整し、解決策を提供する。
-
デリバリーのためのデザイン: 中長期の構想に基づき、現在のスプリントで実装する機能の詳細デザインをおこなう。ここでは、すでに方向性が定まっているため、効率的に作業を進められる。
-
開発チームとの密な連携: スプリント内でエンジニアと協働し、デザインの意図を正確に伝え、実装の品質に貢献する。
中長期の時間軸(複数のスプリントを包摂)
デザインの探索と構想。ここでは、スプリントの制約を無視し、より広範な視点で活動する。
-
プロダクト構想: 複数のスプリント先を見据え、プロダクト体験のビジョンや方向性を描く。これにより、短期的な機能追加が全体的なユーザー体験と整合するようにする。
-
リサーチ: ユーザーの深いインサイトを探求する。これは、特定のスプリントの機能要件に直結しないユーザー調査に取り組み、チームにインサイトを提供する。
-
プロトタイピング: 将来的な体験の仮説を検証するため、高レベルなプロトタイプを作成する。この段階で多くのアイデアを試し、失敗から学び、最適な方向性を見極める。
中長期の活動で得られた知見や構想は、スプリントの計画にフィードバックされ、スプリントでの具体的な実装が、中長期の構想を検証・洗練させる。デザインにおける「無駄」や「ボツ案」は、この中長期の時間軸で積極的に生み出され、それが短期的なスプリントでの手戻りや場当たり的なデザインを防ぐための投資である。これはアジャイルの「早期の失敗から学ぶ」をデザインプロセスに適用しているといえる。
デザインには多くの情報と思索が必要で、インクリメンタルにリリースをして学習するというやり方はその重要な手法の一つである。
補足
デュアルトラックアジャイル?
なお、これはそのままデュアルトラックアジャイルか?というと、必ずしもそうでないと考える。デュアルトラックアジャイルはディスカバリーとデリバリーの二つのトラックを並行して進めることである。
-
上記で提案しているデザイナーの中長期の時間軸は、必ずしもディスカバリーのため、デリバリーのためと規定しているわけではない。ダブルダイヤモンドでいう課題空間・解決空間どちらにも関与することを想定している。
-
また、ディスカバリーとデリバリーに関わるメンバーを分断することは望ましくなく、2つの時間軸どちらも他のメンバーと接点を持つべきだし、ボツ案を展開し続けることが重要である。
忙しくてできない?
-
中長期の動きの貯金がないままとりいれると、そりゃそう。 ただし、抽象的な問題からのキャッチアップは、結局スプリントの時間軸でも高い解像度とすでにある「一度考えたことのある解決策」を携えて素早く対応できるようになってくるはず。
-
ぜひ効率化したほうがよい
職種で語るべきではなくない?
一理ある。それでは全員でデザインプロセスに取り組むか、メンバーごとに動き方を分けるかとなる。
ご意見をお寄せください
この記事の内容は独自研究ですので、フィードバックや議論がある方はお気軽におしらせください。