「システム開発地図」でトレーサビリティーを導入しよう! 第1回もう迷わないシステム開発(5/5 ページ)

» 2016年11月07日 10時00分 公開
前のページへ 1|2|3|4|5       

システム開発にトレーサビリティーを導入しよう

 これまでの悪習を断ち切り、システム開発に整合性をもたらすには、システムと成果物の整合性を取り、誰が何をやればいいのかを分かるようにする必要があります。

 このとき、「成功の基準を決める」ことが重要です。つまり「誰が何をやったら成功なのかを決める」ということです。これを積み重ねていくと、ある程度の品質を保つことができます。「ある程度の品質」というと、大したことがないように聞こえますが、実際のシステム開発現場では、この「ある程度の品質」を保つ仕組みすらないのではないでしょうか。

Photo

 当たり前のことですが、システム開発はチームワークです。チームワークが作用するには、各メンバーの作業が明確に分解され成功基準が定められている必要があります。個々の作業工程で失敗していたら、最終的な成果物が成功するはずがありません。

まず仕様書のヌケ・重複を確認してみましょう

 仕様書や実装物は、業務分析や要件定義の成果物に由来するものであり、業務分析や要件定義との関係を説明できなければいけません。まず、仕様書で抜けているものや、重複しているものを確認します。ヌケ・重複を確認する際、組織で標準化されている開発プロセスの成果物一覧やガイド類などがあれば、それらを利用します。システム開発地図は成果物間の関係を把握するのに役立ちます。

仕様書間の矛盾点や不明点を洗い出してみましょう

 用語集が整備されていますか? 業務要件とシステム仕様の間に対応関係がちゃんと取れているでしょうか? 要件に描いていないのに、突然仕様書に現れている項目がないでしょうか? 突然新しい用語が出てきていないでしょうか?

 前述のように「仕様書や実装物は、業務分析や要件定義の段階から脈々と変換されている」のです。成果物に何のつながりもなければ、それは成果物を作成した人がサボっていたか、成果物の意味を理解していなかったのでしょう。つながりが切れてしまった成果物をもとにすると、その後いくらきちんと変換されていっても、最終的には当初の目的とずれたものになってしまう可能性が高くなります(注3)

 仕様書間の矛盾点や不明点を洗い出すには、組織で規定されている開発プロセスにある成果物作成の手順や、システム開発地図が役立ちます。

開発や保守の準備はできていますか?

 開発や保守を行う際に、メンバーは開発の目的と自分の役割が分かっているでしょうか?

 これはプロジェクト管理の領域でもありますが、メンバーが自分たちの向かう先、各自がやらなければならないことなどを大まかにでも知っておくことが大切です。

 あなたの現場では、開発や保守に対して、そもそも準備不足ではないでしょうか? 山に登るとき、旅行に行くとき、地図もなしに行くでしょうか? なんとなく目的地に着くでしょうか?

 経験豊富な人について行けば目的地に着くかもしれません。しかし、その人が全員に1から10まで説明するのは大変です。また、その人は忘れ物をしないでしょうか? うっかり間違えたりしないでしょうか? その人がいなくなったらどうでしょうか?

 1人の頭の中を頼りに何十人も付いて行ったら、何かの間違いやヌケにより、全員に手戻りが発生します。メンバー全員が地図やしおりなどで目的地や必要なものをある程度把握しておくことで、手戻りの発生を予防することができます。ある程度詳しい人が何人かいる状態にすることも、良い予防法です。

 システム開発地図には、全体図だけでなく個々のプロセス、成果物の変換ルール、変換のレシピを含みます。次回は、システム開発地図のより詳しい説明と利用シーンをご紹介します。


注3: 筆者も若い頃、「仕様書通りに正しく作ったと自信満々だったのに、発注者のイメージと違った(仕様書が正しくなかった)」という経験でがっかりしたことがあり、上流工程や成果物のつながりを意識するようになりました。

著者プロフィル:今田忠博

SIの現場でSE、PMなどを経験。SI現場で悲惨な体験をし、開発現場を効率的にしたいと2004年に豆蔵に移籍。アーキテクトやフレームワークの設計・実装、PM支援、要件定義コンサルタントなどの業務を経験。そもそも要求が間違っていると、そのあといくらがんばっても幸せになれないと理解する。現在は保守の効率化のため、自動打鍵テストの省力化に取組中。


著者プロフィル:近藤正裕

豆蔵 技術コンサルティング事業部に所属するITアーキテクト。ユーザー系企業でシステム開発、研究開発を担当し、2003年から現職。Java/.NET によるエンタープライズシステム開発を多数手掛ける。アーキテクチャ構築、フレームワーク開発、開発者向けガイド作成、各種自動化を実施してプロジェクトを推進するとともに、アプリケーション品質・開発効率の向上を目指す。


前のページへ 1|2|3|4|5       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ