きしだ です.
Cusumano 先生の「開発プロセス調査」のアンケートを日本語に 訳してみました.回答のさいの参考にしてください.
# ただし,回答は in English ですよ!
# 締め切りは今月末です.お忘れなく!
オリジナルは次の Web Page にあります(念のため)
http://web.mit.edu/surveys/pearl
参考:SEA-SPINクスマノ博士との「プロセス調査」意見交換会報告
翻訳著作権は放棄しますので,もしだれかに forward したいと いうのであれば,どうぞご自由に!
******************************
ソフトウェア開発プロセスの調査
******************************
MIT Slaon School of Management
Katz Graduate School of Business, University of Pittsburgh
Harvard Business School
---------------------------------------------------------------------------
この調査の基本的な目標は次の2つです:
・ ソフトウェア開発のパフォーマンス(たとえばスピード,柔軟性,品質など)
を改善するための方法として世の中でもっともよく普及しているものは何か
を明らかにすること.
・ さまざまな種類のソフトウェア・プロジェクトにおいてどのような開発アプ
ローチがよく用いられているかを明らかにすること.
調査に参加していただいた方々には,結果の報告書一式を進呈します.
それぞれのプロジェクトに固有の情報については,研究者の手で機密を厳守するので
御心配の必要はありません.公表される報告書に含まれる情報は特定のプロジェクト
への関連づけが不可能なものに限定されます.
連絡先
アカデミック・コンタクト:
・ Prof. Michael Cusumano
(MIT Sloan School of Management)
cusumano@mit.edu
・ Prof. Chris F. Kemerer
Katz Graduate School of Business, University of Pittsburgh
ckemerer@katz.pitt.edu
・ Prof. Alan MacCormack
Harvard Business School
amaccormack@hbs.edu
メイン・コンタクト (アンケートおよびデータ収集責任者)
・ Pearlin Cheung
MIT School of Engineering
pearl@mit.edu
この調査票への回答記入にあたっては,次のような資料を参考にされるのがよいで
あろう:
・ 各種のプロジェクト・データシート
・ プロジェクトのスケジュール表
・ プロジェクト資源の計画書
・ プロジェクトの成果物類
・ プロジェクトのチェックポイントでプレゼンテーションに用いられた資料
------------------ 以下 回答用紙 -----------------------------------------
会社名 [ ]
プロジェクト名 (バージョン番号があればそれも) [ ]
回答日 (たとえば 2001年11月25日) [ ]
回答者氏名 [ ]
プロジェクト内での役割
(たとえば,プロジェクト・マネージャー,主任設計者,開発者,etc
[ ]
e-mail address (追加質問が必要な場合のため) [ ]
電話番号 (追加質問が必要な場合のため) [ ]
この調査結果の要約が欲しいですか?
どちらかにチェック [ ] Yes [ ] No
----------------------------------
Part 1:成果物とプロジェクトの説明
----------------------------------
この調査では、該当プロジェクトからの主要なソフトウェア成果物について,それぞ
れの質問に答えてください.
・ 調査対象のプロジェクトでは,すべての努力が特定のソフトウェア成果物を
つくり出すために行われていて,ほかのソフトウェア作りと明確に区別され
管理されている.
・ そのプロジェクトからの成果物は,プロダクトまたはサービスである.とき
には,既存のソフトウェアの新しいリリースであるかもしれない.
この調査全体の焦点は,ソフトウェア・プロジェクトに当てられています.しかし,
いくつかの質問は,ソフトウェア成果物 (プロダクトまたはサービス) に関係したも
のです.そうしたプロダクトまたはサービスについての質問は,該当プロジェクトに
よって作られるバージョンだけに関係しています.
----------------
1.1 成果物の説明
----------------
1.1.1 どんな種類のソフトウェアが成果物であるか? (1つだけにチェック)
[ ] システム・ソフト(たとえば OS,DB,ネットワーク,ツール,言語)
[ ] 汎用アプリケーション・ソフト (たとえば,Office,SAP標準パッケージ)
[ ] カスタムまたは半カスタム・アプリケーション (システム・インテグレーシ
ョン・ サービスを含む)
[ ] 組み込みソフトウェア
1.1.2 そのソフトウェア成果物に要求される信頼性のレベルは?
(1つだけにチェック)
[ ] 高い (たとえば,システムの故障がほとんど許されないようなリアルタイム
制御ソフトウェまたはエンタープライズ OS)
[ ] 中程度 (たとえば,ときどきシステムがダウンしても許されるような企業
システム)
[ ] 低い (たとえば Word や Excel のような個人向けソフト)
1.1.3 ターゲットのハードウェア・プラットホームは?
[ ] メインフレーム
[ ] ワークステーション (たとえば Unix,NT)
[ ] PC
[ ] その他
1.1.4 そのソフトウェアは主としてだれ向けか? (1つだけにチェック)
[ ] 個人
[ ] 企業
[ ] 社内利用
1.1.5 そのソフトウェアの主要な機能を簡単に述べてください;
[ ]
1.1.6 そのソフトウェアは主としてどんなプログラミング言語で書かれていま
すか? (たとえば,C C++, HTML,アセンブラ)
[ ]
1.1.7 成果物の大きさをソースコード行数でいうと?
[ ]
1.1.8 その数字はコメントを含んでいますか? [ ] Yes [ ] No
1.1.9 「Yes」の場合,コメントの割合は: [ ] %
1.1.10 最終リリースにおけるソフトウェア・コードの出所を次のカテゴリ分けで
いうと,どうなりますか?パーセンテージ
このプロダクトの以前のバージョンからの既存コード [ ] %
他の出所 (例えばライブラリ) からの既存コード [ ] %
他のプロジェクト・チームがこのプロダクトのために開発した
新しいコード (たとえば,コア・コード,コンポーネント,
地理的に離れた別の組織に外注化したコードなど [ ] %
このプロジェクト・チームがこのプロダクトのために開発した
新しいコード [ ] %
合計 100 %
1.1.11 このプロジェクト・チームがこのプロダクトのために開発した
新しいコード (上の4番目の箱)のうち,自動生成されたもの
の割合は? [ ] %
----------------------
1.2 プロジェクトの説明
----------------------
------------------
プロジェクトの予算
------------------
1.2.1 そのプロジェクトのソフトウェア開発予算はいくらですか?
[ ] 単位は100万ドル
1.2.2 実際の支出額はいくらでしたか? [ ] 単位は100万ドル
--------------------------
プロジェクト・チームの構成
--------------------------
以下の質問では,1.1.10 の4番目の箱で示された新しいコードの開発を担当した
プロジェクト・チーム・メンバーだけに限定して答えてください.
1.2.3 主要なソフトウェア開発の構成は?
--------------------------------------------------------------------------
ポジション 平均人数 ピーク時人数 合計の人・年
--------------------------------------------------------------------------
プロジェクト管理 (プロジェクト・マネ
ージャー,ディレクターを含む.ただし [ ] [ ] [ ]
技術リーダは除く)
--------------------------------------------------------------------------
アーキテクチャ & 設計 [ ] [ ] [ ]
--------------------------------------------------------------------------
開発/プログラミング [ ] [ ] [ ]
--------------------------------------------------------------------------
テスト (QA/QE & 統合テスト) [ ] [ ] [ ]
--------------------------------------------------------------------------
プロジェクト支援 (たとえば,ソフトウ
ェア工学,プロジェクト管理支援,構成 [ ] [ ] [ ]
管理,ドキュメンテーション,etc)
--------------------------------------------------------------------------
その他: [ ] [ ] [ ]
--------------------------------------------------------------------------
合計 [ ] [ ] [ ]
--------------------------------------------------------------------------
1.2.4 プロジェクトのソフトウェア開発経験は?
------------------------------
経験年数 チーム内の割合
------------------------------
0〜2年 [ ] %
------------------------------
3 〜5年 [ ] %
------------------------------
6〜10年 [ ] %
------------------------------
10年以上 [ ] %
------------------------------
合計 100%
------------------------------
1.2.5 開発チームの何割の人間が当該プロダクトの以前のバージョンの開発に
関係していましたか?
[ ] %
1.2.6 プロジェクトの主要なベースが置かれている国は? [ ]
--------------------------
プロジェクトのスケジュール
--------------------------
1.2.7 当初の開発スケジュールは? [ ] ヵ月
1.2.8 実際の開発にかかった時間は? [ ] ヵ月
以下の質問では,次のような一般的な開発フェイズを前提として考えてくだ
さい (もしかしたら,あなたの会社ではこれらのステップを完全にその通り
に踏んでいないかも知れないし,あるいは若干違った名前で呼んでいるかも
知れませんが).
機能設計 (または要件設計): プロダクトの機能概要 (製品の機能およ
び市場要件を含む)を定めるフェイズ.
アーキテクチャ設計: ハイレベルなシステム設計を定めるフェイズ.
詳細設計および開発: 詳細設計,コーディング,ユニット.テスト,
そしてデ バッグを含むフェイズ.
統合およびシステム・テスト: モジュールを統合し安定化させて,シス
テム全体のパフォーマンスをテストするフェイズ.
1.2.9 あなたのプロジェクトにおいて,次の各イベントが起こった日付を MM/YY
の形式 (たとえば2001年の 2月は 2/01) で記入してください.
[注] イベントは時間の順序に並んでいる必要はありません.
-------------------------------------------
番号 イベント 日付
-------------------------------------------
1 プロジェクト開始 [MM/YY]
-------------------------------------------
2 機能(または要件)設計開始 [MM/YY]
-------------------------------------------
3 アーキテクチャ設計開始 [MM/YY]
-------------------------------------------
4 詳細設計および開発開始 [MM/YY]
-------------------------------------------
5 新しい機能を最後に追加
(バグ修正は除く) [MM/YY]
-------------------------------------------
6 最初のシステム統合日 [MM/YY]
-------------------------------------------
7 プロジェクト終了 [MM/YY]
-------------------------------------------
1.2.10 最初のプロトタイプ (どんなものでもよい.たとえばユーザ・インタフェ
ースの模型) を最初に顧客に見せたのはいつですか?
[MM/YY]
1.2.11 最初のベータ版を顧客にリリースしたのはいつですか?
(ベータ版とは,システムの「なんとか動く」初期のバージョンで,選ば
れた顧客にだけリリースされるものを指す)
[MM/YY]
1.2.12 ベータ版は全部でいくつ顧客にリリースしましたか? [ ]
--------------------
Part 2:開発プロセス
--------------------
--------------
2.1 計画と仕様
--------------
2.1.1 プロジェクト・チームは,アーキテクチャ仕様 (すなわち,サブシステムの
ハイレベルな記述および最終的なプロダクトまたはサービスのインタフェー
スを述べたドキュメント)を書きましたか?
[ ] Yes [ ] No
2.1.2 「Yes」の場合,コーディング開始前に完成していたアーキテクチャ仕様の
割合は?
[ ] %
2.1.3 「Yes」の場合,アーキテクチャ仕様のボリュームは?
[ ] ページ
2.1.4 「Yes」の場合,アーキテクチャ仕様が利用できるようになったのはいつで
すか?
[MM/YY]
2.1.5 「Yes」の場合,アーキテクチャ仕様に最後に大きな変更が加えられたのは
いつですか?
[MM/YY]
2.1.6 プロジェクト・チームは,機能/要件仕様 (すなわち,システムの機能は記
述しているが,コードやモジュールの構造には触れていないドキュメント)
を書きましたか?
[ ] Yes [ ] No
2.1.7 「Yes」の場合,コーディング開始前に完成していた機能/要求仕様の割合
は?
[ ] %
2.1.8 「Yes」の場合,機能/要求仕様のボリュームは?
[ ] ページ
2.1.9 「Yes」の場合,機能/要求仕様が利用できるようになったのはいつで
すか?
[MM/YY]
2.1.10 「Yes」の場合,機能/要求仕様に最後に大きな変更が加えられたのは
いつですか?
[MM/YY]
2.1.11 プロジェクト・チームは,詳細設計仕様 (すなわち,モジュールの構造を
記述し,必要なアルゴリズムの概要を述べたドキュメント)を書きました
か?
[ ] Yes [ ] No
2.1.12 「Yes」の場合,コーディング開始前に完成していた詳細設計仕様の割合
は?
[ ] %
2.1.13 「Yes」の場合,詳細設計仕様のボリュームは?
[ ] ページ
2.1.14 「Yes」の場合,詳細設計仕様が利用できるようになったのはいつで
すか?
[MM/YY]
2.1.15 「Yes」の場合,機詳細設計様に最後に大きな変更が加えられたのは
いつですか?
[MM/YY]
2.1.16 もともとの機能/要件仕様に書かれた機能のうち,最終プロダクトに含めら
れたものの割合は?
[ ] %
2.1.17 最終プロダクトに含まれた機能のうち,もともとの機能/要件仕様に書かれ
ていたものの割合は?
[ ] %
----------------------
2.2 プロジェクトの構造
----------------------
------------
サブサイクル
------------
以下の質問は,サブサイクルについてのものです (コード作成に関する質問で
はありません).
1つの「サブサイクル」は,通常次の各フェイズを含んでいます:すなわち,
設計,実装,作成,テスト,統合,そして(外部または内部)リリース.
たとえば、純粋なウォータフォール方式は1つのサブサイクルだと考えられる.
12ヵ月のプロジェクトが3ヵ月ごとに4つのサブプロジェクトまたはフェイ
ズに分割されていて,それぞれの終わりに (すくなくとも社内向けに) 正式の
リリースがなされるという場合は,4つのサブサイクルだと考えられる.
2.2.1 あなたのプロジェクトでは,開発フェイズを,最終プロダクトの機能の一部
分を作成・テスト・リリースするいくつかの「サブサイクル」に分割しまし
たか?
[ ] Yes [ ] No
2.2.2 「Yes」の場合,サブサイクルの数は? [ ]
2.2.3 「Yes」の場合,サブサイクルの長さは? [ ] 週間
2.2.4 「Yes」の場合,最初のベータ版がリリースされたのは,どのサブサイク
ルの後でしたか?
[ ]
---------------------
プロジェクト・イベント
---------------------
2.2.5 次に示すプロジェクト・イベントが起こった時点で,設計書に書かれていた
最終プロダクトの機能のうち,どの程度ができあがっていたかを見積もって
ください (プロジェクト開始時には 0%,終了時は 100% と考えます).
----------------------------------------------------------------------
プロジェクト・イベント 最終プロダクト機能の割合
----------------------------------------------------------------------
最初のプロトタイプ (たとえ「やっつけ」でも)
を顧客に見せる [ ] %
----------------------------------------------------------------------
最初のシステム統合 (たとえモジュールが未完成
でも) [ ] %
----------------------------------------------------------------------
最初のベータ版(外部の顧客に使ってもらう最初
の完全版) [ ] %
----------------------------------------------------------------------
--------------------------
2.3 詳細開発の実践とツール
--------------------------
------------------
コーディングの実践
------------------
2.3.1 それぞれの開発者とテスターがペアを組んでいて,できあがったコードを
システムにチェックインする前に,それらのコード (すなわち「私的リリ
ース」)をテストするような体制になっていますか?
[ ] Yes [ ] No
2.3.2 プロジェクト・チームは,「ペア・プログラミング」体制を組んでいます
か? すなわち,2人の開発者がペアになり,一方がコーディングしてい
るあいだに,他方がテストするといったかたち.
[ ] Yes [ ] No
2.3.3 コードの所有形態は次のうちどれですか?
[ ] 集合的: 各開発者はコードのどの部分も修正できる
[ ] 選択的: 各開発者はコードの部分集合 (たとえば特定のモジュ
ール群)だけを変更できる.
[ ] 個別的: 各開発者は自分が書いたコード (たとえば自分に割り
当てられたモジュール) だけを修正できる.
2.3.4 プロジェクト・チームは,統一的なコーディング・スタイルあるいは一連
のコーディング・ルールにしたがって仕事をしていますか?
2.3.5 「Yes」の場合,その標準を簡単に説明してください.
[ ]
--------
レビュー
--------
2.3.6 デザイン・レビューは行われましたか? [ ] Yes [ ] No
2.3.7 「Yes」の場合,何回くらい? [ ]
2.3.8 コード・レビューは行われましたか? [ ] Yes [ ] No
2.3.9 「Yes」の場合,新しく作られたコードのうち,作者以外のチーム・メ
ンバーによってレビューされたものの割合は?
[ ] %
------------------
システムの組み立て
------------------
2.3.10 開発フェイズにおいて,システムは平均どのくらいの頻度で「組み立て」
(Build) なおされるましたか? (ここで「組み立て」とは,設計変更,
バグ修正,コード・データベースへの組み込み,再コンパイル,などの
一連の作業を指します)
---------------------------------------------------------------------
毎日 週2-3回 毎週 隔月 月1回以下
---------------------------------------------------------------------
開発の最初の1/3 [ ] [ ] [ ] [ ] [ ]
---------------------------------------------------------------------
開発の中間の1/3 [ ] [ ] [ ] [ ] [ ]
---------------------------------------------------------------------
開発の最後の1/3 [ ] [ ] [ ] [ ] [ ]
---------------------------------------------------------------------
------
テスト
------
2.3.11 開発者はテストケース作成を手伝いましたか? [ ] Yes [ ] No
2.3.12 「Yes」の場合,開発者がテストしたコードの割合は? [ ] %
2.3.13 新しいコードあるいは修正コードがシステムに組み込まれるたびに,なん
らかの形の統合テストまたは回帰テスト (単純なコンパイル & リンク・
テストではなく) を行ないましたか?
[ ] Yes [ ] No
2.3.14 「Yes」の場合,統合テストにはどのくらいの時間がかかりましたか?
[ ] 時間
2.3.15 システムが一度「組み立て」られたとき,総合的なシステム・テストを行
なって,システム・パフォーマンスに関するフィードバックを得るのに,
どのくらいの時間がかかりましたか?
[ ] 時間
2.3.16 そのプロダクトまたはシステムに対して用いられたテスト・ケースのうち
自動生成されたものの割合はおよそどのくらいですか?
[ ] %
------
ツール
------
2.3.17 それぞれの開発活動において,もっとも有用であったツールあるいは方法
は?
要件設計 [ ]
アーキテクチャ設計 [ ]
詳細設計 [ ]
コーディング [ ]
テスト [ ]
構成管理 [ ]
プロジェクト管理 [ ]
その他 [ ]
------------
Part 3:実績
------------
以下の質問は,プロダクト出荷後12ヵ月間の販売,市場占有率,バグ報告に関する
ものです.12ヵ月未満のデータしか入手できない場合には,その月数を書いてくだ
さい.
------------
3.1 財務実績
------------
3.1.1 当該プロダクトを市場で販売した場合にについての質問です.
最終リリース出荷後12ヵ月間の販売総額はどのくらいでしたか? (設計変
更による収入があった場合には,それも含めてください)
そのプロダクトがハードウェアも含む場合には,ソフトウェア部分だけの売
上高を概算してください (それは社内の経理資料を見ればわかるでしょう).
[ ] 単位100万ドル
12ヵ月未満のデータしかない場合は,月数を示してください: [ ]月
------------
3.2 市場実績
------------
3.2.1 やはり,当該プロダクトを市場で販売した場合にについての質問です.
最終リリース出荷後12ヵ月間のそのプロダクトの市場占有率の変化はどう
だったでしょうか? (たとえばシェアが 10% から 20% に上がったとすれば
「10% 増」 と答えてください).
[ ] % [増 / 減]
12ヵ月未満のデータしかない場合は,月数を示してください: [ ]月
--------------------
3.3 プロダクトの品質
--------------------
ソフトウェアの品質は,しばしば,欠陥または「バグ」の少なさ (相対的指標) に
よってあらわされると考えられています.多くの会社では,テスターや顧客がバグ
を報告するためのメカニズム (たとえば,「ソフトウェア問題報告書」) を用意し
ています.以下の質問は,これらのバグの量およびタイミングに関するものです.
3.3.1 システム出荷後最初の12ヵ月間に,顧客またはフィールド技術者によって
報告されたバグの個数 (概算) は?
[ ] 個
12ヵ月未満のデータしかない場合は,月数を示してください: [ ]月
ベータ版がある場合には,次の質問に答えてください:
3.3.2 最初のベータ・リリースの後に見つけられたバグについて,それらがだれの
手で発見されたか,およその割合を答えてください (合計は 100%).
----------------------------------------------------------
発見者 ベータ以降に見つかったバグ
----------------------------------------------------------
開発技術者自身の手で [ ] %
----------------------------------------------------------
テスト活動中に
QA またはテスト技術者の手で [ ] %
----------------------------------------------------------
ベータ版を使った顧客の手で [ ] %
----------------------------------------------------------
合計 100 %
----------------------------------------------------------
以下の質問は,プロジェクトに対する期待度についてのものです.5段階評価で
答えてください.
1: かなり期待より低い,2:期待より低い,3:ほぼ期待通り,
4:期待より高い,5:かなり期待より高い
3.3.3 最終プロダクトに対する顧客満足度という観点からみて,プロジェクトの
期待達成度は?
[ ]
3.3.4 売上という観点からみて,リリース前の予想と比較して,プロダクトの期
待達成度は?
[ ]
-----------
回答した数字にあまり自信がないというものがありましたら,下にその旨を注記
してください.(たとえば,「質問 2.2.5 以外の数字は確かである」).
-----------
調査に御協力いただきありがとうございました.
結果がまとまりしだい,その情報が載せられた Web Page へのリンクをお知らせ
します.もし何かこの調査に対してのコメント,あるいは今後の類似調査につい
てのサジェスチョンなどありましたら,以下にお書きください:
[ ]
----------
あなたの e-mail address は? [ ]
-------------------------- END -----------------------------------------
SEA-SPINへの質問、コメント、提言などは次の宛先にお送り下さい。
spin-request@sea.or.jp
SEA-SPINの活動、参加方法などについては、以下のSEA-SPINページをご覧下さい。
SEA-SPIN Page に行く。 || SEA Home Page に行く。