「アジャイルを採用した開発プロジェクトの失敗率はその他の手法と比べて268%も高い」

「ウォーターフォールは一切メリットがないので避けるべき」

 こんな一見すると相反する見解が一部SNS上で広まり議論を呼んでいる。システム開発の現場において、アジャイルもしくはウォーターフォールを採用するとプロジェクトが失敗・難航するリスクが高まるという実態はあるのか。専門家の見解を交えて追ってみたい。

 江崎グリコやユニ・チャームなどで大規模なシステム障害が相次ぎ、その背景・原因に世間の関心が寄せられるなか、開発プロジェクトで採用する開発手法が成否を左右するという見解をめぐり議論がわいている。

 ウォーターフォールとは、要件定義・基本設計・詳細設計・開発・テストとフェーズごとに作業を完了させ、システム全体を開発していく手法。日本ではもっとも一般的な手法だとされている。データアナリストで鶴見教育工学研究所の田中健太氏はいう。

「製造業の生産プロセスをベースにした手法で、一つのフェーズの完了を確認してから次のフェーズに移るため、理屈上は手戻りが発生しないとされています。大規模システムの開発や、ユーザ企業が外部の開発会社に発注する形態では一般的な手法となっており、IPA(独立行政法人情報処理推進機構)が2022年に国内ベンダを対象に行った調査によれば、全プロジェクトの97.2%で採用されており、圧倒的に多いといえます」

 アジャイルとは、実装するシステム全体のうちの一機能、もしくは複数の機能単位で小さなプロジェクト(イテレーション、スプリント)を形成し、数週間から1カ月くらいの期間で要件定義から開発、テストまでを完了してリリースしていく手法。素早くかつ機動的な開発が可能となる。

「とりあえず小さくシステムをリリースして、徐々に機能を追加していくというイメージ。グーグルやマイクロソフトをはじめ自社開発がメインの企業ではアジャイル的な手法が採用されるケースが多いです」(田中氏)

<優秀層だけかき集めて作ったチームならウォーターフォールなんていらない>

 そんな2つの開発手法をめぐって今、SNS上ではあるテーマがちょっとした話題となっている。ニュースサイト「Gigazine」は今月7日、『アジャイルを採用したソフトウェアプロジェクトの失敗率はその他の手法と比べて268%も高いことが判明』と題する記事を配信。ほぼ同じタイミングで6日には、X(旧Twitter)ユーザであるプログラマーが「Microsoftの専門家「ウォーターフォールは一切メリットがないのでやめておきなさい」> アメリカでは、アジャイルやスクラムの進め方が「常識」としてソフトウェア開発の場で浸透している これマジ??」とポストし、以下のようにさまざまな反応が寄せられている。

<そりゃマイクロソフトみたいに世の中の優秀層だけかき集めて作ったチームならウォーターフォールなんていらない>

<ソフトウェアの最大の力は「変化への即応」なので、それができないウォーターフォールにメリットがあるわけがない>

<なぜ日本はウォーターフォールから脱せないのかと言えば、ソフトウェア開発を外注で「委託契約」で開発しているからです>

<アジャイルの失敗理由って、基本的に無知な人が失敗への道を選択→放置されることなので、無知な人の出現や行動をマネジメントできないなら選択できない>

<自社製品の開発と改善がメインの企業 そりゃアジャイルの方が向いてるよ>

<完璧なドキュメントが揃ってて完璧な設計ができる前提ならウォーターフォールの方が安定するとはいえる。ただ、今どきいろいろ複雑すぎて、そんな完璧なんぞどこにある>

<アジャイルで困るのは計画がすげー立てずらい>