利用部門の業務を効率化するためのシステムを開発しているのに、当の開発現場はいまだにツールによって効率化されていない作業が多い。取材を通じて記者が日々実感していることである。

 例えば、表計算ソフト「Excel」を使った進捗管理。数十人以上の規模になると、間違ったカラムへの入力や誤操作によるデータ消去などが起こり、日次できめ細かく進捗を登録・管理するのは容易ではない。関連情報を付記しづらいという問題もある。「利用部門とやり取りしたメール」「関連する設計ドキュメント」などは、タスクのアサインを別のエンジニアに変更したり、別のエンジニアが手伝ったりするのに必要な情報である。こうした情報をExcelファイルに書き加えることは可能だが、誰にでも見やすい形で管理することは難しいだろう。

 リリースのたびに手動でテストを実行する開発体制では、事前の準備や設定作業が必要で、そのための工数やコストが発生する。例えばテストは複数実行することが多く、1つのテストを開始したら完了するのを待ち、完了したら次のテストを開始するといった具合に進めていかなければならない。しかも、この際にテスト漏れに気づかないまま次のテストを実行してしまうというミスが起こりがちだ。

 デプロイ(開発・テスト・本番環境にプログラムを配布すること)では、手作業そのものが無駄を生む発生源になる。ファイルの配置ミス、設定ファイルの変更ミスといった人為的なミスが避けられないからである。解決策として手順書を作成したり、複数のメンバーで確認し合いながら慎重に作業したりするが、ミスの撲滅は難しい。

手作業が現場の雰囲気を暗くしている

 こうした手作業は、単に開発工数を増やすだけではない。作業ミスが起こればシステムの品質を損ねたり、現場の雰囲気を暗くしたりする。システム開発の現場でもツールを使った効率化を本格的に検討すべきではないか。

 プロジェクト管理(PM)であれば「Redmine」「Trac」などのツールがある。これらPMツールを導入すると、すべてのメンバーのタスクと進捗状況を、日次で把握できるようになる。進捗状況はすべてのメンバーが閲覧できるため、プロジェクトの現状を全メンバーで共有できるようになる。ブログ機能を持つPMツールもあって、関連情報の共有も可能だ。

 各種テストツールの実行や実行の順序などを制御して自動化するには、「Jenkins」「CruiseControl」などのツールを利用する。これらは「継続的インテグレーションツール」(CIツール)と呼ばれていて、テスト以外にもビルドツールやレポート出力ツール、デプロイツールなどにも対応していて、一連の作業工程を自動化することも可能だ。CIツールの導入によって日常的にテストを実行できるようになり、早い段階でバグを発見できる。テストの作業負荷が軽減されて繰り返しの実行が可能になり、品質を高めることができる。

 デプロイの作業は、「Apache Maven」や「Chef」、「Puppet」などで自動化する。これらは「継続的デリバリーツール」(CDツール)と呼ばれる。開発初期から運用後まで、開発環境、テスト環境、本番環境と何度もデプロイを繰り返すことになる。環境が変わっても1つの手順ファイルでミスなくデプロイを実行できるようにすることで、工数やコストを大幅に削減できる。

 PMツールやCI/CDツールの導入は、現場の雰囲気にも大きな変化をもたらす。PMツールを導入した企業の多くは「助け合いの雰囲気が生まれる」と指摘する。一部のメンバーにタスクが偏っていれば、それを知ったタスクを早めに完了できそうなメンバーから、自ら引き取るといった声が上がるようになったという。CI/CDツールの導入も、些細な作業ミスを減らせるようになるので、精神的なプレッシャーから解放されるようになる。

 PMツールやCI/CDツールは機能強化が進み、クラウドサービスやオンラインサービスを提供するネット企業が積極的に導入・活用している。こうした動きに、エンタープライズの企業も関心を寄せている。日経SYSTEMSが2012年10月号でまとめたPMツールの特集記事「助け合いを生むプロジェクト情報基盤」は、読者評価が年間でトップ3に入ったほどだ。先行するネット企業のノウハウを参考にして、エンタープライズの企業もいまこそPMツールやCI/CDツールを導入すべきだ。

 現時点でのシステム開発現場におけるPMツールやCI/CDツールの利用実態を探るため、日経SYSTEMSでは「開発支援ツール徹底調査」を実施している。本記事を読んでこれらツールに興味を持たれた方は、ぜひご協力いただきたい。締め切りは4月18日。アンケートの結果は、本サイトと日経SYSTEMS(6月号)の誌面で紹介する。