第5章 ユーザに追いつく
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
『イノベーションの普及』において変化するのは人ではなく、イノベーションそのものである...イノベーションの成功は、集団内の要求が厳しくリスク回避的な個人たちのニーズに応えるために、いかに進化するかにかかっている。
「イノベーション普及曲線」ハイテク・ストラテジーズ
ソフトウェア業界で20年以上働いてきた経験から、私は増分リリースが主流になる過程を間近で見てきた。その利点を深く実感し、チームにもより頻繁なリリースを促すようになった。
私が初めてリリースした製品、つまり初めてリリースしたバグは、2005年のMicrosoft Visual C++コンパイラだった。これは大変な問題だった。顧客はコンパイラをCDで受け取り、自分のコンピューターにインストールして実行した。もし彼らが簡体字中国語を使っていた場合、コンパイラは必ずクラッシュした。常にだ!
パッチを配布する手段はなく、次のリリースまで何年もかかるため、代わりにナレッジベースに回避策の記事を掲載した。コンパイルを試みる前に、アプリケーションディレクトリから特定のファイルを削除するというものだ。
これが俺の人生最悪のバグだった。これは俺のスキル向上よりも、ソフトウェア業界の進歩を物語っている。
その後、Windows 7の開発に携わった。開発からリリースまで3年かかり、今でもCDボックスで提供されている顧客もいる。単体テストも機能テストもなく、コードの検証は依然としてテストエンジニアに大きく依存していた。だが少なくともWindowsは重大な修正パッチを適用できた。
2009年、私はFacebookに移った。そこでは毎週デプロイが行われていた!本当に嬉しかった。日曜の夜にビルドを切り、火曜のリリースまでに安定性を確保する。リリースは神経をすり減らす経験だったが、毎週行われていた。
私は開発者のソーシャルアプリケーションを支えるAPIサービスを運営するプラットフォームチームに加わった。数週間後、チームはテストハッカソンを開催した。誰かが簡易的なテストフレームワークを構築しており、我々の任務は既存APIのテストだった。私の知る限り、Facebook設立から5年経った時点で自動テストを書いた最初のチームだった。
会社は進化した。各チームがコードのテストを強化するにつれ、デプロイ時の手動テストは減り、ロールアウトは週5日、ついには1日複数回の継続的デプロイへと移行した。機能フラグやA/Bテストがコードベースに散りばめられ、安全で制御された機能展開が保証された。
2018年にStripeに入社した頃には、既に良好なテスト文化と1日複数回のデプロイが確立されていたが、当時は人間がデプロイを管理していた。しかし間もなく、ほとんどのサービスで自動継続的デプロイに移行した。私はほとんどのデプロイに注意を払うのをやめ、テストと既存のテストカバレッジが回帰を発見してくれると信頼するようになった。
ソフトウェア業界は良い方向に変わった。より多くのソフトウェアがCloudに移行した。Visual C++のような由緒あるクライアントソフトウェアでさえ、20年前よりはるかに多くのパッチが適用されるようになった。
自動車業界では変化がさらに激しかっただろう。トップ10メーカーのうち8社が現在、無線更新(OTA)を導入している。火星探査車ですら可能だ!
その結果、ユーザはより速く価値を得られるようになった。製品全体の軌跡を向上させなかったとしても、 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access