「システム開発地図」でトレーサビリティーを導入しよう! 第1回:もう迷わないシステム開発(3/5 ページ)
システム開発を進める上で強力なトレーサビリティーツールとなる「システム開発地図(System Development Map)」について解説します。第1回目は、システム開発にトレーサビリティーの導入が必要な背景やメリットを考察します。
仕様書・設計書の不備・不整合は非常に危険
システム開発の現場では、
- システムはあるのに仕様書や設計書がない!
- 設計書はあるが、システムに変更を加えた後に設計書を直しておらず整合性が取れていない!
ということがよくあります。
これらは、この業界が「工業化以前」とやゆされるゆえんでもあります。このまま開発・保守作業を進めると、確実にデスマーチに突入です。予算も人員も限られているのに、ドキュメントの不足や不整合のおかげで現行システムの仕様調査や確認などに想定以上の工数がかかります。そうなると、リリース時期が遅延したり、赤字プロジェクトになったりしてしまうのです。
新規開発の場合は、途中でメンバーが抜けたりせずに最後まで同じメンバーで開発できれば、うまくいくこともあります。仕様書や設計書がなくても、メンバーの頭の中に情報があるからです。
しかし、システム変更の際に必ず問題が発生します。業務要件が変わってシステムの仕様を変更しなければならない場合、ソースコード、データベース、設計書において修正が必要になる部分(影響範囲)を洗い出し、設計・実装・テストを行う必要があります。開発時のメンバーが残っていたとしても、システム開発時の詳細な記憶は残っていないことでしょうから、ドキュメントが残っていないと見積もりにも時間がかかり、その根拠もあやふやになります。実際に改修作業に入ってから問題が顕在化することが多々あります。
新規開発に携わったメンバーがほとんど残っていない場合、事態は悲惨です。まず、変更の影響範囲はまったく分かりません。ゼロから業務とシステムを理解し、影響範囲を調査するための作業が必要になります。調査してもヌケ・モレが発生する可能性が高くなり、工数を読み間違える可能性も高くなります。今の機能が何のためにあるのか分からないと、「変更してもいいのか?」「不要なので削ってしまってもいいのか?」ということも分からず、影響範囲が正確に分からなければ、デグレード(現行のシステムでできていたことができなくなること)する可能性も高くなります。
また、各作業の担当者が、「何をやったらいいか分からない」とか「何を元に何を作り出せばいいか分からない」という状況になってしまいます。担当者に指示すべき責任者にも分からないのです。「何を元に何を作り出せばいいか分からない」というのが積み重なって、最初にやりたかったことができるはずがありません。
コラム: テストの自動化の話
仕様書がきちんとあったとしても、テストの自動化は別途取り組んでおく必要があります。
自動テストが仕様書替わりということもあるでしょう。
- 機能を修正します → デグレードしていないか確認するテストを(人が)やり直すので、10人日かかります
こんな状態では、テスト工数ばかり膨らんでしまいます。
自動テストにはいくつかレベルがありますが、なるべく頻繁に自動的にテストを行って、期待と異なる差分を早めに検知することが重要です。
例えば筆者の参加しているプロジェクトでは以下のようにしています。
- JavaならJUnitによるメソッド単位の自動テストをソース修正のたびに行う
- WebアプリならSeleniumによるブラウザの自動操作で毎晩ユーザー業務と同等のテストを行う
テストの確認内容にもレベルがありますが、メソッドの戻り値だけではなく、DBの値や画面のHTMLが期待値とずれていないかまで確認することもあります。こういう場合は、期待値を作るのが大変にならないような工夫もしています。
この話は別途どこかでお話ししたいと思います。
関連記事
- 第4回 フロー図で理解するセキュリティインシデントの対応
情報セキュリティにかかわるインシデントが起きれば、どうすればいいのだろうか。担当者や対応方法は決まっているだろうか? 今回はこの「インシデント対応」について考えてみたい。 - 「おらが町」の信用金庫がFinTechで成長するには?
メガバンクがこぞって参入するFinTechだが、地元密着で活動する信用金庫の関心は残念なほどに低い。技術活用を通じた地域貢献を期待したいが、どうすればその気になってくれるだろうか。 - 仕事で使うタブレットの利点と欠点
情報端末としてのスマートフォン、タブレット、PCの特徴を整理しながら、企業クライアントとしてのタブレットの利点などを考えます。 - 「IT部門が関与しない予算のある企業が6割超」という現実に向き合う3つの視点
「IT部門が関与しない予算のある企業が6割超」という調査結果が出ている現実に、IT部門はどう向き合っていけばいいのか。役割を見直すためのヒントを紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.