東商ICT相談室

アジャイル開発とは何ですか?

アジャイル開発とは何ですか?効果はありますか?

アジャイルという言葉は「俊敏な」という意味で、アジャイル開発とは、ソフトウェア開発を「俊敏に」、あるいは「変化を取り入れて」行うといった意味で使われています。考え方でもあり、それを実現する様々な方法を含めたIT用語です。さまざまの意味で使われていましたが、2001年に「アジャイルソフトウェア開発宣言」(http://www.agilemanifesto.org/iso/ja/)で発表され、その考え方が広く受け入られています。

 

ソフトウェア開発は人が開発する作業が主体であり、複数の機能が複雑に絡み合って全体が構成されています。そのために、従来は要件を十分精査し、それを設計に落とし込んでから開発を行うというやり方が行われてきました。しかし、ソフトウェア開発では要求を確定させることが困難で、時間とお金がかかってしまい、完成したときには当初と業務も技術も環境が変わって、時代遅れの産物になってしまうことが多く発生し、大きな問題となりました(今でもそれは問題として大きく横たわっています)

 

アジャイル開発は、要件や設計を作りながら固めていくアプローチを採用します。ある程度の規模のシステムでは、多くの技術者が参加して一つのシステムを開発しますが、技術者間のコミュニケーションが品質の高いソフトウェア作りには欠かせない要因となります。その観点からチームで開発することを重視した方法(”スクラム”と呼ばれる)を取り入れることが重視されます。スクラムは米国を中心として広まっており一定の成果をあげています。(スクラムは、その発想を、野中郁次郎と竹内弘高が Harvard Business Review 誌に 発表した論文”The New New Product Development Game”(新製品の開発のやり方に関する概念と方法を記述)に置いています。)

 

実際には、アジャイル開発はかなり高いスキルが要請されることもあり、成功する場合もありますが効果を発揮できない場合もあります。その本質を理解した人がリードする必要があるといえるでしょう。

回答者: 一般社団法人 ICT経営パートナーズ協会 大島 正善