こんにちは!JUNです。
チームで開発を進行する際に「方法」について考えたことは、あまりない人も多いと思います。普通は企画、デザイン、エンジニアで分けて、スケジュール通り進行すればいいんじゃない?と思うかも知りません。
ですが、現実はそう簡単ではないです。エンジニアは、デザイナーの意図が分からなかったり、ディレクターが求めている方向性が、最終的に反映されなかったり。特にクライアントワークになると、問題点はさらに多くありえます。
今回はチーム開発でメジャーとして使えているウォーターフォール(Waterfall)開発と、最近多くのベンチャーで取り入れている、アジャイル(Agile)開発について紹介したいと思います。
定番のウォーターフォール開発
「ヒヤリング→企画→デザイン→コーディング→テスト」のような、我々が日常的に使っている方法です。滝の水の流れみたいに段階をしっかり踏んで、プロジェクトを進行する方法です。
歴史も長く安定している方法でもあるので、しっかりと計画が立てられた長期のプロジェクトで最もよく採用されています。決まった順番で各パートの役割がはっきりしているので、プロセスを管理しやすいのもメリットだと思います。
ですが、初めても言いましたが、現実的に各段階を明確に分けて、その段階のタスクが完全にクリアされ。次に行くというのは、WEBの開発ではほぼ不可能に近いです。
そしてクライアントワークになると、コミュニケーションの問題もあるので、進行はさらに難しくなります。これがウォーターフォールの大きなデメリットですが、クライアントは最終段階にならないと、依頼したモノの実物を確認することはできません。もちろんデザイン案を出したり、緊密にコミュニケーションを取ったりして、実物をイメージしてくださるありがたいクライアントさんもいますが、クライアントはWEBについては素人の場合が多いので、最終段階で実物を確認したから、修正の依頼が始まることが多いです。
すでに開発が終わった段階で、前に戻るのは滝を遡るのようで、工数と費用が発生します。こういったウォーターフォールのデメリットをカバーするために、最近主流として取り入られているアジャイル開発です。
柔軟なアジャイル開発
アジャイル開発は「Agile=機敏」という意味で、いいアイデアは早く実装して違うと思ったら捨ていい結果は残して次に行く。各段階とクライアントのコミュニケーションを重視する進行方法であります。
全体的なスケジュールを組んで進行するウォーターフォールとは違く、短いスパンでプロトタイプを作りながらコミュニケーションをとって、全体的なプロジェクトを作る方法です。実にクライアントはもちろん、全員がすべての過程で参加できるので、質のいいコミュニケーションができるというメリットがあります。
アジャイル開発を投入する会社が多くなったので、Adobe XD, InVisionなどアジャイル開発を支援するツールも多くなりました。
アジャイル開発は全員の意見をまとめるディレクターの役割がっもっとも大事になります。
最後に
2つの方法について皆さんはどう思いますか?
僕は進行方法はガイドラインであって根本的な問題の解決にはならないと思います。
明確なゴールがいて、そこにたどり着くための道が見える。さらにタスクの適切な分担と、優先順位をつける。いいリーダーがいて信頼感がのあるチームはどんな方法を使ってもいい結果を出すと思います。
最終的に、根本的な話をしてしまってすみませんが。笑
どんな方法でプロジェクトを進んでいるかは一度考えてみてもいいと思います!
では