2024年8月25日

引き算のメリット

佐々木俊尚氏が引用されていた、 「引き算歯垢」という書籍紹介。書籍紹介の概要何だけれど、この短い紹介文を読むだけでも凄く納得出来るのは、自分が関わる開発の仕事もまさにそんな感じだから。例えば二昔位前の日本の家電がまさに「足し算」の製品で、ラジカセどんどん機能が追加されて満載されて行ったことは自分と同じ位から少し若い世代なら良く記憶している話でしょう。Windowsも、一時期はアプリがどんどん膨れていって、本来のビジネスアプリよりもゲームアプリの方が多かったような時代もあったけれど、アプリも所謂「ストアアプリ」となりオンラインで必要に応じて導入するようになり、最近のWindows11では(あくまで昔に比べれば)スッキリした印象はあります。ただ、その要素が何か問題を発生させる原因であれば取り除くことは簡単だし必要だけれど、そうでは無い場合には「無害ならばそのままでも」という思考はどうしても生まれてしまいますよね。

一番典型的なのは、開発におけるテストケース。製品開発の色々なフェーズで、機能やデザインに品質などを補償するために、色々な場面を想定してテストケースを準備して試験をするわけですが、テストケースというのは過去の事例からの積み重ねでもあるので、過去発生した問題に対しての対策として事前にその原因を見つけて排除する為にも重要なことは言うまでもありません。ただ、何か問題が発生した時には一番言われるのは、「何故事前に検査して分からなかったのか」「何かテストケーズが足りなかった、不十分だったのでは」と言う意見が必ず出てくること。そうなると現場としては、そういう要素を事前に発見するために、新たなテストケースを作成して導入するんだけれど、それをどんどん繰り返していくと、テストケースの分量は増えるばかり。増やすと同時に陳腐化したテストケースとか不用なものは削除していけば良いのだけれど、その為には本当に不用か確認作業も必要になるし、仮にそれを削除しても模試同様の問題が発生したら誰が責任を取るのかみたいな話が毎回出て、「それならば今回はこのままにしておきましょう」みたいな妥協案で毎回終わるんですよね。リソースと時間が有れば、そりゃぁテストケースの確認のためのテストケースを作って検証することも出来るけれど、そんな余裕はどこもないのが実状だし。

パソコンの場合、長く初期のシステムで使用されていた「Compatible BIOS(CBIOS)」という古い規格が無くなり、現在は「EFI(UEFI) (Unified Extensible Firmware Interface)」、数年前の機種まではこの「CBIOS」と「UEFI」の二つのSystem BIOSが実装されていて、パソコンが起動するときにはどちらかの基本システムを使用して動作していました。同じWindowsが動作していても、最初の起動時に基幹部分が異なる状態で立ちあがってくるので、その後のWindowsの動作も微妙に違ったりして、ですから当時のテストケースではそれぞれのBIOSで同じWindowsの機能テストをしてみたりと、テストチームは大変。それが最近のパソコンではUEFIでのみ動作するように変わったので、昔のCBIOSを想定したテストケースは削除されたんですが、その時に今でも必要なテストケースが一緒に削除されたり、よくよく見たらもう不要だよねというテストケースが見つかったり、結構大騒ぎな時がありました。それだけ「引く」事の難しさ大変さは大きいのですが、それによってテストケースは半減以下になるわけで、リソースはかなり効率化されるし、テストケースとしてもより効果の高いものに変更したりする機会にもなり、メリットは大きいんですよね。でも、なかなかそれをやる切掛が生まれない。

少し前に流行った「断捨離」も、「足すことのたやすさ、引くことの難しさ」を具体化した行為じゃないでしょうか。ああいう「物理的な物」の場合、例えば未使用期間でバッサリ判断して廃棄することも出来るから、やる気さえあれば簡単と言えば簡単。食べ物系で言えば「賞味期限/消費期限」なんていうものもあるから、「勿体ない」という気持ちを抑えさえすれば、不用なストックを一気に消化することも出来るし。そう言う、指針とかガイドがあるような物でも、人間はどうしてもため込んでしないそれで安心してしまう動物なので、何事においても「残しておけば後で何かあったときに」という意識が生まれて優先してしまうのは仕方の無いことなのかも。単に「引く、削除する、捨てる」と言うだけだと確かに不安を感じる事も多いと思いますが、自分がそう言う事をするときに考えるのは「万一の場合のバックアップ手段があるなら、外しても大丈夫」と考えるようにしていること。顕著なのは海外旅行の時で、私は出来るだけ軽装・軽量で旅行したい派で、荷物は出来るだけ絞るようにしています。その時に判断の基準としているのは、「万一の時に現地のコンビニ・お店で購入できるもので日常使わない物は持参しない」という考え方。まぁ、そう言ってしまうとそれこそ着替えから歯ブラシなんかの日用品何かも現地調達は可能だから、パスポートと現金・クレジットカードとスマホ(パソコン)があれば事足りてしまうことになってしまいます。それでも、到着時刻が夜ならば現地調達も出来ないわけで、勿論そういう部分での調整や判断はするし、直ぐに必要になる物は持参するけれど、「もしかしたら使わないかもしれない」と思うものは、もう現地調達予備軍リストに入れてスーツケースには入れないようにしています。単に「引く/引き算する」というので無くなると考えるから不安を感じるわけで、その物はなくなるけれど万一の場合の対策「Plan B, Plan C, ..., Plan Z」が準備出来れば少しは安心出来て「引くこと」の利益を得ることが出来るように感じます。「引く」と考えるよりは「最適化する」と考えるのが近いのかな。そう言う思考方法は、仕事では勿論、日常生活でも余裕が生まれる気がするし、色々な意味でフットワークも軽くなる気がします。それもまた「引き算」から得られるメリットだと思う。

0 件のコメント:

コメントを投稿