パターンに基づくプロセス設計

2011年10月13日(木)
野島 勇土屋 正人

前回のおさらい

前回はマイルストンの設定例として、ウォーターフォール型のプロセスモデルからはV字モデル、反復型のプロセスモデルからはスクラムを紹介しました。V字モデルやスクラム以外にも、W字モデル、ラショナル統一プロセス(Rational Unified Process)など様々なプロセスモデルが存在しています。ゴールにたどり着く道は1つではなく様々です。

プロジェクトの目的が変わってくれば、マイルストンの設定の仕方も変わります。こう言うと当たり前なのですが、実際のプロジェクトでは目的が異なるにも関わらず同じプロセスを採用している場合があります。これでは道に迷うのも仕方ありません。

本稿では、目的に応じてプロセスを設計できるようになることを目指しています。プロセスを設計すると言っても、何も無いところから考えるとなると難しいものです。そこで、プロセスのパターンをいくつかご紹介します。

分析→設計→実装→検証

図1:問題解決プロセス(クリックで拡大)

図1はアジャイル界隈の有名人である平鍋健児氏のブログで紹介されていた図に少しばかり手を加えた図です。図1のサイクルは複雑な問題を解く場合に使うことができます。システム開発は問題解決を行うための手段の1つであり、図1のサイクルはシステム開発に限らず問題解決において適用できます。

図1のサイクルにおいては、解くべき『問題』が始めに存在します。問題は要求とも言えます。解決したいこと、満たしたいこと、つまりはゴールです。問題は時に曖昧であったり、複雑であったりします。例えば、システム開発において顧客からやってくる要求は、問題の本質をとらえていないことがあり、要求に従ってシステムを開発したが顧客の満足を得られないということがあります。この場合は、解くべき問題の設定を誤ったと言えます。

前回の喩えで言えば、「提示された写真と同じ角度から写真を撮影すること」が問題の本質ではなく、「人に喜びを与える写真をそろえた展示会をすること」が問題の本質により近いと言えます。解くべき問題を間違えると、問題は解消できません。確実に解消するために問題を整理して本当に解くべき問題を明らかにします。この過程を『分析』と呼びます。

「問題をなぜ解決したいのか?」「解決するとは何を目指すことか?」のように、「何?」「なぜ?」「何のため?」と問い続けます。これらの問いの答えを整理したものが『分析モデル』であり、分析の結果となります。

モデルとは、複雑な実体を特徴によって分解することで理解を助けるためのものです。例えば、プラモデルは、実物の形態のみを縮小してプラスチックにより造形し表現したものです。複雑な実体を表すためには、複数の表現形式を必要とします。形態を示すものがプラモデルだとすると、他にも動力系統や制御系統を示す回路図のようなものなども必要となってきます。分析モデルも同様に、問題(要求)を複数の視点から表現します。

分析を行った後に、分析モデルで定義された問題についての解法を考えます。この過程を『設計』と呼びます。設計では、時間、費用、技術、人員などのざまざまな制約の範囲内で、最も効率的に問題を解くことのできる方法を考えます。設計の結果が『設計モデル』です。

解法が決まったら実際に問題を解きます。問題を解くために解法を現実化する過程を『実装』と呼びます。実装と言うとプログラミングを想像しがちですが、現実化すること一般を指しています。例えば、「雨をよけるにはどうするか?」という問題について「傘」という解法を考えたならば、「傘をつくること」が実装になります。実装の結果として、問題の『解』が得られます。

そして、「得られた解が本当に問題を解決するのか?」を検証します。この過程を『検証』と呼びます。テストや試験と呼ぶことの方が多いでしょうが、より一般化して検証と呼ぶことにします。先の例で言えば、「傘」により「雨をよける」が可能なのか検証することになります。解により問題を検証した結果として、新たな問題が得られます。この新たな問題に対して、分析、設計と繰り返していきます。

株式会社SRA

(株)SRA コンサルティンググループ所属。米国スリーインワン・コンセプツ社の提唱するストレスマネジメント手法を実践する同社認定のコンサルタント・ファシリテータ。人間の心に興味を持ち、脳科学、心理学、仏教などを学ぶ日々。個人と組織の力を引き出すために、ファシリテーションを社内外に展開中。

株式会社SRA

産業開発統括本部 製造・組込システム部 コンサルティンググループ オブジェクトモデリングスペシャリスト
1956年生まれ。コンピュータメーカを経て1982年にSRAに入社。
最初の10年は、プラント制御やデバイスドライバ等のリアルタイムシステム開発に従事。次の10年は、Webアプリケーション等のビジネスアプリケーション開発に従事。この間に習得した様々な分析設計手法を活かして、次の10年は、開発プロセスのコンサルテーションを担当中。趣味はクラシック音楽とギター、本格ミステリ、仏教(宗教としてではなく哲学・心理学として面白い)。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています