グループウェア・システム論

ソフトウェア開発への応用-2

スパイラルモデルとネゴシエイション

  • 要求分析*1
    • 顧客の要求を分析
    • 採用するものを慎重に選択する
    • 要求を提示する者は,複数の異なる立場の人たち
    • 評価する立場は人によって異なる
    • 異なる立場の関与者*2の間の交渉*3過程
    • WinWin?
      • それぞれの関与者の勝利条件*4を満たすW理論
      • ソフトウェア開発におけるスパイラルモデル
  • オリジナルのスパイラルモデルの4フェイズ
    1. 開発の目的*5,複数の案*6,制約*7を明らかにする
    2. リスク分析を行い,各案を評価する
      プロトタイプを作る
    3. 評価を行った後,設計とその検証を行う
    4. 次のレベルの計画を行う
    • 特にリスク分析を強調したことが特徴
      • 開発に時間がかかっても,安全で確実
  • WinWin?のスパイラルモデルの7フェイズ
    1. 新しいレベルの関与者を決定する
    2. 関与者の勝利条件を決定する
    3.  
      1. 勝利条件を調停する
      2. このレベルの目標,複数案,制約を決定する
    4. 成果物とプロセスの複数案を評価する
      リスク問題を解決する
    5. このレベルの成果物とプロセス,および分割方法を定義する
    6. 成果物とプロセス定義を検証する
    7. レビューと引き継ぎ
  • グループウェアとしてのWinWin?は,iiおよびiii.aのフェイズを支援するツール
    • 勝利条件*8,矛盾や問題点*9,解決案*10,同意事項*11の4種類のノードからなるグラフをハイパーテキストとして構成
    • 関与者による利用手順の概略
      1. 勝利条件,矛盾や問題点,同意事項のうち,少なくとも1つを書き込む
      2. 他人により書き込まれた内容をレビューする
      3. すべての勝利条件が同意事項によって裏付けされ,すべての矛盾や問題点が解決され,すべての同意事項が採択されるまで繰り返す
  • QARCC(Quality Attribute Risk and Conflict Consultant)
    • 品質要件の間の矛盾をチェックするためのツール

コードインスペクション

  • プログラムコードの検査*12は,中下流工程での協調作業の代表的なもの
  • 外出先や自宅,あるいはモバイル環境等から,好きな時間にインスペクションが可能であることが望ましい
  • 専用のグループウェアが必要

ICICLE(Intelligent Code Inspection in a C Language Environment)

  • リアルタイム対面型グループウェア
  • 特徴
    • 司会者,インスペクタ,書記などの役割を支援
    • ペーパーレスの検査作業を行う
    • 自分のワークステーションで検査作業ができる
    • コメントは共有される
  • 参加者の役割に変化が生じた

hyperCode

  • 分散型非同期
  • 機能概要
    • Webブラウザを使う
    • ソースコードをハイパーテキスト化
      コメントをハイパーテキストで付加
    • 他人のつけたコメントも見られる
  • ミーティングと同等以上の効果

ユーザ参画型設計(PD:Participatory Design)

ユーザ参画型設計とは

  • ユーザの開発プロセスへの関与をできるだけ増やそうとする考え方
  • スカンジナビアンアプローチ*13とも呼ばれている
  • ヨーロッパで盛ん
    • 北米ではJAD(Joint Application Design)

POLITeamの例

  • 開発プロセス
    1. システム導入の準備
      • 要求分析
    2. システムの導入
      • トレーニング,インストール,試用
      • 設計者による現場訪問と指導
    3. 現場実用による評価
      • ユーザワークショップ
    4. システム設計
      • デザインワークショップ
      • プロトタイプの評価は研究的なワークショップによっても行われる
    5. ii.に戻る
  • ユーザの代弁者*14
    • 設計者とユーザの間に立って意見を述べる役割
  • 相当のコスト

総合的支援環境

Flecse

  • 提供ツールの例
    • RCSTool
      • 版管理のツールRCS(Revision Control System)にGUIを与え,分散使用できるようにしたもの
    • MShell
      • Shellのマルチユーザ分散版
    • MDebug
      • デバッガのマルチユーザ分散版
    • CSI(Collaborative Software Inspector)
      • コード検査
    • MEdit
      • 構造化ソースコードエディタのマルチユーザ分散版

PACT(Palo Alto Collaborative Testbed)

  • コンカレントエンジニアリング*15を支援
    • ハードウェアとソフトウェアを並行して設計して行く活動
  • 連邦アーキテクチャ*16
    • ファシリテータ*17と呼ばれるインタフェイスが,分野間の通信と分野内の通信の間を媒介する,マルチエージェントシステムの構成方法
    • ファシリテータの役割
      • メッセージ転送を階層化し,信頼性のある通信を行う
      • 出て行くメッセージを適切な宛先に向けて送信する
      • 入ってくるメッセージの内容を支配下のエージェントが理解できるように翻訳する
      • エージェントの初期化や監視を行う

プロセス中心型ソフトウェア開発環境(PSEE:Process-centered Software Engineering Environment)

  • ソフトウェアの開発プロセスを記述するための支援ツールを提供

*1 requirements analysis
*2 stakeholder
*3 negotiation
*4 win condition
*5 objective
*6 alternative
*7 constraints
*8 win condition
*9 issue
*10 option
*11 agreement
*12 code inspection
*13 the Scandinavian approach
*14 user advocate
*15 concurrent engineering
*16 federation architecture
*17 facilitator

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-12-14 (木) 11:53:16 (4694d)