ページの本文へ

【第3回】2週間単位で更新繰り返す

高橋 規生 株式会社 日立コンサルティング マネージャー

2021年9月3日

デジタル時代のシステム開発手法としてアジャイル(俊敏)型が注目されている。詳細な計画を立ててから開発する従来の「ウオーターフォール型」の対極にある方法だが、実現するには様々な手法がある。主なものを紹介しよう。

代表的な手法が、少人数でチームを組み、2週間程度の短い周期でバージョンアップ(更新)を繰り返すことだ。従来のウオーターフォール型の開発は、大規模なシステムでは1000人以上が分業制で1年以上もかけて一気に開発する。

この手法をラグビー用語になぞらえ「スクラム」と呼ぶ。少人数の技術者が一丸となって短い周期内で設計から開発、テストまでして部分的な機能を次々と完成(追加)させていく。

2つ目の手法が、発注者や利用者にとって重要な機能のみを切り出し、優先的に早く開発することである。従来の手法では提供すべき機能は一気に全てを開発していた。利用者目線で機能に優先順位を付けて開発することから「ユーザー機能駆動開発」と呼ぶ。

3つ目の手法が、完成したソフトウエアが動くかどうかを試すテストプログラムを先に作り、それに合わせてソフトを開発することである。最終的に何をクリアすればよいのか事前に明確になっているので、開発がはかどり、失敗が少なくなる。この手法を「テスト駆動開発」と呼ぶ。従来方法では完成時にテストプログラムを作ってテストをしている。

アジャイル開発ではこれらの手法を組み合わせるなどして、ソフトウエアを短期間で開発するわけだ。開発上のメリットについてもう少し詳しく解説しておこう。

1つ目のメリットが「初期開発期間の短縮」である。

従来手法では数カ月後の完成までソフトウエアを動かせないことが多いが、アジャイル開発はまず最低限の機能に絞った動作可能なプロトタイプを2週間で開発する。発注者や利用者に初期段階から試してもらうことができる。

2つ目のメリットが「試行・修正周期の短縮」である。

従来の手法では、最後まで開発を一気に進めるため、途中で動作を確認できず、修正もできないことが多かった。アジャイル開発では、2週間程度の開発周期を終えた時にその周期で開発した機能を実際に試し、次の開発周期以降に改善できる。また、途中で未開発の機能を棚卸しし、優先順位を付け替えることもできる。

新規開発と改修改善を同時並行することで、3カ月程度でとりあえずのシステムを組み上げられる。発注者や利用者に周期的に試してもらうことで、自律的に機能の改善や増強を実現する。例えば初期に開発した「商品推奨機能」の評判が悪ければ、次の開発周期で改修することが可能となる。

修正や改善だけではない。計画そのものも見直しやすい。3つ目のメリットが「計画変更契機の創出と変更コストの削減」だ。

少人数による機能を抑えたスモールスタートをしているので、各開発周期の開始時に計画変更を受けることができ、そのコストも少なく済む。従来手法では途中の変更は極めて難しく、やるとしても膨大なコストがかかっていた。

2つの開発手法、何が違う?
アジャイル型
  • 開発すべき機能を細分化して、優先順位を付けて2週間単位で開発していく
  • 少人数チームで一緒に開発
  • 開発周期ごとに開発中のソフトウエアを実際に動かして試すことができる
  • 途中で新機能を追加できる
ウオーターフォール型(従来型)
  • 開発すべき機能は数カ月〜1年以上をかけて、全て一気に開発する
  • 大人数が分業制で開発
  • 原則、最終的に完成するまでソフトウエアの動作を確認できない
  • 途中で新機能の追加は困難
本稿は2021年7月27日に日経産業新聞に掲載された「戦略フォーサイト:アジャイル開発への道(3)2週間単位で更新繰り返す」を転載しております。

本コラム執筆コンサルタント

高橋 規生 株式会社 日立コンサルティング マネージャー

※記載内容(所属部署・役職を含む)は制作当時のものです。

Search日立コンサルティングのサイト内検索