ビジネス環境の移り変わるスピードが速くなっている今、プログラムを大幅に変更することなく新たな要求や想定外の事態に対処する適応力を意味する「アダプティブコード」に注目が集まっている。このアダプティブコードを実装するためのベストプラクティスをまとめた書籍『C#実践開発手法 デザインパターンとSOLID原則によるアジャイルなコーディング』の監訳を務めたアトラシアンのエバンジェリスト長沢智治氏に、チーム開発におけるアジャイル開発手法やアダプティブコードの実装について聞いた(関連記事:ビジネス・ニーズに即応できる最適化プロセスを追求するのがDevOpsだ)。

(聞き手は田島 篤=出版局)


[画像のクリックで拡大表示]

チーム開発の現場で今直面している問題は何でしょうか。

長沢氏 ビジネスの機敏性(アジリティ)の必要性とともに、ソフトウエア開発も機敏性が求められてきています。これは、ビジネスのスピードにソフトウエア開発も同調していく必要があるということです。

 今までは、ビジネスモデルが確立している中で、その一部をIT化したりする業務のコスト削減や効率化を目的としたソフトウエア開発が多かったため、開発側の都合が尊重される傾向にありました。これからのソフトウエア開発は、ビジネスモデルが確立する前にIT化によるメリットを享受するような「戦略的なIT」としての貢献が求められます。

 クラウドやデバイス活用といったテクノロジーの進化もめざましく、それらをうまく取り入れることでビジネスモデルを革新したり、新たなビジネスモデルを生み出す原動力にしたりする時代です。

 ソフトウエア開発チームは、今までに取り組んだことがないようなケースのプロジェクトを運営する機会が増えてきます。また、経験したことがないテクノロジーやサービスを採用した開発をする機会も増えてきます。

 チーム開発も、今までのように要求定義・分析/設計・実装・テスト・リリースといった「工程(フェーズ)」を明確に区切り、それぞれの専門家が遂行し、次の工程に引き継いでいくやり方が難しくなってきています。未経験のプロジェクトなので、実践しながら学習し、軌道修正するようなやり方に変えていかなければならず、工程よりも、ビジネスが求めているものを適正なタイミングで提供するための「価値の流れ」を作ることが先決となってきます。