[SCだより 89号]

(第7回)

品質というのは、後からとってつけたようにソフトウェアに追加することは出来ない。これはソフトウェアの保守性、信頼性、適応性、テスト可能性、安全性、といった、品質のどんな定義にも当てはまる原理である。ソフトウェア開発期間中にどんなに努力しても、ソフトウェアに高い品質を作り込むのは至難の技である。であるなら、品質高める努力をせずに、どうして高品質のものを望めようか。このような訳で、使い捨てのプロトタイプを製品化する、などということはもってのほかである。

(201の鉄則:原理5<一般原理=品質を後からとってつけるようなことはするな>)

― 解  説 ―

一般に、品質は“織り込む”という表現を使います。つまり、あるソフトウェア・モジュールを一つ付け加えることで「保守性」を確保したとか、「信頼性」を保証できたと言えるようなことはありません。

たとえば玄関にテレビカメラを取り付けただけで、「防犯性」を確保したとは言えません。「耐震性」も柱を頑丈なボルトで固定しただけで十分とは言えません。柱は倒れなかったとしても、家の中のものが全部ひっくり返る危険が残っているからです。

コンクリートの壁を作ったあとで通気性を確保するためにドリルで穴を開けるようなことをすれば壁の強度が損なわれるし、その後で客の要求は、もっと性能の高い「エアロフロー」のような熱交換機能を含んだ通気性であったことが分かっても手遅れです。この時点で、求められた品質を実現することは「不可能」ということになります。

多くの人は、品質を織り込むことの意味を、このように住宅などで説明すると分かってくれます。住宅を注文した際に、その建設会社が設計書を書いていないとすればどうしますか? もっとも現実にはなにも書かれていなければ許可は下りませんの、何らかの設計書は存在するはずですが、なかには、実際に建築するものとは異なることもあります。注文主は、こんなことを許さないでしょう。

ところが、ソフトウェアとなると、途端に様子が変わってしまうのです。何もかも許してしまうのです。

バグを除去しても品質は上がらない

ソフトウェアもこれと同じで、要求されている「保守性」を満たすために、全体的にプログラムを見やすくしたり、ドキュメントとソース・プログラムとの相互参照し易くしたり、変更が生じやすい機能をカバーしているモジュールは、入れ替えやすい構造にしておいたり、保守の「想定シナリオ」を用意したりして、やっと「保守性」という一つの品質特性の要求を(ある程度)満たしたと言えるのです。それでも、本当に満たしたかどうかは判断は難しいところがあります。

「信頼性」や「移植性」なども、その品質特性を満たすために、色々な手だてを講じなければなりません。その何れもが設計という行為において盛り込まれなければなりませんし、そのためには、きちんとした分析がなされる必要もあります。このようなことが為されないで、ソースになった後で「信頼性」を取って付けるようなことは出来ません。

ソースになった時点でできることは、精々バグを取り除くことだけで、品質を高めることではありません。品質は、最初からそれを意図して織り込まれなければ実現しないし、必死の思いでバグを取り除いたとしても、それは「欠陥」を直しただけです。

作業の各段階で品質を織り込む

作業の各工程で品質を確保しなければならないという考え方は、製造ラインでは当然のこととして認識されていますが、何故か、この点でもソウトウェア開発については「別扱い」になっています。

製造ラインの途中をいい加減にしておいて、最後の所でまとめて検査しても、不良品の山を築くだけでしょう。そうなるとスクラップにするか、カバーを外して修理して作り直すかです。前者は、これからは「ISO14000」の観点から許されなくなるでしょう。そうなると、カバーを外して修理することになりますが、当然、部品の取り外しなどの際にも、どこかを傷つける可能性があり、市場に出回ってから「欠陥」として噴き出してしまうでしょう。

ソフトウェアもこれと全く同じ筈です。前工程で埋め込まれた欠陥に、さらに欠陥を増幅させて次の工程に引き渡しておいて、最後のテストのところで一気に検査しても、最早、品質としては手遅れでなのす。

インスペクションで品質を織り込む

テスト段階以前で品質を織り込むには、インスペクション(ウォークスルー)などの厳密なレビュー技法を用いるしか方法はありません。欠陥の殆どは実際に動作させて見れば分かります。しかしながらソースに変換されていない段階では、実際に動作させて見ることは出来ません。このために多くの組織では、テスト工程以前での検証作業を抜いてしまうのです。

各段階のインスペクションは、「実際に動作させる」ことに匹敵するものでなければなりません。関係者はそのつもりでレビューしなければなりませんし、各々の工程の成果物も、それに耐えられるようなものになるように工夫されなければなりません。そうでなければ、この種ののインスペクションも成果を得られないでしょうし、長続きしないでしょう。

インスペクションに耐えるドキュメント

したがって、大事なことはインスペクションが出来るようにドキュメントの内容を工夫することです。また、ドキュメントの構成も小さな単位になるように工夫すべきです。小さくして頻繁にインスペクションを実施すべきです。毎日が制作であり、毎日がレビューであるような手順にすべきです。そのように小さくしても、昨日レビューしたドキュメントと矛盾するようなことのないように、ドキュメントの構成や書かれる内容を工夫すべきです。少なくとも、これまで多くの開発組織で書かれてきたようなドキュメントでは、このようなインスペクションには耐えられないでしょう。

これからは、今までのように最後のテストの段階で修正したりする時間が確保出来ません。したがって、ドキュメントの単位を、時代の要請にあわせて小さくする工夫がどうしても必要になるのです。

   品質とコストの両立

一方、これからはコストの他、品質も確保しなければなりません。誰もがバグを含んだ製品を出している間は、そのなかに紛れて黙認してくれるでしょうが、「クリーンルーム手法」や「シックス・シグマ」といった取り組みで、品質の高いものを作り出す方法を手に入れる人(組織)が出てくると、それを達成できない組織は淘汰されます。それは市場の原理です。

数年以内に、開発工程の各段階で、確実にインスペクションが出来るようにならなければ、市場の要請との乖離が大きくなりすぎ、企業活動そのものが継続出来なくなる危険があります。


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


(第89号分)

就職協定廃止 のゆくえ


▲いよいよ、今年の4月以降、長く続いていた「就職協定」が廃止される。たしかにこれまでもこの協定は無視されていたとはいえ、道路の速度制限の標識程度の働きはしていた。大学側もあっさりと引き下がったものだ。最後の1年間で、学生の能力が開眼し逆転するような可能性はないのだろうか。

▲ところで、これほど銀行がこき下ろされているにも拘わらず、学生には相変わらず銀行の人気は高いようだ。銀行の役割は大きく変わっている。今、目にしている銀行マンの仕事のスタイルは、10年も経てば様変りしているだろう。日本の銀行のように規制で保護されてきた業種ほど、変化の際の落差が大きいはずだ。

▲「内定」というのは、一体誰のためにあるのだろう。どう考えても「売り手」市場では通用しない「手」だ。「買い手」市場のつもりで4月早々に「内定」を出そうものなら、途端に「売り手」市場に切り替わる可能性がある。学生は「内定」を本の間に挟んで、新たな売り込み先を探すだろう。その結果、半年も過ぎた頃になって辞退者がでる可能性もある。それを見込んでの内定であればなおさらだ。

▲「内定」を出した学生を引き留める?ことが出来るかどうかは、本当に「出会い」となったかどうかに懸かっている。採用の方法や形も、今までのように採用担当者に任せっ放しにするのではなく、インターネットを使っての意見交換や、早い段階で人材を求める現場の責任者と接触する機会を作るなどの工夫が必要になるだろう。結局、今回の「就職協定廃止」は、企業の採用担当者だけでなく、企業そのものの魅力が試されることになるかも知れない。



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



 第72回

修 復 の コ ス ト


アメリカの高速道路は、今では新しく作るコストより、すでにある道路を維持するコストの方が高くなっているという。幾つかの都市も都市として維持していくための費用が負担できなくなっているという。確かニューヨークだったと思うが、橋の技術者が、保守のことを十分に考えなかった結果、後世の人に余計な負担を強いたという自らの過ちを反省して、会社を辞めて小学校を創り、自らが設計した橋に生徒を連れていって、その場で自分の犯した過ちを説明し、保守の大切さを身をもって教えている人がいる。

     ▼ ・ ▲

コストには新規製造のコストと修復のコスト、あるいは保守のコストがある。最初に作るときのコストは誰でも考える。だが保守や維持のコストを考えることは少ない。特にこの国ではその意識が低い。もしかしたら「保守」が学問分野として存在していないのかもしれない。たとえば首都高速の工事に絡む社会的コストを含めたコストを算定したという話は聞かない。昨年の暮にそのようなコストが算出されたような話を聞いたような気がするが定かではない。

工事の直接のコストは「予算」という形で出てくるので、誰でも知ることができるが、その工事の影響で生じる渋滞や、迂回によるコスト、それに伴う余分なガソリンの消費や労働時間の延長などのコスト、さらには関連して発生しやすくなる事故などのコストまで含めた社会的コストは、誰か計算しているのだろうか。もし事故やその処理のコストが算出されているなら、高速道路の事故処理はもう少し早くなっていてもおかしくない。

     ▼ ・ ▲

「必要なものは仕方がない」―これはこの国で一般に通用する言葉である。道路は補修しなければならない、だから補修工事のコストは必要不可欠であり、他に方法はないという。ちなみに、首都高速は当時世界銀行からの融資を受ける際に、将来の交通量の増加を予想して、今の倍の車線の道路を作るように世界銀行から提案されていた。だが、日本の関係者は、この国の道路が自動車で埋ることなど夢想だにしなかった。その結果、車線の増幅に膨大なコストがかかってしまった。

     ▼ ・ ▲

ニューヨークの地下鉄は複複線になっていて、二四時間運行しながらも保守ができるようになっているという。将来の使い方を予想して、そのような設計になっているのだろう。振り返って、日本の地下鉄は補修の必要が生じたとき、一体どうするのだろうか。もう一本隠れたレールがあるようには思えない。そのときは完全に止めてしまうしかないのか。そのときに失われるコストは?

     ▼ ・ ▲

どうやらこの国には「予防」という考えがないようである。

健康保険も「修復」のための保険であり、「予防」は対象としていない。それでいて毎年増大する医療費の負担を巡って問題にはなるが、解決策のないままだ。逆に「高齢化社会」という願ってもない旗印を掲げて突破しようとする。「高齢化」という言葉に誰も疑問を抱かないから、今は突破できるだろうが、いずれ行き詰まる。しかも後世の人に多大の負担を残して行き詰まる。その時、私はその真っ只中だ。

     ▼ ・ ▲

「修復」より「予防」の方が低いコストで済むことはいうまでもない。アメリカのある保険会社は、予防にも保険を出していて、自動車保険の無事故割引制度のようなものまである。病気の予防に心がけた人に、保険料の割り引き、或いは割り戻しがある。保険会社もこの方が安くつくのである。

     ▼ ・ ▲

ソフトウェアもおなじである。開発側の技術に対して過度な要求や、明確な計画もなく強引に開発したソフトウェアは、その後の保守にその何倍〜何一〇倍ものコストがかかる。それでも「すでに存在しているものに対する」修復コストは「仕方のないコスト」と言うのである。そこには「生産性の高い健全な企業のみが社会での市民権を持つ」という考えなど微塵もない。二一世紀にかけて、このような生産性の低い企業は淘汰されるだろう。

     ▼ ・ ▲

ソフトウェア・エンジニアリングやソフトウェア・プロセスの考えは、見方を変えれば、ソフトウェア開発の予防工学でもある。如何にして欠陥を予防するか、欠陥の入り込まない仕組みを作り上げるか、ということに腐心しているのである。

「予防」はとりもなおさず保守のコストを引き下げる。逆に「予防」の概念を持たない人が為す行為は、間違いなく高いコストがかかってしまう。そのために折角の有能な人材を、一生「修復」のために張り付けることになる。これは間違いなく社会的に甚大な損失である。  

               ■


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

 (第89号分)

「不器用は器用に勝る」

        (野村克也=ヤクルト監督)


野村監督率いるヤクルトというチームは、優勝したかと思えばBクラスに落ちるというチームである。前回優勝時に、ヤクルトに確実に計算できるバッターはオマリーしかいなかった。それでも優勝した。野球は打率を競うスポーツではなく、点をとるスポーツだ。三割打てれば一流だが、三割バッターを何人も揃えたからといって勝てるとは限らない。現に、去年のジャイアンツも、優勝したのはピッチャーの力である。

“ブンブン丸”とあだ名された池山のような不器用な選手も、日本シリーズの時には、最後は一球ごとにグリップエンドを指一本づつ余らせて平井の速球に合わせた。土橋のバットにはグリップエンドが二つある。

不器用な選手が、不器用さゆえに頭を使った練習をする。人と同じ様なことをやっていては勝てない。だから二割五分の打率でも、点をとるような打ち方をする。打てなくても相手のピッチャーの神経を擦り減らすことで、次のバッターにチャンスの芽を残していくことも出来るし、後半にへばってくれる可能性もある。

器用な選手は、どうしても自分の器用さを過信する。それで簡単に通用するものだから工夫を忘れてしまう。だが不器用な選手は、自分が決して器用でないことを知っている。そして不器用だから練習を通じて体で覚えようとする。

このことはどんな職業にも当てはまる。器用な人は簡単にプログラムが書けてしまう。“すごいな”という回りの声に舞い上がって、工夫の必要性を認めなくなってしまう。逆に不器用な人はその不器用さをカバーする方法を身に付ければいい。その方が勝るのである。

  ーーーーーーーーーーーーーー

   前回の訂正

 誤: 九、異端邪説の屋から徒が幅をきかせている

 正: 九、異端邪説の徒が幅をきかせている


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