【要 旨】
「Updateが短時間に済むから、フラグやスイッチを建てまくったとな?!/アホかいな! 阿呆が開発リーダーだとプロジェクトを潰す典型事例だ!/構造化に反する、ソース破壊で、トレース、維持管理、構成管理が出来なくなる!/阿呆に馬鹿を継ぐ愚行!/これで、Windows10の命運は尽きた!/絶対やってはならぬ愚行をしでかした!」
【Key-word】
[維持管理を放棄か?]、[維持管理が出来ない!]、[Win10に駄目出し]
【投稿者コメント】
以下の報告に依ると、『「バージョン21H1」の新機能は、旧版では無効化されているに過ぎず、「バージョン 2004/20H2」からのアップグレードなら、"イネーブルメント・パッケージ"と云う小さな更新プログラムを適用して、旧版で無効化されている機能を活性化するだけで済むから、「バージョン2004/20H2」からの更新は、短時間で済む』との事。
「バージョン21H1」への更新・Updateを短時間に済ます為には、何をやっても構わないと云う事なのか?
「旧版で無効化されている機能を活性化するだけで済む」とは、OSのプログラムソース内に、フラグやスイッチを建てまくって、「旧版用の処理の記述」と「最新版用の処理の記述」が入り乱れていると云う事で、いわゆる、長い褌(ふんどし)の様に、最大公約数化して、コーディングした本人も、2~3週間後には、プログラム構造が把握出来ない様な、迷走パズル化しているから、後で、改修・手直ししようにも、調査段階で、ギブアップしてしまう。
褌(ふんどし)プログラムで、フラグやスイッチを建てまくれば、必ず、どこかで、"ON"と"OFF"、又は、"真"と"偽"を取り違えるし、フラグやスイッチで飛んで行った先で、更に、フラグやスイッチで分岐すれば、処理の流れは、全く、把握出来なくなると云う、もつれた、絡(から)んだ、スパゲッティ・プログラムとなり、もつれを解き放す事は、ほとんど、不可能となる。
こんな食えない・料理出来ない(手直し・修正出来ない)、スパゲッティ(プログラム)は、台所のゴミ箱へ、放り捨てるしかない!
添付図_『ソースが絡(から)んで美味しいのは、食えるスパゲッテイだけ! プログラムが絡(から)んだら、頂けない!』
【参考】
https://ja.wikipedia.org/wiki/スパゲティプログラム
「スパゲティプログラム」とは?
プログラムのソースコードが、それを制作したプログラマ以外にとって解読困難である事を表す俗語。名称の由来は、皿に盛られたスパゲッティの様にロジックが絡み合っている事から、パスタとも呼ばれる。
プログラムのテストを行う際、プログラムの実行順序をトレース(追跡)するのに苦労するので、バグが発生してもなかなか原因を見つけ出せなくなる。
スパゲティプログラムは保守・機能追加を妨げるので、修正される事が望ましいが、「動作しているプログラムは修正しない」事を習慣とする文化では、修正は避けられる傾向にあった。これは、見通しの悪いスパゲッティ状態のプログラムを変更する事により、予期せぬバグを追加してしまったり、「寝たバグを起こす」可能性が高かったからだ。時間や予算・人材が許す場合でも、この傾向は見られた。
ソフトウェアのプログラム・ソースは、後で、必ず、手直し・修正を迫られるから、プログラムの処理の流れが把握出来ない様な、記述だと、改修不可能な、「死に体プログラム」になるから、プログラマーやSE(システムエンジニア)の初任者教育プログラムでは、「プログラムのソースの記述は、構造化に沿った、わかりやすいものとする為に、無用に、フラグやスイッチを多用してはならない!」と教育される。
要するに、「フラグやスイッチを多用して、構造化に反するプログラム・ソースを作成すると云う事は、もう、当該プログラムを維持管理・改修・手直しする意志はない!」と云う事だ。
これで、『Microsoft自体が、Windows10の命運を尽きさせた!』と云える。
【追 記】(2021年4月3日)
5月正式提供開始予定の次期大型Updateの「バージョン21H1」を適用する前の、最新版の「バージョン20H2」に於いても、2021年3月の月次Windows Updateで提供されたパッチを適用しだした頃から、急に、不具合・バグが増えて、頻繁に、BlueScreenの異常終了が発生する様になり、バグ・不具合の発生状況は、次期大型Updateの「バージョン21H1」と同様な状況となってきている。
ここで、次期大型Updateの「バージョン21H1」と現行最新版の「バージョン20H2」との共通事項は何かと云うと、下記の報告に依れば、『「バージョン21H1」のコアは、「バージョン2004/20H2」と共通で、「バージョン21H1」の新機能とされているものは、旧版では無効化されているに過ぎず、毎月提供される品質アップデートも共通化されている』と云う事になる。
ここで、OSコアが、カーネルやファイラーのエクスプローラーだとすれば、共通する、BlueScreen等のバグ・不具合は、カーネルやファイラーのエクスプローラー等のバグ・不具合と云う事になる。
さらに、以下の報告では、『今回の機能更新プログラムの「バージョン21H1」に於ける変更は、比較的軽微だ』と云う事だから、大部分の、改修・手直しの規模・対象範囲は、OSコアの、カーネルやファイラーのエクスプローラー等のバグ・不具合の改修・手直しが占める事になり、次期大型Updateの「バージョン21H1」と現行最新版の「バージョン20H2」とで、バグや不具合が共通してもおかしくはない。
ゆえに、いまさら、『次期大型Updateの「バージョン21H1」でバグ・不具合が頻発するから』と云って、現行最新版の「バージョン20H2」へ戻してみた所で、殆ど、意味は無い事になるので、次期大型Updateの「バージョン21H1」を維持する事にする。
Microsoftのこう云った処置・対処の意図・企みは、「PCユーザの為に、大型Updateの処理時間を短縮する」事ではなく、Microsoft自身の為に、次期大型Updateの「バージョン21H1」と現行最新版の「バージョン20H2」との共通事項を最大化して、差分は可能な限り、最小化して、PCユーザの次期大型Updateの「バージョン21H1」への移行を促進・仕向ける・誘導して、旧版使用ユーザ数を削減して、ゆくゆくは、最新バージョンに統一・揃(そろ)えて、維持管理コストを最小化する事だ。
今年2021年秋の次々期大型Updateの「バージョン21H2」では、大規模な新規機能の実装が予定されているから、その前に、次期大型Updateの「バージョン21H1」で、Windows10のOSコア(基本処理部)のバグ・不具合は可能な限り、解消すると同時に、大規模な新規機能の実装の前の、版数母体・ベースを揃えておいて、異なる、多彩な、版数母体・ベースからの、バグ・不具合の分散・拡大を回避する為の措置・対処だ。(「累積パッチ」の意図も、更新前に、多数のパッチを網羅的に充(あ)てておいて、更新前の状態を揃(そろ)える為だ)
◇
ここで、PCユーザとしては、「なるほど!」等と納得してはならない!
本来、Windows95以来の根深い・根本的・深刻な、カーネルやエクスプローラーのバグ・不具合の改修・手直し結果の、テスト・走行確認は、次期大型Updateの「バージョン21H1」で実行すべきであり、根深いバグであるから、改修洩れやデグレート等で、さらなる、新たなバグが発生し、バグ発生状況は、改修・手直し作業に依り、かえって、悪化しやすいから、現状、多くのPCユーザが使用している、現行最新版の「バージョン20H2」では、決して、OSコアの、カーネルやエクスプローラー等のバグ・不具合の改修・手直し結果のテストは実行してはならない!
本来、この様な、危険な改修・手直しは、次期大型Updateの「バージョン21H1」で行い、一部の奇特な、人身御供覚悟の、IT関係者のみが、先行お試し版で、テスト・走行確認すべきであり、多くの、一般PCユーザが使用している、現行最新版の「バージョン20H2」では、決して、行うべきではない。これを強要する事は、Windows10のライセンスを購入した、PCユーザ顧客を、Microsoft社のテスト要員に仕立て上げて、危険な、改修・手直し結果のテスト・走行確認を強要するもので、あくどい、非道な悪行、そのものだ!
ライセンス料金を支払った顧客へ、購入したソフトのテスト・試験を強要する事由・根拠はないから、Microsoftがこの様な、非道な悪行を行うのなら、Windows10はライセンスソフトではなく、無償のフリーソフトとすべきだろう!
ライセンス料金を支払った上に、Microsoftに、タダで(無償で)テストを強要された上に、PC内の個人情報をすき放題に抜き盗(と)られては、やりたい放題のMicrosoftの暴挙・犯罪だろう!
◇
Windows10をフリーソフト(無償)にする訳にはいかないのなら、大型Updateをライセンス制の有償とすべきだし、多くの版数(バージョン)に対応不可と云うのなら、「現行最新版」(有償)と「次期大型Update版」(無償のお試し版)の2つの版数に揃えるべきだろう。
当方は、『「現行最新版」(有償)と「次期大型Update版」(無償のお試し版)を明確に区分・峻別せよ! 大型Updateを無償とする代わりに、「現行最新版」(有償)で、危険なテスト・走行確認を顧客に強要する事がけしからん! 製品提供・実用レベルに、Windows10の品質・性能・機能・安全性・安定性・信頼性・操作性を仕上げるのは、Microsoft社の責務だろう!』と云っているに過ぎない!
それとも、Microsoftは、『Abobeの画像編集ソフトの如く、「吸血鬼商法=サブスクリプション(月額・年額)料金制度」で、顧客が生きている間、「血=料金」を吸い続けたい!』と云うのか?
もっとも、Microsoftとしては、Windows10を「吸血鬼商法=サブスクリプション(月額・年額)料金制度」にしたいと熱望しているが、一方、PCメーカとしては、車のエンジン・モーターと云うべき、OSを切り離して販売する訳にはいかず、一括払いのOSをPCにプリインストールして販売せざるを得ず、「一括払い」と「サブスクリプション料金」が混在する料金体系の扱いに苦慮しているのだろう。(「サブスクリプション料金」を払って更新可能フラグをONにすれば済むが)
と云うより、Microsoftが、大型Updateの「サブスクリプション料金」制度を強行した場合は、多くのPCユーザが反発して、Windows Updateはバグ・脆弱性の修復パッチの月次Windows Updateだけを適用して、新規機能は、PCを購入した時の、プリインストール状態のままとして、一切、大型Updateを適用しない事を苦慮し、大型Updateでは、新規機能だけでなく、多くのバグ・不具合・脆弱性の改修パッチも含まれるから、「バグ改修に料金を取るのか?」と云う非難にも答えられないから、「サブスクリプション料金」制度を強行出来ないでいる。
と云うより、「サブスクリプション料金」制度を強行すると、これに反発して、大型Updateを適用しない、多種多様の、多くの、旧版のユーザを発生させる事になり、相当数の版数に対して、バグ・不具合・脆弱性を改修する為の、維持管理コストが急増するから、却って、維持管理コストの削減に反する事になってしまうから、「サブスクリプション料金」制度へ踏み切れないでいる。
<<実体は、「料金=収入の増大」と「コスト=費用の削減」は両立しないから、「料金=収入の増大」は諦(あきら)めて、こっそり、PCユーザ顧客を騙(だま)し騙(だま)し、「コスト=費用の削減」の為に、テスト・走行確認を強要している!>>
◇
一方、Microsoftも言い分があるだろう。
Microsoftは、『PCユーザ顧客にテスト・走行確認を強要しているのは、「コスト=費用の削減」の為だけではない。全てのテストケース、全ての使用条件を把握するのは困難だから、PCユーザの実環境でのテスト・走行確認が必要だ!』と言いたいのだろう。
かと云って、ベータ版のテストを諦(あきら)めて、テスト・走行確認を、PCユーザへ全て丸投げするのは、頂けない! プログラムは、どう云う条件・ケースで、どの様な処理を行うのか、その条件に対応した処理が正しく行われるのかと云う「テスト項目の抽出」は、プログラムのソースを把握したMicrosoftしか出来ず、プログラムのソースを知らないPCユーザは出来ない上に、どこまで網羅的にテストを行ったのかとか、何項目が合格したのかと云う、テスト網羅率やバグ検出密度(成績・品質)は、Microsoftしか、把握出来ない。
<<テストをPCユーザへ丸投げすれば、Microsoftは、テスト網羅率やバグ検出密度(成績・品質)は把握出来ないから、Windows10を製品提供・実用レベルの品質・性能・機能・安全性・安定性・信頼性・操作性に仕上げると云うMicrosoft社の責務を放棄した事になる!>>
ベータ版の実環境テストをMicrosoftが主体的に行う為には、Microsoftの責任で、その要員・体制・仕組みを構築・組み上げて、テスト管理・構成管理・ビルド管理を行うべきだろう。
ベータ版の実環境テストで抽出・改修したバグのテストや、ソースを手直しした結果の新たなテスト項目の抽出は、ソースを知るMicrosoftしか出来ず、網羅的なテスト、目標のテスト成績(バグ検出密度)を達成する事も、Microsoftしか出来ない。
こう云ったテスト管理もせずに、テストをPCユーザへ丸投げしていては、テスト洩れ満載の、所定のテスト成績未達の、ボロボロのバグ・不具合満載の、Windows10の大型Updateを時間切れで、PCユーザへ提供する事になる!
<<何も、ベータ版のテストは、実際のPCユーザしか出来ないと云う事はなく、専任のテスト要員を確保すれば、Try and Errorの出たとこ勝負で行う、ユーザテストよりも、はるかに、効率的に、網羅的に、短期間で目標の成績(品質)を達成出来てしまう。>>
<<これらの専任のテスト要員を確保して、テストを行う「コスト」の回収なら、大型Updateを有償のライセンス制にすれば済むことだ。>>
<<Microsoftよ!『「料金=収入の徴収」を図るのは面倒だし、テストの「コスト=費用の負担」も嫌だから、テストはPCユーザへ丸投げだ!』と虫の良い事がまかり通るほど、世間は甘くない!>>
【以下転載】
https://forest.watch.impress.co.jp/docs/news/1313433.html
「Microsoft、「Windows 10 バージョン 21H1」を一般公開前に商用顧客へ提供開始 ~新機能の調査・検証のため/「バージョン 2004/20H2」からの更新は短時間で済む」
窓の杜 樽井 秀人 2021年3月22日
添付図1_Microsoft、「Windows 10 バージョン 21H1」の一般公開に先立ち、プレリリース検証のために商用顧客へ提供すると発表
米Microsoftは3月18日(現地時間)、「Windows 10 バージョン 21H1」の一般公開に先立ち、商業顧客向けの提供を開始した。組織で多数のWindows 10デバイスを集中管理している管理者が、正式リリース前に新しい機能アップデートの機能を調査・検証できるように配慮したものだ。
「Windows 10 バージョン 21H1」のビルド番号は“19043”。以下の方法で入手できる。商用デバイスのテストで重大な問題が生じた場合は、オンラインフォームを通じてMicrosoftへサポートを依頼することもできる。この際、費用は一切かからないとのこと。
・ISOイメージファイルをダウンロードして利用する
・“Azure Marketplace”で仮想マシンを入手して利用する
・“Windows Insider Preview Program”(Beta/Release Previewチャンネル)で“Windows Update”を利用する
・“WSUS”(Windows Server Update Services)で“Windows Insider Preview”カテゴリを同期する。フル機能アップデートと“イネーブルメント パッケージ”によるアップデート(後述)の両方をテスト可能
添付図2_“Windows Insider Preview”カテゴリを同期するとコンソールにアップデートが表示される
今回の機能更新プログラムにおける変更は、比較的軽微だ。OSのコアは「バージョン 2004/20H2」と共通で、「バージョン 21H1」の新機能とされているものは旧版では無効化されているに過ぎない。毎月提供される品質アップデートも共通化されている。
そのため、「バージョン 2004/20H2」からのアップグレードであれば、“イネーブルメント パッケージ”と呼ばれる小さな更新プログラムを適用し、旧版で無効化されている機能を活性化するだけで済む。「バージョン 2004/20H2」からの更新は比較的短時間で完了するだろう。
なお、商用デバイスとみなされるのは「Windows 10 の Home」を実行しておらず、「Microsoft Endpoint Manager」やサードパーティー製のモバイルデバイス管理(MDM)ツールでデバイスが管理されている場合、ボリュームライセンスキーや“CommercialID”を持っている場合、またはドメインに参加している場合であるとのこと。
編集部のおすすめ記事:
・Microsoft、「Windows 10」の次期機能アップデート「バージョン 21H1」を発表【3月19日追記】
https://forest.watch.impress.co.jp/docs/news/1307124.html
関連リンク:
・Download Windows 10 Insider Preview Advanced
https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced
・Windows 10, version 21H1 for commercial pre-release validation - Microsoft Tech Community
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/windows-10-version-21h1-for-commercial-pre-release-validation/ba-p/2220577
関連記事:
・「Windows 10 バージョン 21H1」に古い「Microsoft Edge」は含まれず【3月18日追記】、2021年3月8日
https://forest.watch.impress.co.jp/docs/news/1310472.html
・やじうまの杜、Windows 10 21H1の準備? 先週あたりからこっそり配布されている「KB4023057」ってなんぞ?、2021年2月26日
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1308650.html