第5回の例会では、派生開発推進協議会副代表の古畑 慶次氏(元QuaSTom副会長、現相談役)を講師にお招きし、仕様化手法であるUSDMを使って、「要求」と「仕様」を階層構造で表現して仕様を漏れなく抽出する技術について演習を通じて学びました。
また、産業カウンセラーの資格をお持ちの古畑氏から「要求仕様書は設計者に行動を依頼するドキュメント」であるという「コミュニケーション」の観点からも、講義いただきました。
ワークショップのゴールが「USDM の基本知識と仕様化技術の習得」に設定され、3時間で全員がゴールを目指すため、事前の宿題をしたうえで、短時間で講義、個人ワーク、グループワーク、全体シェアを何度も繰り返すハードな例会となりました。
◆講義
○コミュニケーション - 行動の提案 -
ビジネスにおけるコミュニケーションでは、正確な情報の伝達が求められ、良好な人間関係(パートナーシップ)は思いを伝えることから始まる。
行動の提案に必要な要素(相手にどう動いて欲しいのか)は、「What」「Why」「How」を整合的・合理的に連結して伝えることで 、具体的行動 (How) の意味が明確になる。
○行動の提案から要求仕様書へ
要求仕様書とは、設計者に「~して欲しい」と行動を依頼するドキュメントであり、行動の提案と同様、基本構造は要求、理由、仕様である。
○USDMの基本
USDMとは 清水吉男氏が提案した要求を仕様化する方法であり、USDMの3要素は、要求、理由、仕様である。
作成手順
①要求(対象のシステムで実現したいこと)を作成する。
②理由(要求を実現したい理由)を作成する。
③仕様(要求を実現するために具体的にすること)を作成する。
USDMの基本構造に従うことで、要求と仕様を階層構造で、MECE(もれなくだぶりなく)で表現できる。
◆ワーク
下記、お題について、個人ワークで作成後、グループで共有し、全体シェアするのを繰り返しました。
①ボイスレコーダー(要求仕様書)(USDMを使わず書く)
②イヤホン(要求・理由)
③イヤホン (仕様)
④ボイスレコーダーのUSDM
⑤ボイスレコーダーのステートマシン
グループワークの時間はあらかじめ決められています。その時間に忠実にZOOMのホストがタイマーをセットしたために、グループの意見をまとめた解答が完成してなくても強制的にブレークアウトセッションから出されてしまい、“まだできてなーい”という悲鳴もあがる状況でした。しかし、“正解はない世界”でみんなが作成したものをシェアし、参加者の所属する会社ごとに要求仕様書の書き方が違うことに気づいたり、簡単な仕様のボイスレコーダーでも、理由によって仕様やステートマシン図が違うものになることに気づいたりすることができました。
また、古畑さんの講演は、提案者の清水吉男氏が触れていなかったエンジニアリング視点、工学的な位置づけにも配慮されており、REBOKなどと関連付けて説明いただきました。そのため、エンジニアにとってより実務とリンクしやすいように感じました。
以上のように、変化が激しいソフトウェア業界において、昔と変わらずプロジェクトが失敗する大きな要因となっている要件定義について、実際に手を動かしながら学べる大変有意義な例会となりました。