連載
NAgileで始める実践アジャイル開発

第6回 ソフトウェア開発の秘伝 "Development Baseline 2007"

NAgiler 黒石 高広
2007/04/06
Page1 Page2 Page3 Page4

■■3. Tracによるプロジェクト管理■■

まずは、プロジェクト管理だな。Development Baselineのプロジェクト管理には、タイムボックスの管理や進捗しんちょくのトラッキング(追跡)、情報の集約などいろいろあるが、ここではタスク管理に焦点を絞って説明しよう。

 

アジャイルでタスク管理というと、付せんを壁にペタペタ貼るんじゃないんですか?

 

それはそれだ。付せんでは後からタスクの追跡を行ったり、作業時間の集計を行ったりすることは難しいだろう?

 付せんを否定しているのではない。私個人のやり方を紹介すると、今日やるべきことは付せんに書き出してモニタに貼り付けて完了したものから捨てていくようにし、作業時間の見積もりや実績はプロジェクト管理ツールに入力するといった感じで使い分けを行っている。二重管理でちょっと面倒にはなるが。

 

なるほど、要は使い分けろと。

 

そうだ。ここでは、プロジェクト管理ツールとして“Trac”というオープンソースのソフトウェアを紹介しよう。Tracは次のようなWebのユーザー・インターフェイスを持ち、タスク管理やバグ管理などを行うことができる。

Tracでのタスク管理画面
Webユーザー・インターフェイスから課題管理やタスク管理を行うことができる。
 

Tracは、タスクやバグをチケットという考え方で管理するツールで、自分が担当するチケットの一覧や、次のマイルストーンまでにやらなければならないチケットの一覧などをレポートとして参照できる。また、追加モジュールをインストールすることによって、作業の見積もり時間や実績時間も管理できるようになる。

 

なるほど、これは便利そうですね。

 

これはTracに限った話ではないが、プロジェクト管理より以前に大切なのは、自己管理である。いま自分がやるべきことを明らかにし、それを管理する。まさに、LifeHack*1で有名なGTD(Getting Things Done)と同じ考え方だ。

 自己管理できない者がどうやってソフトウェア開発という複数の人間がかかわるものを管理できるといえるだろうか、できるわけがない。まずは自らを管理せよ、話はそれからだ。

*1 LifeHackとは、仕事の効率や作業の生産性を高めるために行う、ちょっとしたコツやテクニックのこと指す。
 

確かに。自己管理は大切ですね。

 

自己管理に慣れるまでは苦痛に感じるかもしれん。実際に他人に管理してもらう方が楽だからな。だが、それでは、与えられたもの以上に成長することは難しい。自己の成長を考えるうえでも自己管理は非常に重要だ。

 話が少々脱線したが、まずは自分にできそうな簡単なことから始めるのがよいだろう。そういう意味でも付せんによるタスク管理から始めて、タスク管理が習慣化されてきてからTracを導入するというのが現実的であろう。最後になったが、Tracに関する参考URLを以下に示す。導入の際には、それらを参考にしてみることだ

日本語の情報もそれなりにそろってそうですね。

 

Tracは、.NET開発に特化したツールではないからな。それでは、次のソフトウェア構成管理について説明しよう。

■■4. Subversionによるソフトウェア構成管理■■

構成管理は、ソフトウェア開発において最も重要なものの1つだ。開発言語やプラットフォーム、開発プロセスに関係なく必要とされる基盤技術でもある。

 

構成管理というと、Visual SourceSafeのようなソース・コード管理ツールですよね?

 

そうだ。ただ、ここでいっている構成管理とは、ソース・コードに限らずもっと広くソフトウェアを構成する要素を管理するという意味だ。

 

広くソフトウェアを構成する要素?

 

例えば、ドキュメントもソフトウェアを構成する要素といえるし、データベース・スキーマも重要な要素の1つだろう?

 

確かにそうですね。

 

それらを可能な限りすべて構成管理ソフトウェア上で管理するのだ。

 

それだと管理対象となるものが多すぎませんか?

 

そうだな。構成管理の対象として含めるものの考え方としては、それが変更されることによってどれだけコードへ影響を与えるかだ。先ほど挙げたデータベース・スキーマの変更は、既存のコードへ大きな影響を与えるし、例えばシステムが外部のWebサービスに依存しているのであれば、そのインターフェイス定義の変更は既存コードへ大きな影響を与えるだろう。そのような観点で考えれば、おのずと構成管理の対象として含めるべきものが見えてくるだろう。

 

はい。分かりました。

 

Development Baselineの構成管理ソフトウェアとしては、“Subversion”を使用する。Subversionは、オープンソースの構成管理ソフトウェアである。Subversionの関連URLを次に示す。@ITにSubversionを説明した記事が公開されているので、そちらも参考にするとよいだろう。

 また、Subversionには、WindowsエクスプローラからSubversionのリポジトリへアクセスする“TortoiseSVN”や、Visual StudioからSubversionのリポジトリへアクセスする“AnkhSVN”というクライアント・ソフトウェアもオープンソースで公開されている。Subversionと併せて利用するとよいだろう。

 ちなみに、SubversionのVisual Studioプラグインとしては、“VisualSVN”というソフトウェアも存在する。これは有償となるが、それほど高いものでもないし使い勝手もよいので使用をお勧めするぞ。

なるほど、Subversionは周辺のソフトウェアも充実しているみたいですね。

 

Subversionは世界的に見ても広く使われているからな。せっかくなのでTortoiseSVNの実行画面を次に示すとしよう。

TortoiseSVNとWindowsエクスプローラ
Windowsエクスプローラ上からSubversionへファイルのチェックインやチェックアウトが可能となる。上記画像はWindows VistaでのWindowsエクスプローラ。
 

このように、Subversionで管理されているフォルダやファイルはWindowsエクスプローラ上でもアイコンが変更され、チェックイン/チェックアウトが可能となる。Windowsエクスプローラという日ごろから使い慣れたツールをそのまま利用できる点も、Subversionを推奨する理由の1つだな。

 

確かにこれは便利そうです。

 

さらに、Subversionと前述のTracを連携させることで、リポジトリ上の変更をTracのWebユーザー・インターフェイスから確認することもできる。TracによるSubversionのリポジトリ上の変更差分の表示は次のようになる。

TracとSubversionの連携
Subversion上のリビジョンごとの変更点をTracのWebユーザー・インターフェイスから確認することができる。変更前のコードは赤色、変更後のコードは緑色で表示される。
 

すごい! 変更が一目瞭然りょうぜんですね。

 

これがSubversionの利用を推奨するもう1つの理由だ。

 ほかにもSubversionのコード・リポジトリにチェックインする際のコメントで、Tracのチケットを完了にすることもできる。つまり、自分が行った作業と実際のプログラミングを結び付けることもできるのだ。そうすることで自分の作業を後から追跡できるようになり、何か問題が発生した場合でも自分のどの作業によってどのような影響を与えたか調べることができるようになるのだ。それが、SubversionとTracの利用を推奨するもう1つの理由だ。

 

すごいですね〜。

 

構成管理については以上だ。次に自動化について説明しよう。

 

 INDEX
  NAgileで始める実践アジャイル開発
  第6回 ソフトウェア開発の秘伝“Development Baseline 2007”
    1.Development Baselineとは
  2.プロジェクト管理とソフトウェア構成管理
    3.自動化と標準化
    4.テスト駆動開発、ゼロ機能リリース
 
インデックス・ページヘ  「NAgileで始める実践アジャイル開発」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間