開発プロセスのブラックボックス化を解消する「ALMソリューション」:もはや開発部門だけの問題ではない
ITがビジネスと直結することで、企業における利用目的が競争優位確立の手段へと変化してきた。そのため、開発の効率化が強く求められているが、現場での課題は膨らむ一方だ。何か良い解決策はないものだろうか?
アプリ開発がビジネスに大きな影響を与える時代になった
今日では、ITの活用によって可能になることが増え、企業におけるIT利用目的は“企業運営の合理化”から“競争優位性の確立”へと変化したといえる。経営戦略とIT戦略が一体化し、ビジネス現場からのアプリケーション開発要求は日々増大している。
そのため、アプリケーション開発の生産性やその品質の差が、ビジネスの結果に大きな影響を与えるようになってきた。このような状況において、旧態依然とした体制でIT部門を運営し、アプリケーション開発が巨大なブラックボックスになっていては、企業は生き残ることができないだろう。
本稿では、そうした課題を解決する手段として、ALM(Application Lifecycle Management)ソリューションの導入を提案し、その導入メリットや注意点を解説する。
ALMとは?
ALMとは「アプリケーション開発・運用プロセスに適用させる一連の仕組みと規律」のことだ。
アプリケーションは一度開発されると、その使命が終わるまでバージョンアップを繰り返すことになる。企業は、競争力を高めるために新しい機能を導入したり、リリースしたアプリケーションに修正や改良を加えたりして、常により品質の高い製品やサービスを提供していく必要がある。
これを実現するためには、過去の失敗や注意点などのナレッジを蓄積し、次に生かしていくための反復可能な仕組みが求められる。その仕組みや規律を実現するのが「ALMソリューション」だ。
アプリケーション開発者の立場から見ると、ALMは「SCCM(Software Change and Configuration Management:ソフトウェア変更管理、構成管理)が企業運営レベルまで拡張されたものである」と考えればよいだろう。
では、ALMとSCCMはどう違うのか?
ALMとSCCMでは、そこに関与する人や部門の範囲が異なる。SCCMは主に開発チームに限定された領域で使われ、一方のALMは、ビジネス部門や開発部門といった部門の境界線を越え、ソフトウェアについてのアイデア(構想)がひらめいた瞬間から、その開発や調達(デプロイ)、運用・保守、廃棄に至るまでにかかわるすべての人とプロセスに結び付いているといえる。
ALMのフェーズ。ALMの各プロセスの定義は、ALMソリューションを提供する企業によって異なる。ここでは、米Serena SoftwareのVice President兼Chief Evangelist、Kevin Parker氏が提唱している分類例を参考にした
ALMのプロセスは「定義」「デザイン」「ビルド」「テスト」「展開」という5つのフェーズに分類することができる。これらの一連のプロセスとそのアクティビティーが繰り返し可能な状態で、規律をもってシームレスに連携して運営され、その様子が可視化されていれば、ALMが機能しているといえる。
ALMが確実に実施されていると、以下のような結果を得ることができる。
- アプリケーションのアイデアが実装・運営され、不要になったアプリケーションが廃棄されるまでのプロセスが管理される
- アプリケーションの開発、運用、保守のプロセスに、ITILやCMMIといったベストプラクティスや方法論が導入され機能する
- プロセスが可視化され、法規制に準拠しており、監査証跡が記録される。組織はこれらの情報にアクセスする手段や、プロセスをコントロールする手段を有する
- 開発部門の生産性が向上し、計画通りに高品質なアプリケーションを迅速に提供できる
Copyright © ITmedia, Inc. All Rights Reserved.