羽生 章洋さんの新著「はじめよう! 要件定義」を読みました。とてもよい本です。難しいテーマにもかかわらず、イラストの可愛さもあって、あっという間に頭に入ります。
はじめよう! 要件定義 〜ビギナーからベテランまで:書籍案内|技術評論社
一読後、さまざまな応用例を思いつきましたので、書き連ねてみます。
新人研修のテキストに使えます
4月は多くの会社で、新人向けプログラミング教育を行う季節です。そこで一通りプログラムというものを理解し、演習をとおして作り方を学んだあとに、このテキストで「全工程を振り返る」というのは、いかがでしょうか。システム開発の原点となる要件定義の重要性を知れば、プログラミングという工程も違った視点で学ぶことができます。プログラムの完成がゴールではなく、お客様が求めているものを実現することがゴールなのだ、ということを本書でわかりやすく伝えることができると思います。
見積書といっしょに、お客様にプレゼントしよう
本書でもっとも心に残ったフレーズは、これです。
(要件とは)
作ってほしい人と
作る人の間の
合意事項
つまり、お客様の「要求」に対して、作り手側が実現可能と合意したものが「要件」です。もちろん、技術的およびさまざまな視点で、要求に対して代替案を提示することもあります。何度も議論を重ねた上で最後に要件という "合意事項" になるのです。
その通りなのですが、果たして、この解釈をお客様と確実に共有できていると、自信をもって言えるでしょうか。要求と要件の違いがわからないまま受注してしまうと、双方にとって苦い結末になりかねません。
そこで私からの提案は、SIer による見積書の提出時に、この本をお客様にプレゼントするというものです。この本に書いてあるような意識で進めるとプロジェクトの成功率は大きく高まるので、是非ともそうしましょう、と提案することはお客様にとっても好印象につながるのではないかと思います。きっと受注確度も高まります。
逆に煙たがられてしまった場合は、むしろ早めにデスマーチ案件を回避できたと考えてもよいでしょう。
Wagby での開発にも使えます
システム開発に占める要件定義の割合は、これまで 10 パーセント以下ではなかったでしょうか。しかし本書を読めばわかるように、実は要件定義が 50 パーセントを占める、という進め方でもおかしくありません。UI (User Interface)、機能、そしてデータ構造のラフデザインができれば、開発の手戻りがなく、結果として超高速開発になりえます。Wagbyのような開発自動化ツールとの相性は抜群で、要件定義の段階で Wagby の設計情報を入力することで「要件定義中ですが、動くアプリケーションで仕様を確認しますよ?」ということができるのです。これまでの開発スタイルとは大きく変わります。
ただし Wagby の利用では一点だけ、本書の内容を修正します。それは UI 設計において、最初から Wagby が提供する部品・機能を前提にしてください、というものです。超高速開発ツールの利用においては、ツールの特性を活かすことが肝要です。そのような工夫は後工程ではなく、本書のいう要件定義の段階から考慮するのが最良のアプローチです。
"要件定義に関する比重を高めるとともに、要件定義中に、動くアプリケーションを用意して仕様の妥当性を確認する。"
これがエンタープライズアプリケーションの「当然の作法」になる、ことを願っています。
新しい SI ビジネスのきっかけとして捉えてみる
本書を自社流にアレンジし、お客様への「サービスメニュー」として活用するというのはどうでしょう。
「充実した要件定義(契約は準委任)」+「超高速開発(受託またはお客様の内製を支援)」
という組み合わせによる新しい SI は、今、手に入る現実解であり、またお客様が求めている世界でもあります。
私自身、この2年ほど「超高速開発コミュニティ」のセミナー参加などを通して上流工程のあり方を学んでいたので、本書はとてもタイムリーでした。何か、いろいろなものが、一つの大きな流れとしてまとまりつつある、という勢いを感じています。