ボトムアップ開発とトップダウン開発

こんにちは、バズー株式会社、開発チームリーダーの清水です。

世の中の開発手法を強引に2つに分けると、ボトムアップ開発とトップダウン開発に分けられます。本エントリーでは、ボトムアップ開発とトップダウン開発について思うことを述べてみたいと思います。

トップダウン開発

仕様をきっちりがっちり固めてから、詳細仕様書を起こし、プログラム開発を行うモデルです。俗に言うウォーターフォールモデルがこれに当たります。

トップダウン開発のメリット

・出戻りがないプロジェクトならこれが一番効率的な開発手法です(実際にはほとんどありえませんが・・)
・数百人月とか、かかるプロジェクトならこれ以外の開発手法は現実的ではないでしょう

トップダウン開発のデメリット

・出戻りを考慮していないので、基本仕様を変えたいとクライアントが言い出すと、収束のつかないデスマーチに突入します・・・
・短納期&用件がコロコロかわるウェブアプリケーションには向きません

ボトムアップ開発

とりあえず動くものを作ることを優先にする開発手法です。XPとかアジャイルのような開発手法がこれに相当します。

ボトムアップ開発のメリット

・小回りが利くので、劇的な開発速度を求める場合にはピッタリです

ボトムアップ開発のデメリット

・いままでやったことがない分野、完全オーダーメイドのSI案件では、設計が迷走し、内部的にはかなり汚くなる場合があります
・多人数で行うと確実に破綻します。スーパープログラマが1人(または数人)で開発するときに一番効果が高いです

ちなみに、自分は動きながら考えるタイプなので、ボトムアップ開発型です。人生は有限ですからね。無駄な時間を費やしている暇はありません。