SWEST15
セッション（s1b)：夜の分科会

良い開発文書を書くための拡散思考・収束思考トレーニング
2013年8月22日
システム開発文書品質研究会（ http://asdoq.jp/ ）山本雅基，森川聡久，小林直子

Association of System Documentation Quality©山本雅基

モチベーション
・開発文書の価値・書くために必要な能力

Association of System Documentation Quality©山本雅基

Page 2

開発プロセスに準じる仕事の進め方
 タスク間のインタフェースは開発文書である
SWP1 ソフトウェア要求定義

引用：組込みソフトウェア向け開発プロセスガイド,IPA/SEC(2007）
Association of System Documentation Quality©山本雅基

Page 3

業務に必要な全文書を開発文書とする› 開発の過程で作成される文書» 会社で開発プロセスを規定しているならば，アクティビティに対応した文書が定められている» それらに加えて，会議議事録や出張報告書や電子メールなども，開発文書として位置づける

開発文書
要求仕様書

設計書

ソースコードAssociation of System Documentation Quality©山本雅基

テスト仕様書…
・会議議事録・出張報告書…

Page 4

見える化を促進する開発文書 見えないソフトウェア開発を見える化する› ソフトウェア開発のQCD管理› 開発作業の分担…

 自分自身の能力も見える化する› 考えたことは文書として表現する» 書かなければ仕事をしたことにならない．
» 質の悪い文書を書くことは，質の悪い仕事をしたことと同じ開発文書から逃げないで，書けるように立ち向かっていきましょう
補足：私たちが生み出す付加価値
付加価値 ＝ 出力文書の価値 ー 入力文書の価値
Association of System Documentation Quality©山本雅基

Page 5

開発文書を書くために必要な能力
 沢山あります› 文法・書き方（国語，Z言語やVDM－SLなどの言語，UMLやSimlinkなどの図表，テクニカルライティング…）› 要求工学に対する知識› 設計論に関する知識› テスト技法に関する知識› お客様との打ち合わせを議事録としてまとめる能力› レビュー会議の結果を議事録としてまとめる能力› 協力会社に対して，依頼事項を明確に電子メールで伝達する能力› 豊かに発想して，それをわかりやすくまとめる能力…

これらの能力を伸ばしていきましょう
Association of System Documentation Quality©山本雅基

Page 6

流行の「デザイン思考」でも取り上げられている「発散思考」と「収束思考」を学びましょう

Association of System Documentation Quality©山本雅基

Page 7

「デザイン思考」をご存じですか Design Thinking› デザイン思考は、技術的に実現可能なものやビジネス戦略を顧客価値や市場機会へと転換可能なものと、人々の要求とを一致させるために、デザイナの感覚と手法を利用する方法、である。（http://designthinking.dangkang.com/design-thinking-genealogy/）› プロダクトデザインでは，PDCAをサクサク回すと捉えても良い› ティム・ブラウン：デザイナーはもっと大きく考えるべきだ（TED 2009）» 職業デザイナ達は、小ぎれいでスタイリッシュなものを作ることだけで頭がいっぱいになっているとティム・ブラウンは警告しています。 清潔な水の提供という緊急の課題においても デザイナーはもっと大きな役割を果たすことができます。彼が訴えるのは、地域に根ざし、共同作業による、参加方式の「デザイン思考」です（引用http://www.ted.com/talks/tim_brown_urges_designers_to_think_big.html ）Association of System Documentation Quality©山本雅基

Page 8

アイデアの拡散と分類（拡散思考と収束思考）
 デザイン思考家が知っておくべき39のメソッド（http://kashinotakanori.com/bootleg/）
第9メソッドが「アイデアの拡散と分類」

拡散思考

Association of System Documentation Quality

収束思考

©山本雅基

Page 9

開発文書を書くために，収束思考が必要なことは自明

Association of System Documentation Quality©山本雅基

Page 10

収束思考により整理される
 収束思考とは，ゴチャゴチャな状態にある複数の情報を整理すること

 整理すると，分かりやすくなる．
 分かりやすくまとまれば，それを文書化することは，比較的に容易．
Association of System Documentation Quality©山本雅基

Page 11

整理（１）
グループ分けグループ間の関係づけ
ロジックツリー
階層化：Is-a（継承），has-a（包含），因果関係：原因，結果，条件
マトリックス
過去-現在-未来，利用者，場所，…
Association of System Documentation Quality©山本雅基

Page 12

整理（２）
軸を立てて分類する（平面の配置は2軸が限度）
特殊
安い

高い
一般

SWOT分析
内部環境

外部環境

良い影響

S(強み)

O(機会)

悪い影響

W(弱み)

T(脅威)などなど

Association of System Documentation Quality©山本雅基

Page 13なぜ，開発文書を書くために，拡散思考が必要か？

Association of System Documentation Quality©山本雅基

Page 14

中身のない文書に価値がありますか？
 あらかじめ定められた整理のやり方（例えば定義された表や，組織で定められた目次構造）に従って仕事をするだけで，中身の素晴らしい開発文書が書けるのでしょうか？
 もちろん，作法に則って整理することは，大変に良いことです．
› でも，本当に十分に考えてから，整理をしていますか？
› 考えることもなく，表の穴埋めをしていませんか？

 こんな開発文書になっていませんか？誰でも書ける開発文書を書いていても，成長しません．
考えが不足しており，書くべきことが少ない
Association of System Documentation Quality

必然的に，中身が乏しい文書©山本雅基

Page 15

豊かに発想し，わかりやすく整理する 顧客が驚く高い水準の要求仕様書を作成したり，素晴らしく考え抜かれた設計をしたりするためには，どうすれば良いのでしょうか．
 発想豊かに考えることと，それを整理して纏めることを，反復して行うべきではないでしょうか．
 だから拡散思考が必要なのです．
拡散思考

必然的に，内容が充実した文書
書くべきネタが沢山生まれる

まとめられた考えから，新たな発想が始まる
Association of System Documentation Quality©山本雅基

Page 16

演習

Association of System Documentation Quality©山本雅基

Page 17

手法
 拡散思考と収束思考には，様々な手法が提案されています．
 拡散思考› ブレイン・ストーミング› 強制ブレイン・ストーミング› ブレイン・ライティング› オズボーンのチェックリストなど

 収束思考› KJ法› ロジックツリー› マトリックス
Association of System Documentation Qualityなど©山本雅基

Page 18

オズボーンのチェックリスト(1) Other uses（転用）そのままで新用途は、他への使い道は、他分野へ適用は＜着火用→マッチ棒の家＞(2) Adapt（応用）似たものはないか、何かの真似は、他からヒントを＜はし立て→円筒型マッチ＞(3)Modify（変更）
意味、色、働き、音、匂い、様式、型を変える＜四角→丸・三角型マッチ＞(4)Magnify（拡大）追加、時間を、頻度、強度、高さ、長さ、価値、材料、誇張＜大マッチ＞(5) Minify（縮小）減らす、小さく、濃縮、低く、短く、軽く、省略、分割＜ミニマッチ＞(6)Substitute（代用）
人を、物を、材料を、素材を、製法を、動力を、場所を＜木→紙マッチ＞(7)Rearrange（再利用） 要素を、型を、配置を、順序を、因果を、ペースを＜軸入れの場所変え＞(8)Reverse（逆転）反転、前後転、左右転、上下転、順番転、役割転換＜超豪華マッチ＞(9)Combine（結合）ブレンド、合金、ユニットを、目的を、アイデアを＜占いマッチ＞
引用：日本創造学会Web（http://www.japancreativity.jp/gihou13.html）を一部改定して掲載
Association of System Documentation Quality©山本雅基

Page 19

KJ法
1. 何でもかんでもデータを集める． （ここは拡散思考）
自分で観察・観測したことが良い
2. 一目で分かる程度の分量に区切り，カードに書き込む
3. 相互の位置関係を作らないようにカードをばらまく4. 理屈抜きにして，カードを気楽に眺める
5. 「データをして語らしめ」，グループをつくる
6. グループに見出しをつける
7. 見出し同士の関係をつくる
Association of System Documentation Quality©山本雅基

Page 20

演習テーマ新製品の機能要求を考えて頂こうと思います．
新製品のコンセプトは，当日発表します 最初に拡散思考をして， 次に収束思考でまとめ上げ，
 再度拡散思考をして… これを繰返します

Association of System Documentation Quality©山本雅基

Page 21

プレゼンテーション
せっかくなので，収束思考で作成したマップを用いて，即興のプレゼンテーションをして頂きます
もし，分かりやすい発表ができれば，分かりやすい要求仕様書を書く準備が少しは整ったはずです．
続いて，テクニカルライティングの練習が待っています．
Association of System Documentation Quality©山本雅基

Page 22