(第5回)

要求は理解するのが難しく、規定するのも難しい。この問題に対する悪い解決策は、次の空しい望みを抱いて、要求仕様書を作る仕事をずさんにやって、急いで設計とコーディングに進むことである。
1.どんなシステムでもシステムがないよりましだ。
2.この要求仕様書でも遅かれ早かれ結局うまくいくようになるだろう。
3.あるいは、設計者はシステムを作っていくうちに、どんなシステムを作ったらよいか分かっ  てくるだろう。
正しい解決策は、要求について出来るだけ多くのことを学ぶために、「今」できることは何でもやることだ。プロトタイピングを行え。顧客ともっと話し合え。エンドユーザーと1ヵ月間一緒に仕事をして仕事の上で何に欲求不満を感じているかを知れ。データを集めよ。やれることは何でもやれ。そうした上で、こうした要求を満たす、あなたが理解し構築しようとしているシステムの計画を、要求仕様書に文書化せよ。もし、あなたが要求仕様が今後大きく変わることを予期するなら、それも構わない。システムを漸進的に成長させるように計画せよ(原理14)。だが、そうするかといって、どの漸進の一つのステップも要求仕様定義の仕事をいい加減にやる言い訳にはならない。
(201の鉄則:原理40<要求分析の原理=要求について今できることは何でもやれ>)

― 解  説 ―


この原理40には、開発現場のリーダークラスの人達や、直接の管理者にとって耳の痛い思いでしょう。多くのソフトウェア開発組織では、この原理に背いているものと思われます。部下のエンジニアが、早くコーディング作業に入らないと落ち着かない管理者やリーダーは多いと思われます。前回もそれで失敗したのに、懲りずにまたそのような作業手順を要求してしまうのは、それでもコーディング作業に入るのが遅過ぎたと思っているからでしょうか、もっと、早くコーディングに入っていれば、何とかなったとでも思っているのでしょうか。
その判断が間違いであることを気付かせるデータは、そのような組織にはありません。一部の人は、逆にコーディングに早く入り過ぎたことが原因だろうと感じていても、それを裏付けるデータがないのと、その前に自分でやってみる勇気がないため、次回もコーディング時期を早めるという方針に従うことになるのです。
この神話を壊すには、コーディング作業は何時間あれば出来たのかを知ることです。つまり、
 1)工程ごとの作業時間を集計する
 2)各工程の作業を明らかにする
 3)個人の生産性データをとる
 4)コーディングに必要な時間を割り出す
という方法で、「コーディングの神話」を壊す1つの材料を入手できるでしょう。

工程別作業時間の集計をとる


まず必要なことは、作業の時間を集計することです。要求をまとめる作業に何時間、基本設計に何時間、詳細設計に何時間、関数仕様書の作成に何時間、コーディングに何時間、そしてテスト(デバッグ?)に何時間というように、現状の作業の区切り方で構わないから、それらの作業に掛かった時間を集計することです。
もちろんこのような組織では、それぞれの作業が明確に分かれていないでしょうから、設計作業の一部が混ざる形でコーディング作業をしているものと思われます。
それでも作業日報の様なものが書かれていれば、そこからある程度作業に費やした時間を知ることが出来ます。ここで大事なことは、日数で捉えるのではなく「時間数」で捉えるということです。

現実の作業を明らかにする


工程別の時間データがとれれば、そこで実際に行われている作業の内容を具体的に明らかにしてみて下さい。「要求仕様作成」と言う作業工程では、いったいどのような具体的な作業が行われたのか。設計作業やコーディング、テストなどの作業も、同じように、その作業内容を具体的に書き出してみて下さい。
コーディング作業と言っても、その「行為」に集中していないのです。もし、関数をどのような呼び出し構造にしょうかとか、それらの関数内のアルゴリズムをどのようにしようかとか、途中でデータ構造を変更したため、呼び出し構造や幾つかの関数のアルゴリズムを考え直しながらコーディングをしたような場合は、それらをできるだけ詳しく書き出して、それぞれに投入した作業時間の割合を書いてみて下さい。
この後、仕分けをすれば実際に設計作業にどれだけ費やしたか、コーディング作業は何時間かかったのかが分かります。勿論概算ですが十分に役にたちます。
大事なことは「出来ない理由」を並べるのではなく、出来ることを探してやってみることです。だって、出来ない理由を並べても何にも変わりませんし、何にも得られません。それよりもやってみれば何かが手に入るでしょう。


個人の生産性データを知る


もう一つ重要なデータは個人の生産データです。特に時間当りのコーディング行数を掴む必要があります。ここまでの作業によって、「コーディング作業」の中の、本当にキーを叩いていた時間がある程度の誤差で把握されており、そこから1時間当りの生産行数を割り出します。
この種のデータは、常に更新されなければなりませんが、最初は、何らかのデータがなければ始まりません。このようにして求められたデータでも、十分に役にたちます。

コーディング作業のデッドライン


こうして得られたデータから、先のプロジェクトではコーディング作業の着手を何日まで延ばすことが出来たかを割り出します。その日までに、要求の整理やシステムの構成、詳細設計、関数の呼び出し構造やデータ構造の整理、モジュール仕様書の作成、ソース形式による構造体の定義等を行っておいて、最後にコーディング作業に一気に取り掛かればいいわけです。
もちろん、これは「結果」ですから、現実の場面とは若干様子は異なるかも知れませんが、それでも、実際にコーディング出来ているということは、必要な情報をそれ以前にまとめることは可能だったはずです。

要求の把握に時間をかける

  
このような作業の結果、最初に要求を上手く整理しておかなかったために、後になって、リワークが何度か行なわれていたことに気付くことでしょう。要求を把握する作業が軽視されているような状態では、後になって思い違いや、機能のモレなどが見つかるものです。その結果、一度出来上がった(と思った)プログラムを壊して作り直すという作業が何度か行なわれているものです。
そのような作業?にどれだけの時間が費やされていたのかを知ることで、分析・設計工程の重要性が認識できるはずですし、その作業に時間を投入しても、コーディングに間に合わないというような事態が生じないことも分かるはずです。そして、その方が、合計の作業時間が短くて済む可能性があることも気付くはずです。


“SCだより”のページに戻る


(第87号分)

バイパスされる日本    


▲先ごろWTO(世界貿易機関)の閣僚会議がシンガポールで開かれたが、日本ではあまり報道されなかったようだ。中にはWHOと混同している人もいる。それもそのはずで、当初は日本からは通産大臣をはじめ誰も閣僚(大臣級)は出席する予定はなかった。「G1」級の国際会議にもかかわらず、臨時国会で手が離せないという事が理由らしい。
▲さすがにそれではまずいということになって、急遽外務大臣が途中から飛んでいった。経済関係の閣僚会議に外務大臣が出るというのもおかしな話であるが、主催国や他の国々もそれで特に不都合はないのである。この国の財布の中はカラッポだし・・・
▲先月、香港で開かれた世界経済フォーラムでも、国別の討論に入ったとき、日本の部屋には数人の外国人しかいなかったという。その不人気さでは北朝鮮と1、2を争ったと報道されている。アジアの一員としての日本に対する興味はここまで失墜しているのである。
▲何時までたっても金融の不良債権の実態は隠されたままだし、財政も行政もアドバルーンばかりで何も変わらない。規制撤廃(緩和ではない!)も検討のポーズは見せるが、すぐに「出来ない理由」が八百屋の軒先のように並べられ、結局、すべての事が先送りされてしまう。いつまでもこんなバカなことをやっていたら、気付いたときには世界は日本抜きで新しいゲームを始めているだろう。それとも、その時になって声を掛ければ、まだ振り向いてくれるとでも思っているのだろうか。さぁ、我々は「世界基準」で仕事をしよう!


“SCだより”のページに戻る



 第70回

「組織が絶縁体だった」


バーク氏は、IBMが九二年に五○億ドルというアメリカの産業史上でも最高の赤字を計上した際に、後継者選びを指揮した人である。その結果、当時ナビスコのジョン・ガースナーが選ばれ、今日に至っている。ガースナー氏が選ばれたとき、マスコミは一斉に、ビスケット屋さんに何が出来るかと、その選任劇を叩いた。ビスケットとIBMでは、余りにも掛けはなれていた。
だが今日ではIBMは「企業」として復活を果たしている。昔と同じようなコンピュータ・メーカーとしてではなく、新しい時代の企業として復活した。

= ◆ =

かってIBMといえば世界の超優良企業であった。給料は高く終身雇用が保証され、優秀なセールスマンだけでなく、ノーベル賞級の技術者を多数揃え、その組織もまさに「完成」品であった。そのIBMが五〇億ドルもの赤字を出すなんて、誰も想像もしなかっただろう。「完成品」であったがゆえに、時代に合わせて変化させなかったことのツケが五〇億ドルである。
公正な市場に置かれている企業であれば、このような危険と無縁であり続けることは出来ない。時代の変化を察知し、自らの役割との新しい「接点」を見い出し、その方向に舵を切ることこそが「経営者」の仕事である。IBMは五〇年という時間のなかで、明らかにそれを怠った。
今日、日本の企業が存続しえているのは、必ずしもIBMが立っている市場と同じ公正な市場に立っていないだけのことである。そこは、「行政指導」という独特のルール、業界団体や色々なルートによる新規参入者や異端者に対する不公正な圧力、土地や税制の障害、などによって既得権者の利益が守られている土俵だからである。

= ◆ =

ところで、バーク氏が後継のCEOを選ぶとき、外部世界との間で絶縁状態になっている組織を変えることに主眼を置いたという。外部世界とは「市場」のことだ。IBMはそれまで、コンピュータの世界は自分たちが作ってきたという思いがあったろうし、それはある範囲までは紛れもない事実である。だが、市場は、ある程度成長すると、母親の手を離れて自分で歩き始める。それから先は、市場自らが自己増殖を始め自分で友達を作っていく。母親が、いくら我が子をいとおしく思っても、子供は自らの意思をもつ。IBMも母親としてその成功体験に囚われたとき、外部世界との間で絶縁状態に陥ってしまった。

= ◆ =

ガースナー氏が後継CEOとして発表されたとき世界は驚いた。だが今日、あの時の選抜が有効であったことが証明された。ガースナー氏も見事だが、それ以上に彼を選んだ人達が評価されよう。IBMの問題点を「組織の絶縁状態」にあると見抜いた、その見識も見事である。

= ◆ =

この問題は、「外部と絶縁状態に陥ればIBMと謂えどもあのようになる」という教訓を我々に突きつけた。本来、これが市場のルールの筈である。そしてこのルールは、言い替えれば敗者復活のルールでもある。一度競争に破れても、勝者が市場を欺く行為に出たとき、かっての敗者に再びチャンすが訪れる。勿論、新しい参入者にも、平等に門戸が開かれている。単なる既得権益は存在しない。

= ◆ =

ここで問われているのは、市場に向き合って仕事をしているかどうかです。「組織」は時としてそのなかにいる人達を「組織の内側」に向け、市場から引き離してしまいます。つまり「絶縁状態」に陥れるのです。絶縁状態は、ある意味では居心地がいい。自分の都合だけを考えて仕事をすればいいのだから。そのため、ついそこで寝そべってしまいたくなる。
だが、一度絶縁状態に陥れば、全ての判断は「組織の論理」で行われるようになる。「出来ない理由」が堂々と並ぶのは、すでに絶縁状態に陥っている証拠です。市場が自分たちの「都合」に合わせてくれると思っている証拠です。そのような組織に市場や顧客の入る余地はありません。
そしてそのことは、そこにいる人達が、彼等の能力をもって社会に貢献する機会を失なわしめてることをも意味するのです。      ◆


“SCだより”のページに戻る

 (第87号分)

「組織というものは上だけ腐っているといいことはないし、下だけ腐っているということもない。一時的にはあっても、組織が問題になる頃には両方腐っている」


誰の言葉だったか忘れたが、手帳をめくっていると、まるで向こうから原稿にして欲しいと言わんばかりにこんなのが目に飛び込んできた。
官僚や公務員の不祥事が明るみにでると、いつも決まって「こういうことをするのは一部の人であって、このことで全部の人がそうだと思われてはこまる」という変な擁護の弁が出てくる。それを聞いている国民も、不思議なことに「そうだろうな」と納得する。確かに「ごく一部の人」ということもあるでしょう。だが、今回のような形で不祥事が表に出るようでは、もはや「一部」の問題ではないはず。一人だけ暴走してこのような不祥事を起こすなどということは殆どないし、あっても、不祥事の種類が違う。確かに、一般には交通事故などは、その人(だけ)の問題かもしれないが、それでもバス会社のようにそれが業務である場合にはそうはいかない。
収賄や贈賄などは、必ずしも個人の問題とは限らない。それを受ける「文化?」、それを贈る「文化?」がそこにある。しかもその「文化」は、効き目の薄くなった「倫理」を食べて太っていく。そして「倫理」の歯止めが利かなくなったとき、不祥事となって表に出る。この時点で、その組織の腐敗度はかなり進んでいることになる。上の方でバレるか、下の方でバレるかは、その境界を越える「一歩」をどちらに属する人が先に踏み出したかの問題に過ぎない。
しかも官僚のトップがその状態であるとすれば、その組織ではもはや「倫理」は機能していないだろうから、交代要員はその組織の中には殆ど存在しない可能性もある。どのような法律を作ろうと、彼ら自身がその大本に絡んでいる以上、必ず抜け道を作るだろう。そのような法律より、衆目に晒す方が効果があるかもしれない。


“SCだより”のページに戻る