アジャイル トランスペアレンシー ~アジャイル開発における透明性の確保について~

APPENDIX 1 高機能・直感的で安心して使えるアプリケーションの解「Microsoft Visual Studio」

この記事を読むのに必要な時間:およそ 2 分

日々進化する IT は高機能,直感的で使いやすい,安心して使用できるアプリケーションの登場を促しています。マイクロソフトが提供する Visual Studio は,マーケットニーズに応えるために自信を持って送り出す製品です。

みなさんは⁠アジャイル⁠と聞いてどんなことを連想されるでしょうか―「小規模チーム」⁠多くのチェック ポイントがあり,変化が多い」⁠何でも変えてしまえる,緩い開発の方法論」……

アジャイルとは,⁠素早い」「機敏」という意味合いを持ち,スポーツ選手の反応の速さを表現する時などに使われる単語です。それだけに,アジャイルな開発とは,いかなる事態においても機敏に反応し,対応していける開発手法を持ち合わせていると見ても,間違いはないでしょう。ですが,アジャイルな開発とは決して機敏さだけを追求する緩い手法ではありません。むしろ,計画的でありルールが厳守されることが大前提で,必要に応じた変更を適用していくことがアジャイルです。スポーツと同様に,決まったルールの中で自由に動き回ることを想像すると良いかも知れません。

アジャイルにおいて勘違いされる点の一つとして,計画性がないという考えがあり,さらには個人の相互作用を尊重するため,プロセスやツールが不要と思われます。確かに,アジャイルでは人を尊重する考え方だけだと思われがちですが,これはプロセスやツールがあったうえでのことです。

アジャイル マニフェスト考案者の一員でもある Kent Beck は,アジャイル開発についてホワイトペーパーを書き,そこで Beck氏は,アジャイル開発を実現するために必要なプロセスとツールを図のように描いています図1)⁠

図1

図1

プロセスは方法論として存在している中で,ツールはそのプロセスを実現するために必要な要素として描かれています。そして,このプロセスとツールを用いて (計画を以て),アジャイルの方針を初めて実装できるのです。

マイクロソフトの Visual Studio の製品群は,Beck 氏が語るツールをすべて持ち合わせた,アジャイル開発の実装を可能とする製品としてあります。

テスト駆動開発

テスト駆動開発 (TDD) では,プログラムのコードより先にプログラムを実装するために必要なテストケースを作成し,テストが成功する最小限のコードを後に書きます。このプロセスを実行することで,より早く,効率的なコードの本体を作成できる考えです。Visual Studio では,TDD を実行するために必要とされる単体テスト機能とリファクタリング機能を搭載し,開発の効率化を支援しています。

当然,先にテストを作成する場合は,プロジェクトに存在しないクラスやメソッドなどを書くことになりますが,過去バージョンの Visual Studio でも好評だった Ctrl + . (ドット) ―メソッド タグの生成― のショートカットを活用することにより, Visual Studio 2010 では自動的にプロジェクトに合ったコードの本体を作成します。生成されたコードに最小限のコードを付け足し,テストに成功するコードを書き,さらにリファクタリング機能を利用しコードの理解度を上げることが可能になります。

また,単体テストの網羅性を確認するコードメトリックス機能や,アーキテクチャとの整合性をクラスダイアグラムと比較することにより,コード品質の可視化も Visual Studio では可能にします。

継続的インテグレーション

開発プロジェクトを進めるにあたって,コードの作成,修正,削除と,様々なレベルでの編集が行われます。開発メンバーが多いプロジェクトで誰しもが経験したことがあるであろうことは,多数のコード修正を行った後の結合時にビルドを壊してしまうことではないでしょうか。継続的に修正したコードの結合ビルドを実施することにより,そのような事態を防ぐことができます。Team Foundation Server (TFS) には,継続的インテグレーションを実施するためのチェックイントリガが設定できるようになり,TFS 上で管理する開発プロジェクトを編集した際のコードのチェックイン時に,結合ビルドを都度実行することができます。

さらに,2010年前半の出荷が予定されている Visual Studio 2010 の TFS では,Gated Check-in という機能が加わり,結合テストが失敗した際にはコードのチェックインを拒否し,プロジェクト全体への影響を最小限に抑えることができるようになります。

図2

図2

図3

図3

コメント

コメントの記入