段階的アプローチ
開発に疎いWebデザイナーさんはぜひ参考にしてネ!段階的アプローチについて。
2009-12-11 22:48:21
入力時間 / 24:09
開発の相談とか請けるのです。よくあるのが全米が泣くほど壮大なスケールの見積依頼。
そこでシステム開発・プログラム開発において段階的アプローチという切り口をご紹介します。
段階的アプローチとは
一度にドカッと作るのではなく、確実に必要な部分からスモールスタートでフェーズ(段階)を分けて、段階的に作り込んでいく方法です。もうそのまんまですよね。でもなぜか皆さんドカッと一発で作りたがるのはなぜなんでしょうか。開発において一度にドカッと作る事は非常にリスクが大きく、またコストも高く付くケースがほとんどです。ちなみにフェーズは3~5段階で区切る事が多いんじゃないかしら。
リスクヘッジという側面として
段階的アプローチがなぜリスクヘッジになるかというと、必須構成のみを構築することでイニシャルコスト(初期費用)をまず大幅に抑える事ができますよね。ようは費用対効果を考えた時に、企画段階で挙がった不要な機能、あったらイイナ♪的な機能など、確実に有益又は必須と言えない機能を含めて考えると割とコストも高くなります。また、実益・利益の回収が不鮮明なため実装したはいいけど使わない機能なんて多いですよね。
インターフェースとユーザビリティ最適化という側面として
最初にすべての機能を突っ込むと往々にしてインターフェースはハチャメチャ。実際には使っていく過程で機能毎にプライオリティ(優先度・重要度)が見えてくるものです。「このボタンここに無くていい」とか「ここにあのボタンあったらなぁ」なんて思うことありますよね。すべて実装後にテコ入れするのは大変ですが、運用テスト期間を経て次フェーズで改修をかければリプレイスしなく済むため安価でインターフェースの最適化を行うことができるというわけです。ようは机上の空論ですべてを設計するなんてムチャってことですよね。実際にオペレータが使ってみて、使用感を確かめてから作りこんでいっても遅くないって事です。
効果測定・運用テストがしっかりできる
実際に使い始めて「あ~こんな機能あったらもっと便利なのに・・・」なんてよくある話です。家を買った時なんかもそうですよね。実際に住んでみるまで不便か便利か想像できない場合もあるわけです。一度に完結させてしまわない事で実際に使用感をリサーチして、それをフィードバックさせることを想定できれば、あらかじめ拡張性のある柔軟な設計をすることも容易です。
クライアントに死に金を出させない
クライアントは往々にして欲張りです。アレも実装したい!コレも実装したい!とにかく思いつくまま機能を羅列した要件を突きつけてきます。そういうクライアントにはまず「オチツケ」と言ってやりましょう。クライアントの気持ちは痛いほどわかります。でも大部分で決済権を持っている人と使用者は別な場合も多いわけです。であればより使用者(現場)の意見を尊重したほうが良い事は当たり前ですよね。機能盛りだくさんにしたわいいけど結果的に使わなかったら死に金と同じです。最初は多少不便でもいいんです。確実に使いやすいものを作るためには「育てる」という感覚が必要不可欠ですからね。
マンパワー(人力)の少ない企業でも大丈夫
段階的アプローチのメリットはなにもクライアント側だけのものではありません。段階的に少しずつ組み立てていく事でマンパワー(人力)の少ない企業でも大規模な開発を行う事ができるのです。中規模・大規模開発はデスマーチに陥りがちですが、無駄の一切を排除し、必要なものを段階的に実装することでデスマーチからも逃れる事ができるわけです。
段階的アプローチの好例・悪例
とても顕著で有名な例としてはMacOSですね。MacOS 9からMacOS Xに移行する際、アップルは2年間の移行期間・ラーニング期間(習得期間)を設けました。これは非常に緻密な伏線であり、周到に計画されたものでした。2年間の時を経てMacOS 9からMacOS Xへの移行は驚くほどスムーズに完了したことは言うまでもありません。
それに対して悪例としてはMicrosoft Windows Vistaですね。皆さんもご存知の通りアナルから臓物が飛び出すほど急激なインターフェースの変更に大部分の人たちは戸惑いを隠しきれず市場がxpを選んだ事は皆さんも記憶に新しいと思います。ようは段階的に少しずつならしていくのではなく急激な変化に市場は付いてこれないってことですよね。
まぁ例えるならいきなり熱い風呂に入ったらビックリするけど、少しずつ温度を上げていけばそうでもないってことですね。あ、これわかりやすい例えかも。ホームページやアプリケーション、システムの導入についてもそうなんですよね。無理やり超高機能な基幹系のシステムを導入してみたけど、誰も使わなかった・・・。とか結構よくある話です。学習・認知そして改修をしっかりと意図的に、計画的にあらかじめ予定しておくことでよりスムーズな導入ができるわけです。
WPとMTもそうなんです
ブログだ、CMSだと騒ぎ騒がれ各制作会社さんはこぞってMTだのWPだのを導入しました。でも実際どうでしょうか。そのCMSちゃんと使われてますか?提供する側は商材に対しての予備知識があるからオススメするのはわかります。でも我々デベロッパやクリエイタと一般のオペレータとの間には大きな技術・知識の差があります。しっかりとクライアントにラーニングの期間を設けたり、運用指導をしっかりしているならいいんです。でも自身が使っていて便利だからと導入したところでクライアントは使えないんですよね。
クライアントに頼まれた事をそつなくこなすことが仕事では無いと私は考えています。
十分な知識を持たないクライアントに、予算・用途・目的に併せた形で無駄の無い様、負担が掛からないよう段階的アプローチでクライアントを育てていくのも私たちの仕事ですよね。
P.449