アジャイルに関する世界観です。
ウォーターフォールモデルでは、システム開発をあらかじめ決められた複数の工程に分割し、その工程をひとつひとつ順々に追って開発を行うため、一貫性はあるが、後々の工程から前の工程に戻ってやり直すことが難しい。アジャイルでは、短いスパンとサイクルで反復しながら開発を行う。アジャイルの例としてエクストリーム・プログラミング(XP)がある。
ウォーターフォールも参照のこと。
ユニットテストとは、プログラムをユニット(単体)に分割して、自動的にテストすること。
ユニットテストも参照のこと。
プログラマが2人でペアとなってプログラミングを行うこと。
プログラムの外部インターフェースを変えずに、コードを整理して書き直すこと。
最近、ITの開発の現場では、ウォーターフォールが見直されてきています。
以前は、「ウォーターフォールは古い」「アジャイルが正義」みたいな空気感がありましたが、実際はアジャイル開発を行うと、どれだけの納期でどのような成果物が得られるかを明確に決められないことが多く、金融や医療、税金で作る行政のプロジェクトなどには、本質的にアジャイルは向いていません。
アジャイルにおいては、途中で仕様を変更できることが利点とされますが、開発過程で仕様を変更するあまりに、あれも変える、これも変えるといって、目的となる成果物から遠ざかってしまうことがあります。
また、きちんとドキュメント化をしなければならない場面であるにもかかわらず、「アジャイルだからドキュメントは要らない」といって、ドキュメント化がないがしろにされることが多々ありました。
それから、生成AIの普及に従って、AIにどのようなプログラムを書かせるかという「仕様」を明確にしなければ、AIが適当なものを作ってくることが多くなり、柔軟性よりも明確性が重要視される時代になりました。
今の時代は、「ウォーターフォールだけ」でも「アジャイルだけ」でもなく、ウォーターフォールとアジャイルをハイブリッドで組み合わせながら、たとえば最初と最後の仕様書の決定はウォーターフォールで、途中の内部チームでの開発はアジャイル開発で行い、実際のコードは生成AIに書かせてコストを減らすような、ハイブリッドスタイルが少しずつ取られるようになってきています。
以下の動画では、そのような新しい時代のウォーターフォール開発について紹介されています(以上の解説は以下の動画を参考に執筆しました)。
2026.05.17
ドメイン駆動設計(DDD)はソフトウェアの開発手法のひとつ。開発の際に「ドメイン」とされる、開発の前提となる専門知識とビジネスルール・ビジネスプロセスを作り、ドメインモデルを構築して、コードにドメインを忠実に反映させることで、プログラム開発を行う。
ドメイン駆動設計において、ビジネスの専門家とプログラムの開発者の間で使われる共通言語のことを「ユビキタス言語」と呼ぶ。
2026.01.29
2026.02.01編集
ドメイン固有言語(DSL)は、特定の目的に特化したコンピュータ言語のこと。たとえばSQLやJSONなど。汎用プログラミング言語の対義語。
2026.01.29