[SCだより 113号]

(第31回)

 保守期間中のプログラムの修正は(それが機能強化のためであろうと欠陥の修正であろうと)、最初の開発よりはるかに多くのエラーを作り込む。ある保守部門は、保守期間中に行ったすべての変更の20%から50%の別の新たなエラーを作り込んでいる、と報告している。

 これが、次のような「ルール」に従うことが極めて重要である理由である。すなわち、ソフトウェア構成管理手順を早期に確立せよ(原理174)、基準品目を制御せよ(原理179)、及び、変更制御を抜かしてはいけない(原理182)。

(201の鉄則:原理195<進化の原理=保守は開発よりも多くのエラーを作り込む>)

― 解  説 ―

 ソフトウェア開発の大部分は保守開発です。いわゆる「派生モデル」の開発で、組み込みシステムの世界では、これが殆どです。そのこでは、おそらく全くの新規の開発は、10年に1回ぐらいになっているのではないでしょうか。その間、営々と派生モデルの開発が行われている筈です。そしてそこでは、減ることのないバグに悩まされているのです。そのソースは、何年も関わって来たはずなのに、バグは無くなりません。

 もちろん、保守開発といっても、通常は何らかの新機能が追加されます。簡単な機能もあれば、結構複雑な機能であったり、アーキテクチャの構造に影響を与えるような変更もあります。それでも手に負えないような変更ではないのです。その証拠に、新しいバグを出しながらも、そして納期を遅らせながらも何とか実現するのですから。


新規で作るよりも難しい

 一つの問題は、修正行為に対する認識の甘さがあります。「この変更なら、○○の部分と□□の部分を直せばいけるだろう」と考えて、ソースの修正にかかるのですが、実際には、○○の箇所を修正した事によって、別の問題が生じてしまうわけです。「えっ、そんなところから呼び出していたの?」とか、修正によってタイミングが狂ってしまうわけです。もちろん、そのような事が書かれたドキュメントや仕様書はありません。たとえそのことが設計書を読めば分かるのかも知れませんが、保守担当者にはその手掛かりを持っていません

 保守開発の場合は、そこを修正することで、他にどのような影響があるのか、ということを全て検討しなければなりません。新規で作るときは、最初から全体のことを考えていることもあって、相互の関係などが見えているものですが、保守開発では、たとえそのモジュールを開発した本で人であっても、すでに記憶の中からは消えているものです。だからエラーの発生率は、新規開発よりも多くなるのです。

狭くなっている視界

 つまり、保守開発では、開発期間の早い時期に「ソース」に手を付ける傾向にあることも、影響範囲を考えるための視界を狭くしているものと思われます。確かに、変更要求を検討する際には、ある程度ソースを見ることも否定できません。目の前に、ソースが広がっており、しかも、そこを数行直せば、この案件は解決するように見えるため、つい、ソースの修正をやってしまうのです。この時、早い段階で視界が「ミクロ」化してしまっているため、気持ちのどこかでは「影響範囲を検討しなくちゃ」と思っていても、分析書や設計書などを使って、強引に視界を広げる「場」に引き込まない限り、簡単に叶うものではありません

 だからこそ私は、ソースに手を付ける前に全ての修正要件に対して「変更設計書」書くことを勧めているのです。ソースの修正が行われる前であれば、修正方法の変更には抵抗はありません。それに、変更設計書を使って「変更制御」もできますし、それが残されていることで、変更要件ごとにどのような修正が行われたかを知ることが出来ます。保守開発であっても、バグの修正であっても、「修正」という行為に対して「変更制御」を実施しなければ、影響範囲の問題は防げません。

 ツールだけでは解決しない

 最近、構成管理ツールがもてはやされています。おそらく、保守開発に伴うエラーが頻発していることが、その背景にあるものと思われます。確かに、最近の構成管理ツールは機能性が高いようですが、問題はそれを使う人の方にあります。分析・設計ツールでも言えることですが、ツールだけで問題が解決するわけではありません。ツールはあくまでもツールです。それをどう活用するか、あるいはどのように規制するかという「ルール」が必要です。そしてそのようなルールを積極的に守る、あるいはもっと効果的なものに進化させようという意識が必要です。

まさに“Repeatable”!

 CMMでは、レベル2の段階を「Repeatable」と呼びます。簡単に言えば、よく似た開発案件であれば、ある程度うまくやれるレベル、ということです。組み込みシステムの開発の殆どを占めている「派生モデル」開発は、それ自体が「Repeatable」な開発行為が求められているのです。つまり、派生モデルの開発が主体の組織では、ちょっと工夫すればレベル2の状態に引き上げることは非常に簡単ななずです。もちろん、これが出来るだけでは本来の意味でのレベル2とは言えませんが、実質的にレベル2の状態を手に入れるのは難しくないはずです。

 にもかかわらず、仕様の変更作業に何の工夫も行われずに、無計画にソースの修正に着手してしまったり、変更制御も入らないような修正作業が行われています。こうして「Repeatable」な作業の筈なのに何度もエラーを出してしまっているのです。エラーまで「Repeatable」に発生させなくてもいいのです。


   ページ=ジョーンズの専門知識習得の分類

段階1:無知の段階=その技術について聞いたこともない

段階2:気がかりな段階=その技術について文献を読んだことがある

段階3:見習いの段階=その技術について3日間のセミナーに通った

段階4:実践しようとする段階=その技術を実際のプロジェクトに適用しようとしている

段階5:職人の段階=その技術を仕事の上で自然に自動的に使っている

段階6:名人の段階=その技術を完全に消化していて、いつルールを破るべきかを知っている

段階7:エキスパート=専門書を著作し、講演し、その技術を拡張する方法を探究する


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


(第113号分)

猛威を振るったインフルエンザ

最新の医療が活かされていない

▲今年のインフルエンザの流行の特徴は高齢者や乳児が主に感染していることである.特に、老人ホームや高齢者の病院などの施設で集中的に広がっており、全国ですでに300人前後の人が亡くなっている。

▲今シーズンは大人に流行することは、昨年夏の免疫力調査で分かっていたという.だったら,お年よりに優先してワクチンの予防接種をすべきだった.昨年の秋に済ませておれば、たとえ感染しても命まで落とさなくて済んだ可能性が高い。それに、昨年秋に認可されたA型ウイルスに効く塩酸アマンタジン〔感染後に使用する)も使われた形跡が無い

▲昨冬だったか、香港でA型の新しい株が発見されたとき、その感染力に世界は真っ青になった。多くの感染者はだしたが、亡くなったのはたしか、初めの頃に感染したわずかが4人である。それは、10分でを判別できる試薬と、この塩酸アマンタジンの効果である。その結果、感染後2日以内に投与した人からは死者は出ていないという。

▲今回、我が国でこの薬が使われていない理由はよく分からないが、10分程度で判断できる試薬も輸入すればすぐにでも手に入るはず。A型,B型の両方に効く薬は来冬には販売されるようだが、エイズで問題になった血液製剤への対応と同じ構図に見える。それとも、厚生省はかってのように予防接種の義務化を復活させたいのか。


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


 第96回

一流への道


 大相撲の初場所で千代大海が優勝し大関に昇進しましたが、若貴と違って、現代っ子らしく弾んでいるのがとても印象的でした。十六歳で相撲の世界に入るまでは地元では知らない人がいない暴走族のリーダーであったそうです。相撲とは全く無関係な世界に居た青年が、あれから六年。千代大海は大関として認められるまでになったのです。

 大関は誰でもなれるわけではありません。実際、期待された力士も、関脇までは届いても大関には簡単にはなれません。だが、相撲の“遺伝子”を持っていない若者が、日々の稽古と考えられたトレーニングを通して、6年という時間のなかで「一流」の線まで届くのです。

       ◆

 「6±1年」というのは、一流になるための時間のような気がします。別に統計処理したわけではありませんが、私の周りにも何名かいます。最近では、オブジェクト指向で、技術習得のレベルが、どうやら「段階6」〔1ページ参照)に達したと思われる人がいますが、彼も今日まで約6年です。また2月の初めに、ドイツに居る女性から、ハノーバー大学で「Ph・D」がとれたというメールが入りましたが、彼女がドイツに行ったのは九四年の秋です。「6±1年」という期間は、私自身の経験からも、ある「線」を越えることの出来る期間と実感しています。上下2年の差は、活躍する分野に対するその人の事前の知識やポテンシャルの差などです。

       ◆

 たただし、「6±1年」で誰でも一流になれるわけではありません。その間、どういう取り組みをするかです。新しい本を読んだだけで簡単に身に付くほど甘くはありません。相撲で言うところの、日々の稽古の問題です。本番とは別に、毎日、どのような稽古をしているかです。さらにその稽古が、日常にリズムになっているかです。

       ◆

 四股踏み、すり足、鉄砲など、食事を摂るのと同じように、これは力士の日課です。省いたら、腹が減るように、居心地が悪くならなければなりません。その他に、筋トレやぶつかり稽古、出稽古、巡業などもあります。15日間の本場所で最高の結果を残すために不可欠のトレーニングです。

       ◆

 それぞれの分野に応じて、毎日の四股踏み、すり足、鉄砲に相当する取り組みがあるはずです。例えば、欠かさず、レベルの高い技術雑誌を読んで、その中の内容を理解できることを確かめることです。単行本と違って、雑誌の場合は、適当な長さに切られていますので、日々の筋トレには丁度いいのです。インターネットを利用して、オープンソースを入手し、優れた人の「作品」に触れるのもよいでしょう。

       ◆

 もちろんこれだけではダメです。雑誌ではどうしても「部分」しか手に入りません。体系だった良質の文献に取り組まなければなりません。そして、その中に書かれていることを、実際に自分の手でやってみることです。これがぶつかり稽古です。話を聞いただけ、本を読んだだけでは、本番になって何の役にも立ちません。本番では、身体の中に入っている方法(技)しか出てきません

       ◆

 ある程度力がついて、その部屋には稽古相手が居なくなったときは、出稽古に出るのです。つまり、レベルの高い外部のセミナーを受けてみることです。そこで交わされている話や質問内容が殆ど理解できるか。また、自分でも講師の人に質問をぶつければいいでしょう。稽古に来ているのですから、質問もせずに帰ってくる手はありません。特に、講師のレベルが高いのなら絶好のチャンスです。

       ◆

 巡業に相当するのは、新しく勉強した方法(技)を、本番さながらに使ってみることです。自分の持ち時間の中で、本番と同じテーマを使ってやってみることです。そこで、本番になっても使えるような感じになってきたら、本番に使ってみることです。完全でなくても構いません。次はその技で決めることが出来そうな感触でも手に入れれば上等です。多くの人の間違いは、稽古も何もしないで、聞きかじりのまま本番で使うために、すごすごと引き返さざるを得なくなるのです。

       ◆

 こうして「6±1年」、弛まず続ける事が出来たなら、「一流」の世界に入ることが出来るのです。

 「6±1年」が長いと感じるかも知れませんが、実際には中程で仕事上にも効果が現れます。いわゆる「石の上にも3年」というやつです。この前半の3年間がとても重要なのです。ここで集中しないと、後半の目処が立たないのです。

 これは人事(ひとごと)ではありません。皆さん自身の問題です。皆さん自身がどのような人生を歩もうとしているかの問題です。そして、それは、この国が、プロの国になれるか、アマチュアの国に止まるかの問題でもあります。     ■


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

 (第113号分)


「分配の平等」というあの強固な理想を目指したどんな政策も
「法の支配」の崩壊をもたらす (ハイエク)

 民主主義がおかしな方向に向いはじめるきっかけは、「自由」と「平等」を同列に論じることに始まる。その結果、自由の意味が「圧制からの自由、つまり他のどんな恣意的な圧力からもあらゆる個人が自由でなければならない」から、「人々が真に自由になるためには、それに先立って、物的欠乏という圧制が転覆されなければならない」とすり替わった。我が国でも、最近は「分配の平等」に根差す政策が目に付くが、それは、必ず政治の介入を招くことになる。富を分配する行為には裁量が働く。そのため、本来の「法の支配」を崩すことになる。

 「地域振興券」が早いところでは既に配られているが、税金を使っているにも関わらず、使用できる店と出来ない店があって分かりにくい。中には、地元の商店街で優先的に使わせるために、大手スーパーでの使用を3ヶ月間遅らせるといった恣意的行為も表面化している。もっとも、この使用制限は完全に現行法に違反するのであるが、公取委の警告も、「みんなで渡れば怖くない」と言わんばかりである。この種の「平等政策」は、「法の支配」と衝突する。そして「分配の平等」に慣れた国民は、「自由」を放棄してでも、空腹になれば政府に対して「平等」を叫ぶようになるだろう

 ちなみに、かってレーガン大統領は、このハイエクの考えを全面的に取り入れ、徹底的に規制を取り払い、福祉も最低限に押える政策をとった。平等から自由へ引き戻したのである。一時的に失業は増えたが、それが今日のアメリカの繁栄の礎になったとの評価は定着している。そして同時期にサッチャー首相も同じように規制を取り払った。ケインズの国にして、ハイエクを採ったのである。


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