意外とハードルは低かった!Visual Studioで始めるALM 第2回
「LanScope クラウドキャット」開発を支援したTeam Foundation Serverの機能とは?
新製品を4ヶ月で作ったエムオーテックスのALM活用術
2011年12月02日 09時00分更新
「LanScope クラウドキャット」開発者のALM活用
――今回の開発で、Team Foundation ServerとVisual Studioで「ALM(Application Lifecycle Management)」という概念を体験されたのではないかと思うのですが、実際に開発されて、ALMについてはどう感じていらっしゃるのでしょうか?
清水 開発を始めた時には、これまでのように設計、開発、テスト、リリースといった一連の作業を行なえば終わりと考えていました。ある意味、同じことの繰り返しがあるだけだと思っていました。しかし、ALMを体験したことで、製品をよりよくしていくための次の段階があるという、「サイクル」に気がつくことができたというのが重要だったのではないかと考えています。たとえば、製品をリリースしたあと、お客様からのフィードバックなどがあり、これらをいかに速く、製品に組み込んでいけるのか?ということが重要なポイントでした。
特に、何か問題が起こった時に、その場所を特定することが素早く行なえた点は、具体的なメリットでした。
そして、修正したあとのチェックも当然、短時間で済みます。結果的に、障害を短期間で解決でき、新しいリリースを出すことができたのです。ソフトウェア開発は、リリースしたら終わりということではなく、そのあとの障害や要望などをいかに速く取り込み、次のリリースに反映できるかも重要なことです。そう考えると、繰り返しというよりも、一連の流れが続くようなイメージになります。これがALMではないかと考えています。
――Team Foundation Serverのタスク管理などは利用していたのですか?
清水 今回の利用は、主にソースコード管理に関するものだけでした。というのも、社内に、バグや障害の発生から解決までの標準的な手順やそのためのフォームなどがあるため、これを使うことになっています。開発者だけでなく、その周りの部署やメンバーから作業が見えるようにするには、これまでの社内の標準手順を使う必要があり、すぐにTeam Foundation Serverベースに全面移行できるというわけはなかったからです。
――総合的な評価という点ではどうなのでしょうか?
中本 まず、本来であれば6カ月必要であった開発期間を4カ月という短い期間で開発できた点が評価できます。Team Foundation Serverがなければ、開発メンバーの教育・コードチェック・修正管理の3つの工程で倍近い時間が必要であったと考えています。更にもう一つ大きな評価ポイントとして、その品質も高かったという点もあります。通常、新製品開発となると、どんなに念入りにテストしたとしても、初期段階ではある程度の問題が発生します。ですが、今回の製品では障害の発生件数はまだ1桁程度と、かなり低くなっています。それは、コードの品質が高かったことだと思います。
Team Foundation Serverを使うことで、たとえば、間違って古いファイルをチェックインする失敗などがなくなり、チェックイン時の検証で品質の低いコードを弾くという2つの点が大きな要因ではないかと考えています。
通常、新製品の開発には6カ月を見込んでいるのですが、今回、Visual Studioの導入や、メンバーのC#の習得といった挑戦的な課題を含んでいるにもかかわらず4カ月で完成したのは、Team Foundation ServerやVisual Studioで開発速度が高くなったと考えています。
清水 従来の手法では、一日8時間として3~4人分のコードのチェックが限界でした。しかし、Team Foundation Serverの環境では、同じ時間で8人のコードのチェックが可能で、さらに自分の業務もできるというところまで効率があがっています。
今回の開発メンバーが他のチームにも開発経験を広める
――今回の開発経験は、クラウドキャットのメンバーのみが経験したわけですが、他の製品の開発への利用についてはどうでしょうか?
清水 LanScopeシリーズの場合、長い間の蓄積があるため、すぐに体制を変えることは難しいと思いますが、今回の開発チームのメンバーは、それぞれ他の開発チームにも所属していています。また、一度Team Foundation Serverを使った開発者は、昔のやり方には戻りたくないといいます。作業効率があがることは、開発者にとっても好ましい環境といえ、段階的にTeam Foundation Serverの導入を考えています。特に新しいプロジェクトは、導入がしやすいので、まずは、そこから入れていくことになると思います。
――今後はどのような展開を考えているのでしょう?
清水 今回の開発は、Visual Studio Premium Editionでしたので、現在開発中の新製品では、Ultimate版を利用して、テスト作業も取り込んでいきたいと考えています。新製品は、Windows PhoneやAndroid OSへの対応を視野に入れています。Windows Phoneは、Visual Studioですが、Androidは、Eclipseになります。そこで、Eclipse用のTeam Foundation Serverプラグインなどを評価しているところです。
中本 また、次のリリースを短期間で出すことで、結果的に、お客様の満足度もあがります。しかも、今回の製品は、クラウドベースなので、リリースは、そのまま、お客様が利用しているシステムの更新に相当し、障害を修正したバージョンをすぐに利用できるわけです。これがバッチだと、配布しても、ユーザーが適用するまでは修正されず、場合によっては、見過ごされる可能性もあります。
そうなると、既知の問題で解決済みにもかかわらず、さらに問い合わせがあるといったことが起こってしまいます。お客様の側でも、いろいろなシステムを使っていると、修正やパッチの情報が多く、どれを優先して行なうべきかの判断も困難というのも事実です。そういう意味では、ALMによる短期間のリリースというメリットは、とクラウド上のアプリケーションとの組み合わせで最大限に享受できるのではないかと考えています。
●
Team Foundation Serverは、確かに開発の効率を上げたようだ。また、効率だけでなく、リーダーの作業効率やコード品質の向上にも役だった。ALMを実現するためには、開発からリリースというサイクルを短縮し、状況や結果に応じて、これを繰り返す必要がある。つまり、開発自体や携わるメンバー、リーダーなどの作業効率を改善し、単純なミスを排除、開発の本質的な部分へ専念することによる質の向上などが可能になって初めて、アプリケーションのライフサイクルが可能になる。
今回のインタビューでは、すべての機能を利用していなかったにもかかわらず、Team Foundation Serverを使うことで、こうした要件が満たすことが可能であることがわかった。単に、開発者個人の効率が高くなったのではなく、チームとしての効率が高まったというわけだ。
次回は、Visual Studio 2010とVisual Studio Team Foundation Server 2010で何ができ、またALMによって開発生産性をどう向上させるのかを解説するセミナーの様子を紹介しよう。
この連載の記事
-
第4回
ソフトウェア・仮想化
ALM環境を整えるTeam Foundation Serverの賢い導入方法 -
第3回
ソフトウェア・仮想化
ALMを実践するTeam Foundation Serverの機能とは? -
第1回
ソフトウェア・仮想化
ビジネスに追いつくソフトウェア開発を実現する「ALM」 -
ソフトウェア・仮想化
意外とハードルは低かった!Visual Studioで始めるALM - この連載の一覧へ