システム開発では,「デスマーチ」(死の行進)と言う,SEやプログラマが長時間残業・休日出勤を強いられる過酷なプロジェクトが数多く見られます。そのため,最近はソフトウエア産業が「新3K」(きつい・厳しい・帰れない)と呼ばれています。

 筆者の経験では,システム開発段階において問題が噴出する原因として,システム化構想や計画の不備がとても多いと感じています。本来,要求開発段階でしっかりと構想や計画を作り,要求を明確にしておけば,こうした「新3K」プロジェクトを減らせることができると常々思っていますが,皆さんの周囲ではどうでしょうか。

 今回は,要求開発プロジェクトが陥りがちな罠を,アンチパターンとして紹介します。いずれも工夫次第で改善できるものですので,参考になれば幸いです。

パターン3「砂上の楼閣」
砂上の楼閣
砂上の楼閣
症状:
 要求開発によって,システム要求が作成されたが,システム開発段階において大きな見直しが発生する

例:
・要求開発の段階では関係者の合意が取れていたつもりだったのに,具体的なシステムを構築してみると違った要求が発生する
・新しい技術を活用した斬新な要求を開発したが,システムを構築する段階で実現が難しいことが発覚した

治療法:フロントローディング開発を活用する
 フロントローディング開発を行うことによって,システムを構築することによるメリットや実現可能性を要求開発の段階で確認する(参考記事「フロントローディング開発を考える」)。

解説:
 実際にシステムを構築して,当初は見えていなかったニーズや課題が数多く見つかると,せっかく苦労してまとめたシステム要求が計画倒れになりかねません。

◆将来業務イメージの具体化
 要求開発によって,将来業務がどう変わるのかを具体的に把握するためには,業務の中で利用するシステムのイメージ(画面・帳票など)を示すことが必要な場合があります。「フロントローディング」は,要求開発(すなわちRFP作成以前)の段階においてシステムイメージの試作を行うことによって,業務の将来像を具体化して,精度の高いシステム要求を合意することができます。

◆技術適用のフィージビリティ
 要求開発によって,せっかく良いシステム化構想が出来ても,システム構築段階になって様々な技術課題が生じる可能性があります。特に,最近はWeb2.0など,新しい技術が次々に登場し,新しい技術を活用したビジネスに積極的に取り組む企業も多いのですが,こうした先進ITを用いる場合には,ビジネスとITのフィージビリティ(実現可能性)を検証する必要性があります。
 要求開発段階において,フロントローディング開発をおこなうことは,システム要求の実現に伴う技術的リスクを早期に把握することに役立つのです。


パターン4「無勝手流要求開発」
無勝手流要求開発
無勝手流要求開発
症状:
 要求開発作業(ユーザーの要求の見える化,システム化構想立案など)を実施する際に,無勝手流儀(自分だけで考えたやり方)にこだわるあまり,チームとしての作業ができないで困ってしまう

例:
・経験は豊かだが,過去の成功体験にこだわるあまり,自己流のやり方に固執し,プロジェクト内で孤立する
・ユーザー企業で,今まで情報システム部門経験のなかった人が,急にシステム化要求の取りまとめを担当し,自分で考えたやり方にこだわる

治療法:要求開発方法論の導入
 要求開発方法論を参考にすることによって,無勝手流にこだわらない,要求開発プロジェクトを実施する(参考「要求開発入門」)。

解説:
 要求開発は,ビジネス要求に基づいて,正しいシステム化構想・計画を取りまとめる作業であり,多くの企業において重要な仕事であるにもかかわらず,この分野での標準的な方法論が存在しませんでした。
 そのため,要求開発に関する進め方,成果物,プロジェクト運営などは担当者の個人スキルに大きく依存し,チーム作業を行うこと自体が困難なケースが散見されてきました。
 要求開発アライアンスが「Openthology」という方法論を開発し,共通の財産としてオープンな利用・公開を行っているのも,こうした現状を打開することを目指したものなのです。

 これ以外にも,要求開発に関しては数多くのアンチパターンが存在すると感じています。機会があれば続編を書きたいと思います。

(細川 努=要求開発アライアンス理事)