[SCだより 102号]

(第20回)

  ソフトウェアが失敗したときは、あなたは、単にその周辺だけを分析して原因と思われるものを速やかに修正するのではなく、その失敗の原因を完全に理解する義務がある。

 あなたがソフトウェアの失敗の原因を追跡しようとしていたとしよう。あなたは、特定のコンポーネントがある値を送っていること、その値が望ましい値のちょうど2倍のであることに注目した。その場しのぎの解決策は、作られた値をそれが移される直前に2で割ることである。この解決策は、(1)それはすべてのケースでうまく働かないかもしれないし、また、(2)そのプログラムが、互いに補いあう実質的に2つのエラーを含んだままにしておくため、将来、そのプログラムを実質的に保守できないものにしてしまう(原理92)、という理由で不適切である。その場しのぎの解決策がもっと事態を悪くするのは、受け取り側がそれを使う前に受け取った値を2で割ることである。この解決策には、最初に挙げた問題にすべて関連する問題に加えて、それが誤ったコンポーネントを呼び出して誤った値を受け取るという、すべての将来のコンポーネントに及ぶ問題がある。正しい解決策は、プログラムをよく調べて、なぜ値が一貫してちょうど2倍になるかの原因を突き止めて、それを修正することだ。

(201の鉄則:原理188<進化の原理=現象を直すのではなく問題を直せ>)

― 解  説 ―

 ここで言う「失敗」とは、言うまでもなく「バグ」あるいは「不具合」のことです。McConnell は、不具合の原因を“完全に理解すること”は、エンジニアの「義務」であるという。それは、「あなたが間違って組み入れたのだから、本来あるべき姿に戻す義務がある」と言っているのです。一見、強い調子に聞えるかもしれませんが、良く考えたら、これは当然なのです。しかしながら、実際に行なわれている行為は、その場しのぎの「手当」でやり過ごしていることが多く、そのために、治ったはずの「バグ」が治りきっていなかったり、別の不具合を生み出したりしているのです。不具合を埋め込むという「失敗」をしたうえに、さらに修正という行為で、新たな不具合を埋め込んでしまうという「失敗」を重ねているのです。当然、リワークになってしまうし、納期も外すことになることもあるでしょう。時には、市場で問題が出てしまうことになり、致命的なダメージを受けることになるかも知れません。

 こうした不具合の修正方法のまずさが、多くの人にとってソフトウェアの開発を困難なものにしてしまうのです。

習慣化の危険

 この原理の例のような修正の仕方になるのは、通常、納期が迫っていたり、沢山の不具合が発生して、早く片付けなければならないような状況にあることが考えられます。落ち着いて「問題」を探す余裕もなく、つい、「現象」を押さえることでかわそうとしてしまう。人によって、この種の修正の仕方をして事態を悪化させる傾向があることから、習慣化していることも考えられます。つまり、不具合修正の一つのスタイルとして身に付いているわけです。特に、いつもいつも直し方の欠陥が直に露呈するわけではありませんので、その場は上手く行ってしまうこともあります。そのため、「成功体験」として体が覚えてしまう危険があるのです。

視界の変化

 もう一つこのような問題が起きる要素として、視界の狭さが考えられます。分析段階や設計段階では、いろんな「関連」を考慮に入れながら進めているため、あるところで仕様の変更が起きても、影響範囲について広角度に考えることができ、意外と修正モレや間違った修正をしないものです。しかしながら、テスト段階に入って、連日、バグの追跡に追われ、ソースコードを追いかけることが多くなっている状況では、修正の仕方によって影響を受ける範囲などを上手く考えることが出来なくなっているものです。この原理188の例のように、画面に見える値が「現象」に過ぎないにも関わらず、それが「問題の箇所」に見えるのです。そしてそこを直せば、この問題は見事に解消するように思えるものです。以前にも同じような間違いをしたにも関わらず、今、また同じ間違いを犯すのです。

 この視界が狭くなるという変化は誰にでも起きるものですが、経験豊かで優れたエンジニアは、そのように狭くなっている可能性のある自らの視界を調整するために、すぐに再現に頼ったりソースを追いかけるのではなく、先ずは、不具合に関連する「要求」を確認したり、設計書の関連する箇所を見るのです。こうすることで、3ヶ月前の設計段階に自分の頭の状態を戻すのです。但しこれが出来たとしても、十分とは言えません。

変更制御の目的

 その上で、このような間違った修正行為を見過ごされることのないように、レビューという行為(プロセス)をによってチームや組織でカバーしあうのです。ひとりで問題を追跡し、その間違っている個所を特定し、「そこ」を修正すれば、この問題は解消すると思っても、そこには「ひとりの限界」あるいは「分かることの限界」というものが存在します。しかもその限界は、当人には見えないことが多いのです。

 特定した問題の箇所を明らかにし、その対応策を公表することで、他の人の「視界」に晒すのです。そしてそれによって、思い込みの状態を矯正したり、時には、自分を誤魔化していた状態から目覚めることができます。、特に、テスト工程の後半に入っての不具合の修正行為は要注意です。不具合に伴ってソースとの対面が連日続いていることや、精神的にも疲れているために「現象」の対応で逃げようとする気持ちが強くなってくることなど、誘惑が多くなるからです。

 また、不具合が少なくなってきた終盤に発生する不具合の場合は、逆に緊張感が欠けていたり、軽率に対応してしまうことも考えられます。

 このような失敗を防ぐためにも、不具合の修正に対しては、何らかの規制(変更制御)が必要になります。

変更ミスの統計

 残念ながら、しっかりしたリーダーも存在せず、このような行動様式をもっている組織ほど、「変更制御」を導入することに抵抗する傾向があります。そして、その抵抗の根拠は、「そんなことをしていては修正が間に合わない」というものです。このような姿勢からは何も改善しないことは言うまでもありません。どうしても、このような抵抗が強いときは、不具合の分析項目として、「変更ミス」あるいは「変更制御モレ」という項目を用意し、その実態を把握することから、突破口を開くことです。


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


(第102号分)

進む 韓国経済構造改革

▲IMFからの資金導入を機に、韓国の経済が大きく舵を切り始めた。先月号にも触れたように、調整解雇の承認やM&Aの規制撤廃を受けて韓国の財閥が一斉にリストラに踏みきることが予想される。まだ価値の残っている事業を切り離し、欧米の企業に売却したり、合弁事業で立て直しを図る。欧米の企業も、東アジアに拠点を構える絶好のチャンスである。

▲アメリカ式の資本の原理の働く制度に変化する。もちろん、その過程で大量の失業者が出るだろう。だが既存の規制の撤廃が中途半端でなければ、欧米の資本を呼び込むことができ、案外と立ち直りは早いかも知れない。欧米資本も、今まで政策的に外資を止めていた国だけに、進出には意欲的である。

▲翻って日本では、金融機関への横並び的な公的資金の投入によって、金融機関の改革が後退することは避けられず、ビッグバンのテンポも遅らせることになるだろう。今までなら欧米各国から非難轟々だろうが、今回はすぐ隣りの韓国が門を開いている。日本が、これまで同様にのらりくらりとした対応をするなら、彼らは日本を諦めて韓国に進出することになる。

▲韓国に進出してみると、空港は利用しやすいし、港湾施設も日本をしのいでいるし、港湾労組の問題もない。勤勉さについては、日本に勝るとも劣らない。国民の英会話の能力も、日本よりも優れているかもしれない。しかも、日本向けの製品を作るとなれば、大いに力を発揮するだろう。北朝鮮の問題を除けば、条件は日本よりも整っているかも知れない。そうなると、日本の存在はどうでも良くなってしまう。極東の拠点は2つも要らないのである。


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


 第85回

家庭人 の役割は?


 先頃、神戸の少年「A」の供述調書の一部が雑誌に掲載された。この資料を持ち出したことの是非は脇に置くとして、少なくともこの雑誌が出た時点では、この問題は殆ど風化していた。

 丁度一年前に文部省の審議会から、「いじめ対策の決定版」が出されたが、今日、中学校内でのいじめは一年前よりひどくなっている。つまり何も解決していないし、解決の方向に向かってもいない。いや、むしろ逆の方向に進んでいる。神戸の事件の後も、「心の教育」とか「家庭の問題」ということで報告が出されているが、どれも的を外しているし、実効性のないものである。

  “しつけ”で解決するか

 最近の中学生の“ナイフ事件”をきっかけに、再び「家庭のしつけの問題」として扱われているが、“学識経験者”もこの程度の思考能力しかないのかと思うと、悲しくなってくる。

 ソフトウェア開発の世界でも、たとえば顧客の要求の意味を取り違えたとか、設計段階でモレてしまったという場合、反省として「レビューの不足であった」という結論を出すことがある。でもそのような結論で解決しないことが多い。何故ならレビューをしなかったのではなく、「レビューができなかった」からである。「しなかった」だけならやれば解決する。だが「出来る状況ではなかった」とすれば、この結論では意味を為さないことになる。

 つまり、その段階でレビューの時間が確保されていないとか、人の書いたものを一緒に読むという意識が欠けているような場合、「レビューをしましょう」というだけでは答えにならないのである。そういう決定が出されても、そこにいるエンジニアたちは、どこから手を付けていいのか分からず、動けないのである。

 これと同じように、「家庭のしつけ」という結論も、現実には何も生みださない回答である。その証拠に、「家庭」の親たちも実際に何も動けないではないか。

  三つの役割

 今日、一体誰が家庭でのしつけを担当するというのか。父親か母親か。父親は、全ての時間を会社という「村」に捧げている。平成不況以降、失業の恐怖を少しでも振り払おうと、それまで以上に「会社村」に身を捧げる傾向にある。では母親はといえば、これまた父親の給料の上がらない分を補うためにパートに出るようになった。子供が小学校の三年生ぐらいになれば、多額の住宅ローンを抱えている状況では、そうせざるを得ないだろう。だが、そういう家庭環境の変化を社会が支える仕組みが存在しない現状は、家庭でしつけができる状態ではないということである。

 本来、父親は「企業人」「家庭人」「社会人」の三つの役割を果たさなければならない。この三つの義務を果たすことは、ヨーロッパ(例えばフランス)では人として認められる必要条件だという。その配分は均衡でなくても、全く放棄することは許されない。中国の文献の中にも「五計=生計、家計、身計、老計、死計」というのがある。この中の「身計」は「企業人」に通じるものであり、「家計」は、「家庭を運営していくための計らい」という意味で「家庭人」と同じである。

  「家庭人」の放棄

 だがこの国の父親は「家庭人」としての役割を放棄して久しい。核家族化から始まったとすれば、既に四〇年という時間が経っており、その間二つの世代が生まれている。つまり、問題を起こしている中学生の親も、「家庭人」を放棄した父親の下で育っている可能性がある。

 家庭人としての義務を放棄する際に、「お父ちゃんは、家族の為に毎日夜遅くまで働いているんだよ」という言い訳が使われているようだが、頭のいい、感受性の強い小学生ともなればこの「うそ」を見抜く。「うそ」であることを証明できないが、少なくとも「おとなは自分勝手である」ということには気付く。そしてそれは単に父親の問題というだけではなく、社会の仕組みの問題であることを感じ始める。そのような社会の中の何処に、自分の身を置けばいいのか。神戸の少年の場合、その答えは「祖母」であった。

 企業は、父親から、家庭人と社会人の義務を放棄することを求めてきた。表面的にはそうではない振りをしても、いざというときは「会社と○○とどっちが大事か」という踏み絵を持ち出す。

   工夫の欠如を招く

 だが、三つの義務に対する要求をなんとか工夫して実現しようとしない人は、その一つに対しても、満足な結果をもたらさないことに会社は気付いていない。実際、「それをやると、こっちが遅れます」という単純な「OR」の発想しか出来ない人の仕事振りは、今日では市場価値を持たないのである。それは最も大事な「工夫」を脇に追いやっていることに気付いていないからである。これまで安価で豊富な労働力と右肩上りの経済成長が問題を隠してきた。

 勘違いしてもらっては困るが、私は企業人としての責務を減らせと言っているのではない。むしろ逆だ。その人の人生を考えない、場当たり的な安易な妥協をすべきではない。

 保身のはずが棄身に

 でも、結果的に日本の「会社」は、そういう人を大量に生みだしてきた。いやむしろ称賛すらしてきた。その結果として、最近の企業の生産性は上がっていない。逆に「世界」に大きく引き離されてしまった。会社や社会は、この三つの義務を上手く、かつ最高度に実現させることを社員に求めるべきであったし、それを何らかの形で支援すべきであった。安直に要求した滅私奉公が、実は家庭の崩壊という犠牲の上に成り立っていたのである。今となってはこの代償は余りにも大きい。

 「工夫」を放棄した人に出来ることは「結果を生まない努力の姿勢」だけである。当然それは時代の要請に合わない。時代は、この三つの役割を確実にこなせる人を求めているのである。最高の仕事ができる人は、この三つの役割を最高にバランスさせる人だからである。

       ◆   ◆

 失業の恐怖から逃れるために二つの義務を放棄したことが、結局時代の要請に応えられない存在となってしまった。皮肉なものだ。山一を解雇された多くの中高年の人たちが、このことを如実に物語っているではないか。時代の求める曲を囀れないカナリアは、結局、会社という鳥篭から“捨て”られることになる(もっとも、どちらがいいのか分からないが)。

 「家庭のしつけをしっかり」という答申も、ここに踏み込まれることが無ければ、何も解決しないし、何も進展しない。その間にも進むのは崩壊のシナリオだけである。もっとも、かの学識経験者諸氏も、「家庭人」としての役割を犠牲にしてきた人だとすれば、このことに気付くことはないかもしれない。    ■


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

 (第102号分)


今月は、お休みです。    


 


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