「従来のシステム開発では要件を決められたのに、最近はなかなか要件がきまらない…。」昨今、こうした声を聞くことが多くなりました。多くのシステム開発マネージャやリーダーは、システム開発が難しくなったと感じているのではないでしょうか。現場にいる人はその原因を様々なところに求めていますが、実は従来の考え方の「外側」に問題があるのかもしれません。

 近年のシステム開発を取り巻く大きな課題として挙げられるのは、ビジネススピードが今までよりも極端に速くなったということです。従来は1年2年かけて開発していたものが、要件も決まっていないうちから2~3カ月で開発するよう求められます。これはビジネスのスピードに合わせたシステム提供を求められているからです。

 こうしたシステム開発が難しいのは、単純に納期が短いだけでなく、要求が確定しないためです。ビジネス環境が急速に変わる昨今では、要求を固めることが難しく、仮に決めたとしても環境変化によって意味がなくなることさえあります。

 システム開発が変わっていく中、変化や不確実性に対応するための技術が生まれてきました。具体的には、「ビジネス開拓」、「サービス企画やシステム開発」、「システム運用」で3つのフィードバックサイクルが形成されるようになりました。

図1●システム開発におけるスコープと手法との対応関係

  • ビジネス開拓の段階で仮説検証を高速に回しながら、要求されるビジネスモデルの精度を高めていく「リーン・スタートアップ」
  • サービス企画・システム開発の段階で、部分的な開発を繰り返しながら機能や品質を洗練させていくScrumに代表される「アジャイル開発」
  • 安定運用と頻繁なリリースを両立させ、短い周期でシステムを改善していく「継続的デリバリー」と「DevOps」

 これらの考え方では、それぞれのスコープで小さくフィードバックサイクルを回すだけではありません。隣り合う領域を巻き込んだ大きなサイクルを高速に回すことによって、刻々と変化する要求にしっかりと対応できるようになります。

 これから3回に分け、それぞれの手法を解説します。