バージョン管理だけではなく
ソフトウェア開発がはじまって以来、その工程をいかに管理するかは開発担当者にとって悩みのタネであった。なぜなら、ソフトウェアは人間がコードを記述して、修正しテストしてまた修正するという過程を経て開発されていくからだ。変更は常に生じるし、コードは実行形式にしてテストしなければならない。その過程では、新旧のファイルを間違える、本来とは別のファイルを組み合わせてしまうなどのミスが生じやすい。
そのため、メインフレームのころからソフトウェア開発の工程管理を行うツールは存在していた。リビジョンコントロールといったり、バージョン管理といったり、呼び方はさまざまだが、メインフレーム、UNIX、PCとソフトウェア開発のプラットフォームは変化しても、ソフトウェア開発の工程を管理するツールはさまざまなものが提供され利用されつづけてきた。
アトシュタイン氏は「ファイルベースのブランチとラベルによるバージョン管理は、数十年にわたって基本が変ることはなかった」と語る。それが、「大きな変化を見せるようになったのは、2000年に登場したRational ClearCase (UCM:統一変更管理)からでした」(同氏)という。それによって、SCCMはファイルだけでなく、プロセスとソフトウェア資産を管理することまで領域を広げたからだ。
そうした歴史的経過を踏まえて、開発プロセスに柔軟に対応でき、プロジェクト全体の活動を自動的に可視化できるツールとして開発されたのがAccuRevであった。
分散開発、アジャイルなどに柔軟に対応
アトシュタイン氏は語る。「品質の確保は当然のことです。ビジネス要件は増えることがあっても減ることはない。開発リソースは削られるかもしれない。スケジュールはタイトだ。そのなかで処理能力の向上が求められているのです」。それに対するAccuRevの答は「自動化」だ。
並行開発、分散開発、またアジャイル開発など、開発の形態やモデルにかかわらず、開発者が使うVisual StudioやEclipseと協調して自動的にGUIによる可視化を実現する。それまで、Visioのようなツールや手書きによって作成されていた開発プロジェクトの流れが自動的に生成され、AccuRev StreamBrowserに表示されるようになる。それによって開発管理者は、すばやく状態を把握することが可能になり、問題への対応が行えるという。
それを実現するのはAccuRevのストリーム(流れ)ベースのアーキテクチャであり、ソフトウェア資産と開発プロセスを柔軟に融合することが可能になるという。ストリームアーキテクチャのデータモデルによって、従来のファイルベースのSCCMにつきものだった、ブランチとマージに関わる困難さを回避できる。枝分かれして進められるソフトウェア開発において、ブランチ間におけるコードのマージは、その整合性をとるために苦痛ともいえる作業が必要だった。
技術担当のハート氏は、「管理が複雑なブランチにおいて、いままでのツールは十分なサポートをしてくれませんでした。AccuRevは、この工程における開発者の痛みをなくしてくれました」と語る。
プロセスとソフトウェア資産を効率よく運用
また、AccuRevは、開発工程におけるバージョン管理だけでなく、Best-of-breed(最適なソリューションの組み合わせ)といわれる環境を実現できるという。プロジェクト管理、要求管理、プログラム開発、ビルド、テストなど、ソフトウェア開発に関連したそれぞれの分野で、他社のツールと協調して全体をまとめあげる役割を担う。たとえば、プロジェクト管理ではMicrosoft Projectなどと、プログラム開発ではEclipseなどと協調して、関連分野全体を統合するアプリケーションライフサイクル管理(ALM)が可能になるという。
AccuRevを導入している企業は、業務システム、パッケージソフトなど多岐にわたっているが、とくに組込みソフトウェア開発を行う企業での採用が多いとされている。数百人規模で分散して並行開発を行うような大規模なプロジェクトで開発の効率を上げることが可能だといわれる。大規模プロジェクトではプロセス管理、プロジェクト管理にも一定の人員が必要だ。自動化と可視化を可能にするAccuRevは、全体の処理能力をアップし、人員を減らすことが可能なため、それがコスト削減につながるというのだ。
AccuRevは、2011年1月から日本での出荷が予定されている。稼働環境は、OSとしてはWindows XP、Windows 7、Windows Server 2003、Windows Server 2008とLinuxであり、統合開発環境としてはEclipse3.4、Visual Studio 2005と2008となっている。
デジタルカメラ、自動車、携帯電話機など大規模な組込みソフトウェア開発が行われる日本のソフトウェア産業でどのように受け止められるのか注目される。