多くの活動が積み重なって要求仕様書が作成される。例えば、面接、ディベート、議論、基本設計に関する調査、作業指示書、アンケートの回答、JAD/RADセッション、他のシステムの要求仕様書、初期のシステム・レベルの要求、といったものである。要求仕様書には、こうしたいろいろな活動から到達した結果としての要求項目が書かれている。ユーザーがその後に要求を変更したいと言い出したと仮定しよう。それを他の要求に影響を与えないで安全に変更ができるかどうかを知るには、最初の要求がどういう動機で出されたかを知る必要がある。同様に、システムが要求を満たすことに失敗したときは、システムを要求に合わせるために修正すべきかどうか、あるいはシステムに要求のほうを合わせるかどうかを決める前に、要求の背景を知る必要がある。
要求上の決定がなされたときは(例えば、応答時間は2秒とする)、その根拠となった文書とのポインターを記録せよ。例えば、もしその決定が顧客との面接中になされたのなら、面接の参加者と同時に面接日と時間を記録せよ。理想的には、書類のコピー、テープ上の録音、またはビデオ録画を明確に参照することを勧める。このような文書化だけが、(1)後で要求を進化させることができ、(2)現状のシステムが要求を満たせなくなったという状況に対応することができる。
(201の鉄則:原理27<要求分析の原理=なぜこの要求項目が含まれたかを記録せよ>)
先月号に引き続いて、要求仕様書の必要性に触れた原理を取り上げます。言い換えれば、それだけソフトウェアの開発が、適切な要求仕様書が書けるかどうかに依存しているということでもあります。設計技法やプログラミングにどれ程精通していても、要求仕様書が書かれていない所では、所定の期間の中でその能力を十分に発揮することはできません。100人ものソフトウェア・エンジニアを抱える組織でも、まともに要求仕様書が書ける人が一人もいないということもあるのです。それだけ要求仕様書を書ける人を作ってこなかったのです。
顧客からは要求(あるいは要望)は出てきても、ほとんどの場合、その背景はこちらから聞き出さないと出てきません。「それって、どういう使い方をされるのですか?」「ところで、業績の成長率はどの程度と想定していますか?」「2秒というのはどこから出てくるのですか?」というように、こちらから聞き出さないと出てきません。
要求が文書で示された場合も同じです。その要求を詳細にブレークダウンする(要求分析工程に相当する)中で、顧客にその要求の背景や理由を確認する必要があります。勿論、すべての要求ごとに固有の背景があるわけではありません。いくつかの要求が一つの背景を持っていたり、その背景をある程度聞き出せば、別の要求の背景の見当がつく場合もあります。
要求に対する「背景」が記録されない理由の一つとして考えられるのは、「要求書」あるいは「要求仕様書」がまともに書かれていないことがあります。せっかく要求の背景を聞き出しても、書き留めて置く場がないのです。でもカテゴリに分類され、固有の番号が割り当てられた要求あるいは要求仕様が書かれていれば、この種の「背景」を書きとめるのに何の障害も無いはずです。ですから、先ずは要求書あるいは要求仕様書を書くことです。そこからすべてが始まるのです。
一般に、途中で要求や仕様を変更するには、それなりの理由があります。単なる勘違いで書いてしまったということもありますが、競争相手の動きなどの回りの状況の変化や、自社の製品戦略の変更などによって仕様が変更されるわけですが、その際、変更の理由や背景を記録しておくことが重要です。それなしで仕様を変更した場合、影響範囲などの見当が十分に行われずに変更される可能性が高く、後になって、他の仕様とのアンバランスが表面化します。その時、なぜそのように変更したのかという理由が残されていないと、間違って手直ししてしまうことがあります。特に、次回のプロジェクトで別の担当者の手にかかったときに、この問題が生じる危険が高くなります。
残念ながら、多くの開発現場では「要求仕様書」に相当するものは存在していません。そのため、要求(仕様)の変更やプログラムの修正の際に、その時点で“分かっている”ことに基づいて判断が行われることになります。特に、ソースプログラムしか存在していない状況にあっては注意が必要です。
ソースプログラムから分かることは、一般には、「そこでどういう“処理”が行われているか」であり、せいぜい「そこで行われている“こと”」が分かる程度です。さらに、それらは読み手が「分かった」と思ったことにすぎず、それが書き手の意志や考えと一致しているとは限らないのです。それを確かめるためには、分かったことが「表現」されなければならないのですが、それすらもほとんど望めない状況です。
ソースプログラムを、「なぜそのような処理が行われているのか」「この場面で何が要求されていたのか」というところまで考えを広げて読む人はほとんどいません。でも、ソースプログラムを見て、それを修正することが求められているのなら、かってそこで求められていた要求を発見し、その要求の「背景」に思いを馳せなければ、正しくプログラムを修正することは出来ません。これが出来ないために、そのソースを間違って修正してしまったり、その恐れから、目の前の「個所」には手を付けずに、ほとんど複製する形で新しい機能を盛り込もうとします。当然、ソースは爆発的に肥大化します。
読者の皆さんが、もし「優れたソフトウェア・エンジニア」になろうと思うのなら、要求を的確にかつ具体的に把握するとともに、普段からその要求の背景を知ろうとすることです。特に、他人の書いたソースを保守する立場にあれば、このスキルがあなたの身を助けることになるでしょう。リエンジアリング(あるいはリファクタリング)に於ては、このスキルは不可欠なのです。
▲日本のサッカーが、はじめて決勝にまで勝ち残った。結果は残念だったが、相手の方が確かに勝っていたということ。Jリーグが始まって以来、世界からレベルの高い選手を呼んできた。費用はかかったが、子供たちや、多くのサッカー指導者に影響を与えた。表に見える「技」だけでなく、練習方法やチームマネージメントも取り入れた。
▲ペルージャで活躍しているNATAKAの世代から、明らかに選手の意識が変わっている。彼らは「世界」に物おじしないし、最初から「世界」を目指している。サッカーという共通語で世界と渡り合えることを知っているし、どうすれば「世界」に出れるかも知っている。
▲一方、「野球」の方は、相変わらず「ローカル」のままである。審判の交流も失敗したし、流出を恐れてか選手の往来も壁が高い。来シーズンにメジャーの開幕戦を日本でやるようだが、「興行」の域を出ていないし、日本の「野球」をメジャーのレベルに近づけるための布石にはなっていない。
▲一般企業も、口では「グローバル」と叫んでいても、現実問題として、企業の行動ルールや評価基準などが「ローカル」のまま“維持”されているが、「日本の事情」は、「グローバル」化の中で“強さ”として工夫されるべきものである。サッカーの若い選手のように、最初から世界(の市場)を目指さない限り、事業は成立しない時代に入っている。
今、「善いことをすれば願いが叶う」というゲーム?が、小学生から高校生にまで流行しているらしい。数人で街の中を歩く姿は今までと変わらないが、彼らは、お年寄りや、小さな子供の行動を追いかけて、手助けが必要かどうか見ているのである。
お年寄りに席を譲ったり、階段の上り下りを手伝ったり、小さな子供が泣いていたりすると、すぐに駆け寄って「どうしたの?」と聞く。そうして、親とはぐれていると分かると、一緒になって探しだす。こうすることで、所定の用紙にシールを貼っていく。そうして台紙が一杯(100枚か200枚?)になると願いが叶うというのである。本当に叶うか、と言われると困るが、いつもそのように心がけていれば、何かチャンスに巡り合うかもしれないし、その可能性は何もしないよりは高いだろうと思う。もちろん年配の人には、そんなことは当たり前のことで、ゲーム感覚でやるとはもっての外、という人もいるだろう。
それ自体、悪いことをやっているわけでもないし、もしかしてこうやっているうちに習慣になってくれる人もいるかもしれない。もっとも、時にはやり過ぎのケースもあるようだが、気恥ずかしさにおされて何もしないケースを考えると許容範囲かとおもう。もともと、「善行」なんてそうやって身に付くものでもある。もちろん、ゲーム感覚でやっているとすれば、「ブーム」が過ぎた後の反動も考えられる。回りから「まだ、そんなことやってんの? 古〜い」なんて言われかねない。
でも、困った人の手助けをしたときに得られる感覚は、おそらく誰しも「気持ちがいい」ものであるし、多くの人は、もともとそうしたいという気持ちを持っている。ただ、気恥ずかしさが邪魔をするのである。でもいったん、その“てらい”や気恥ずかしさの壁が低くなった人は、もしかしたら、ゲームが過ぎた後の「反動」をはねつける力を手に入れているかも知れない。だから、知ったふうな大人が、心配する必要はないのかもしれない。
○ ○
このゲームは、もともと四国の業者が一年程前に考えて売り出したのであるが、ほとんど商売にはなっていなかったという。当たり前だろう。といっても、善いことをするのは当然だから、ということではない。そんなもの、恥ずかしくて買えやしないからである。だから、半年ほど前に渋谷あたりの店が仕入れて売り出したが、全く売れず頭を抱えていたという。確かシールと台紙がセットになって1500円ぐらいだったと思う。それが、急に売れ出したのは、テレビで紹介されたからである。その途端に売れ出したのである。まじめな顔して買えるものではないが、ゲームなら買えるし、ゲームならやれるのである。勿論、この感覚は、逆方面にでれば犯罪につながりかねないが、この場合は、良いほうに使われた。それ以来、仕入れが間に合わないと店の人が言っている。中には子供に頼まれて、仙台あたりから買いに来る親もいるというから、テレビの影響は大きい。
女子高生の服装や持ち物も、テレビの力で全国津々浦々にまで行き渡った。テレビゲームの売れ行きも、テレビのコマーシャルで決まる。多くの子供たちは、それを知らないでいることに耐えられないから話は簡単である。
○ ○
先の東京都の知事選挙も、テレビが大きく作用した。もっとも、東京の話ばっかりで、私の住む神奈川県は逆に影が薄くなってしまった。投票の4日前になってようやく選挙公報が配られたが、それまで誰が立候補しているのかさえ分からなかったし、それぞれの人のプロフィールや主張なども、そこでようやく知ることとなった。もっとも、そんなところに書かれている内容は知れているが、それでも、他に知る方法がないのである。
ホームページが選挙運動に使えないことも、インターネットに慣れた者にとっては不便でしょうがない。情報はいつでもどこからでも手に入る時代であるにも関わらず、選挙カーので名前の連呼や終盤での電話攻勢と言った、旧態依然とした選挙運動に明け暮れている。だから、投票率が40%前後というのもうなずける。テレビなどのメディアをもっと巧く活用しないと、社会が変わっていかない。もっとも役人からは、お年寄りにはインターネットは使えないからという「言い訳」も出てきそうだが、自分の生活に影響を与えると分かれば、孫に「インター何とかいうやつで、○○候補の主張を読み出してくりゃ」という会話も生まれる可能性もある。
○ ○
時代は、すでにテレビを越えようとしているが、この国は、いまだにテレビも使いこなしていない。 ◆
「人間には二種類ある。本人の持っている能力が非常に高い人と、本人の能力自体はたいしたことがなくても、人をまとめて大きな仕事ができる人と」 井深大
この国の企業が犯した大きな間違いの一つは、「専門職」と「総合職」という分け方をしたことであり、「マネージメント」を総合職に位置づけたことである。そして、もう一つの間違いが、「マネージメント」のスキルを身に付けるのに、ほとんど「経験」に依存していることである。
マネージメントも、明らかに専門職として位置づけるべきである。そうでなければ、その分野を経験しないかぎり、マネージメントが出来ないことになる。だがそれは明らかに矛盾する。時間的に足りないことと、役割が大きくなるほど、自分が経験してこなかった分野の割合が増えていくからである。現実は、たまたま回りの「役員」も同じ状態にあることで、その役に就いているだけで、本来の役割は果たせていない。判断も決定も横並びだし、最近では泣き言も横並びである。自分の判断と責任で「過剰」に対処できず、徒党を組んで政府に旗振り役を要請する始末である。
今、この国に求められているのは、専門職としてのマネージメントである。ソフトの開発に携わってこなくても、ソフトの部隊をマネージメント出来る人である。優れた現場のリーダーを“上手に”使うことで、それは可能になるし、それこそが「manage to」の意味するところであり、それを支えるのが「心理学」である。「心理学」を習得していないために、どうしてもその人のもつ高い能力よりも「気の合う者」だけを配下に置こうとする。アメリカと違って、言葉や人種、宗教などの違いを超えた社会ではなかったことが、心理学の必要性を生まなかったのかも知れないが、これからはそうは行かない。
[“SCだより”のページに戻る]