デザインにもあるアジャイルプロセス
プログラマでインタラクションデザイナーとしても知られている Alan Cooper。日本でも「About Face 3 インタラクションデザインの極意」という書籍が最近出ました。そんな彼が最近 Agile 2008 というプログラマー向けのカンファレンスで基調講演をしたそうです。「The Wisdom of Experience」という名のプレゼンでスライドも観覧することが出来ます。
行程を分割し、成果物を明確に定義した後で次のフェイズへ移る「ウォーターフォール型」の開発では柔軟性に欠け、結果的にコストの増加やデザインの失敗に繋がると指摘。アイデア/企画フェイズからデザイン、設計、構築という大まかな流れは従来のウォーターフォール形式を継承するものの、それぞれのフェイズは重なり合うことで、コラボレーションが生まれます。構築はシンプルだったとしても、複雑な問題を解決しなければならない場合も少なくありません。効率よく構築してコスト削減するためにも、企画と構築は少人数で、デザインと設計は可能な限りアジャイル環境で進めて行く必要があると Cooper 氏は言います。
アジャイル開発のメリットはプロセスをより透明化 (文書化とは違う) を必要にする点にあると思います。開発プロセスをクライアントを共有することで、開発のどの部分が難しく、決定を迫られているのか明確になるでしょう。単に見た目を美しくするだけにフォーカスするのではなく、何がソリューションになるのか考える機会を与えてくれます。
「Programming is post-industrial (プログラミングは脱工業社会である)」と Copper 氏はプレゼンスライドに書いていますが、ウェブサイトを作ることそのものが脱工業的だと思いますし、今は違ったとしても次第にそうならざる終えなくなってくると思います。そのひとつの答えとなるワークフローにアジャイルはあるのでしょうね。
微調整を繰り返しながら構築へと進めることが出来るアジャイル環境ですが、技術的な部分を考慮して設計すれば構築出来るというわけではありません。予測が付かなくて時に主観的になる人間の行動や態度を考慮することで、はじめて良いソフトウェアが生まれます。人の行動をすべて予測してそれを製品に反映することは不可能ですが、どういった人に向けて作っているのかをメンバーで共有するためのツールは既に幾つかあります。そのひとつがペルソナであるでしょうし、プロトタイプを作ることもそうです。こうした技術と人を繋げるためのツールを利用していくことが、構築に携わるプログラマーや、クライアントに明確なビジョンを伝えるマネージャー/ディレクターとのコミュニケーションを円滑なものにしますし、コラボレーションが一層しやすくなるでしょう。
大変参考になるスライドでしたが、さらに興味深かったのが Coopers 氏のプレゼンは、スピーチではなく一字一句ノートを読みながら話したそうです。インタラクションデザイナーとして知られてる Coopers 氏が、参加者がほぼ 100% プログラマーのカンファレンスで基調講演。プログラマーの間では浸透してきているアジャイル開発がデザインにも言えることであるということを『部外者』が伝えるということでミスを許したくなかったそうです。彼の責任感と情報を伝えるという視点が伝わってきますね。
関連記事