誰もが避けたい問い
すべてのソフトウェアチームがバスファクターを知っています。真剣に受け止めているチームはほとんどありません。
バスファクターとは、プロジェクトが停止するまでに何人がバスに轢かれる必要があるかを測る指標です。ほとんどのスタートアップでは1人。ほとんどのエンタープライズチームでは2〜3人。誰もがこれを問題だと認めます。誰も何もしません。
私たちにはそのような余裕はありませんでした。
私たちのソフトウェア — De Novo xGrid — はRaspberry Piデバイス上で、災害現場で稼働します。野戦病院。地震後のコミュニティシェルター。「ベンダーに電話する」という選択肢がない場所です。電話の電波もなく、インターネットもなく、場合によってはベンダーすら存在しないかもしれません。
そこで私たちはバスファクターの問いをより厳しい形で投げかけました。
開発チーム全員が明日いなくなっても、デプロイ済みのシステムは無期限に稼働し続けられるか?
「交代要員を雇うまでの数日間」ではありません。無期限にです。
5つのテスト、例外なし
これをウォークアウェイテストとして定式化しました。すべてのリリースが合格しなければならない5つの受け入れ基準です。命名は意図的です。「災害復旧テスト」でも「継続計画レビュー」でもなく、ウォークアウェイ(立ち去る)です。開発者が立ち去り、システムが動き続ける、という意味です。
WK01:オフラインがデフォルト。システムはネットワーク接続ゼロで運用できなければなりません。「グレースフルデグラデーション」ではなく、完全な運用です。私たちの15以上のPWAはすべてオフラインで動作します。患者登録、調剤、血液バンク管理、手術スケジューリング。すべてです。ネットワークはボーナスであり、要件ではありません。
WK02:エッジからのHub復元。中央のRaspberry Piが物理的に破壊されても、生き残ったスマートフォンやタブレットから再構築できなければなりません。これを「ライフボートプロトコル(救命艇手順)」と呼んでいます。看護師が自分のスマートフォンから新しい80ドルのRaspberry Piに向けて2つのQRコードをスキャンします。データが戻ります。ヒトデが腕を再生するように。2026年1月26日に12ステップのテストで検証しました。合格率:100%。
WK03:ITへのゼロ依存。SSHアクセス、コマンドライン操作、ログ分析が必要なシステムは、このテストに不合格です。私たちのオペレーターは看護師と物流スタッフであり、エンジニアではありません。すべての操作はブラウザのインターフェースを通じて行われます。
WK04:ライセンスロックインなし。コールホーム(認証通信)なし。サブスクリプション検証なし。有効期限なし。デプロイされたら、ソフトウェアは現場チームのものです。私たちの会社が消えても、ソフトウェアは気にしません。
WK05:人間が監査可能なデータ。ソフトウェアを信頼できなくなっても、データを検証できます。データベースは汎用ツールで開けます。すべてのレコードにタイムスタンプとオペレーターIDがあります。自分のデータを読むのに私たちのソフトウェアは必要ありません。
「バスファクターが無限大に近づく」の真の意味
2026年1月27日、5つのテストすべてに合格した後、社内ログに一行だけ記しました。
Bus factor approaching infinity.
これは虚勢に聞こえるかもしれません。しかしそうではありません。これは正確なエンジニアリングステートメントです。
従来のバスファクターは人を数えます。3人が去ってプロジェクトが止まるなら、バスファクターは3です。私たちのバージョンは組織そのものへの依存性を数えます。WK01〜WK05の後、デプロイ済みシステムはDe Novo Orthopedicsへの依存性がゼロです。サーバーなし、ライセンスなし、認証情報なし、継続的メンテナンスなし。バスファクターは何人が去れるかではありません。会社全体が去れるかどうかです。
答えは「はい」です。
居心地の悪い設計哲学
ほとんどのソフトウェアビジネスは依存性の上に構築されています。経常収益は、来月も顧客が必要としてくれることに依存します。クラウドホスティングはベンダーが鍵を握ることを意味します。ライセンスサーバーはコンプライアンスを確保し、同時に顧客が離れられないことを確保します。
ウォークアウェイテストはこれを反転させます。すべての設計判断は1つのレンズを通して評価されます。これはユーザーを私たちにより依存させるか、それともより独立させるか?
これは悪いビジネスのように聞こえます。実際には、災害現場で野戦病院を運営しているユーザーに対する唯一の誠実なアプローチです。「彼らは私たちを必要としているが連絡が取れない」は、機能的に「彼らはソフトウェアを持っていない」と同じです。満たされない依存性は、依存性がないことよりも悪いのです。少なくともソフトウェアがなければ、人々は紙を使うことを知っています。
あなたのシステムへの3つの問い
ウォークアウェイ思考から恩恵を受けるために、災害医療ソフトウェアを作る必要はありません。ここから始めてください。
-
ネットワークなしでシステムはどれくらい稼働しますか?答えがゼロなら、すべてのネットワーク障害が全面障害です。それはあなたが下している選択です。
-
データはどこにあり、誰がアクセスできますか?答えが「一人が管理する1つのクラウドアカウント」なら、まさにクラウドが防ぐはずだった方法でリスクを集中させています。
-
ユーザーはあなたの助けなしにすべてをエクスポートできますか?できないなら、あなたは製品を売っているのではありません。製品へのアクセスを売っています。それは倫理的含意の異なる別のものです。
ウォークアウェイテストはテスト手法ではありません。あなたがメンテナンスするためにそこにいないと仮定したら、何を作るかを問う設計哲学です。
その答えは、結局のところ、より良いソフトウェアです。
