パッチは顧客にとって悪い兆候ですか?[閉まっている]


14

オフィスでは、あまりにも頻繁にパッチをリリースしていた長い期間を抜け出しました。その期間の終わり近くに、私たちは平均して週にほぼ3つのパッチを実行していました。

これは開発者にとって非常にやる気を起こさせることに加えて、私は顧客がこれについてどう思うだろうかと思っていました。私は自分で質問をし、頻繁に更新されるソフトウェアを知らなかったと結論付けました。ただし、最も近いケースについては、パッチはかなり迅速に適用されるため、あまり気にしません。

これらのパッチを受け取った顧客は、互いに大きく異なります。他の人があまり気にしないパッチを本当に待っていた人もいましたが、全員同じパッチを手に入れました。顧客のソフトウェアを更新する時間は30秒未満なので、時間に関する問題はないと思います。ただし、ログアウトする必要があります。

より詳細に私の質問:更新プログラムを頻繁に受信者に「否定的な」メッセージを与えていますか?

もちろん、顧客に尋ねることはできますが、私はその立場にいるわけではなく、「眠っている犬を目覚めさせたい」とも思いません。

PS:質問を改善するためにできることがあれば、コメントを残してください。


@downvoter、説明してくれませんか?
ミックスキシフォイド14年

6
顧客の認識が心配な場合は、「パッチ」ではなく「更新」として説明してください。:)
クリステイラー

これは直接的な答えではありませんが、パッチの展開を可能な限り非侵入的かつ自動に保つことができる場合(たとえば、バックグラウンドで更新をダウンロードし、アイドル中に適用する更新サービスを実行する)、そうしないことでエンドユーザーの不安を軽減できます更新を明確にします。例:過去1か月程度にGoogle Chromeの更新を何件受け取っていますか (回答:lots)Chromeのパッチは1日に5つリリースできますが、眉を上げる人はいません。自動Windows更新(有効な場合)は別の例です。
ジェイソンC

「顧客のソフトウェアを更新する時間は30秒未満なので、時間に関する問題はないと思います。ログアウトする必要があります。」パッチを自分でテストしている顧客はどうですか?使用しているソフトウェアの種類はわかりませんが、誰にとってもミッションクリティカルに近い場合は、運用環境で運用する前に更新プログラムをテストする必要があります。パッチのインストールは迅速かつ簡単ですが、そのテストにはお客様側で多くの時間と労力がかかります。
CVn

@MichaelKjörling問題は、その期間にミッションクリティカルな機能が失敗したため、実稼働環境とテスト環境のどちらが最初に更新されたかは問題ではありませんでした。できるだけ早く作業する必要がありました。
ミックスキシフォイド14年

回答:


24

コンピューティングの多くのものと同様に、それは依存します。パッチが新機能または改善に対する顧客の要求に対する応答である場合、会社は応答性があると見なされます。一方、パッチがバグレポートへの応答である場合、会社は無能であると見なされます。

ここに画像の説明を入力してください

顧客のソフトウェアをテストすることは、誰が何を言おうと、バグを検出する最も費用のかかる方法です。それは誤った経済です。あなたが得ていると思う自由な労働は、顧客サービスの努力、ソフトウェア開発のライフサイクルを壊し、顧客の信頼を失うことによって相殺される以上です。


3
これは別の質問かもしれませんが、とにかく:私たちは顧客を介してテストしていることを知っていましたが、その時点でそれを止めることができず、サイクルに閉じ込められました。退出するために何ができますか?
ミックスキシフォイド14年

3
ロバート、私はこの図を何度も見ました。ソフトウェア開発が純粋なウォーターフォールモデルに従ったときはおそらく正しいでしょうが、ソフトウェアは小さなサイクルで開発および展開できるため、ますます間違っています。正確に言うと、少量のバグやソフトウェアの場合でも傾向は変わりませんが、多くのバグの場合は間違いです。
ドックブラウン14年

2
@DocBrown:グラフはまだ正しいです。開発サイクルが短いほど、サイクルあたりのコストが低くなります。これはグラフと一致しています。しかし、それはまだこれがプロセスの一部であるという明確な理解と合意がない限り、顧客のソフトウェアをアルファテストする必要があるという意味ではありません。
ロバートハーヴェイ14年

まあ、欠陥のコストは、以前のバグが発見された減少固定します。また、バグを発見する可能性は、ソフトウェアをドアから早く取り出すほど劇的に増加します。もちろん、テストされていないソフトウェアを運用環境にプッシュする必要があるという意味ではありません。たとえば、この記事をお勧めしますagileelements.wordpress.com/2008/04/22/cost-of-software-defects
Doc Brown

1
曲線の数値や形状が単なるおかしな推測である場合でも、原則自体が健全であることを確認するには、少し自己反映するだけです。プログラミング用語では、Fail Fast
ロバートハーヴェイ14年

10

いくつかのパッチを近距離でリリースすることは、会社にあまり反映されていないように感じます。開発者が無能であるか、経営陣が彼らが何をしているのかわからないということを、彼らが前もって十分に十分にテストしていないように常に感じさせます。

とはいえ、トークンの反対側は、いくつかのパッチを互いに近くにリリースすることは、同社が製品に対して積極的に取り組み、消費者向けに製品を改善し続けていることを示しているということです。

私は前者が消費者の観点からそれを最もよく見る方法であると思う傾向がありますが、彼らと直接話すことは(明らかに)最良の選択ですが、顧客ベース内で彼らがかもしれない問題を提起するでしょう最初は認識していませんでした。


結論として、イメージを改善するために、本当にそれを必要としている顧客と、「一括」で後ほど他の顧客にのみパッチを当てるべきでしょうか?
ミックスキシフォイド14年

5
個々の顧客にパッチを適用することは、特に大規模な顧客ベースがある場合は、苦痛のように聞こえます。定期的なスケジュール(月、隔月など)でパッチを展開し、顧客にパッチを宣伝することは、製品の「次の予定」への関心を高め、問題に対処する良い方法です。それは解決されています。もちろん、パッチノートでエンドユーザーに伝えるには、適切なドキュメントと通知が不可欠です。
ジャック14年

それは私にとって本当に明確なことです。パッチを使用してイメージを改善するために努力を払う必要があるようです。これまで不可能だと確信していた。パッチは常に必要な悪と見なされていました。
ミックスキシフォイド14年

リリースサイクルの時期にも依存します。リリース後の最初の数日間にパッチが互いに近接している場合、数か月後にそれらが(まだ)近接しているときとは異なる印象を与えます。
jwenting

7

ますます多くの企業がChromeの足跡をたどり、より頻繁に顧客をリリースしています。

短いリリースサイクルを実装するための前提条件は痛みのないアップグレードです-たとえば、クロムでは、アップグレードはアプリケーションの起動時にユーザーの介入なしで行われ、ユーザーがアプリケーションを常にオンにすると、マイナーフラグが表示されます都合の良い時間にアプリケーションを再起動するようにアドバイスすると、アプリケーションは再起動後に以前の状態に戻す努力をします。

この方法では、すべての更新を意識する必要がなく、機能リリースが頻繁に発生するため、バグ修正リリースも大歓迎です。

一方で、パッチが致命的なバグを目立たせてから来て、それらがクラスタになった場合、以前のものはバグの修正に失敗したか、より大きなバグを作成したため、顧客はそれを嗅ぐことを安心してください。これは、間違いなくベンダーの専門家としての評判にほとんど反映されず、ベンダーが認知しているソフトウェア標準を低下させます。継続的デリバリーは、効果的な単体テストと統合テストに大きく依存して成功を保証します。

「眠っている犬に嘘をつく」ために顧客と話さないことについては、これは間違った戦略だと思います。顧客は盲目ではなく、愚か者でもありません。顧客との良好なコミュニケーションは、彼らがあなたの優先事項であり、あなたが彼らの批判を受け入れていることだけを彼らに安心させることができると信じています。悪いリリースを数回配信していて、彼らが不満を言うのを聞いていない場合-あなたは間違いなく心配する必要があります-それは彼らが気付いていないということではなく、おそらくあなたのために代わりを見つけるのに忙しいだけです...


2
+1、ソフトウェアの頻繁な顧客として、頻繁に更新し、それらを展開するための優れた方法を持つ人が欲しい。停滞している製品はここで真の赤旗です-少なくとも、ベンダーが製品に投資していないことを意味します。または、vNEXTに投資して、もう一度支払いをしてもらいたい。
ワイアットバーネット14年

あなたの最後の段落から私が理解しているのは、私たちは常にお客様に対するコミュニケーションにおいて正直で透明である必要があるということです。特定の事柄について(まだ)顧客に知らせるべきではない状況はありますか?
ミックスキシフォイド14年

1
もちろん、顧客に正直であることは、パニックミーティングを招集し、発見されたばかりの災害を軽減するために、回線を開放したままにすることを意味しません。状況を評価し、それを修正する戦略を立て、すべてが管理されていると正直に言うことができた後に、情報を伝える必要があります。あなた自身が見つけるかもしれ飾る ...真実を、しかし実に嘘は上、後であなたを出没する方法を持っている
ウリアガシ

2

問題を検出した顧客向けのパッチは、明らかにできるだけ早くリリースする必要があることは明らかです。

大企業でソフトウェアを見て、他の顧客が定期的に定期的にこれらのパッチをサービスパックとして入手するというアプローチをとってきました。通常、パッチは顧客環境にインストールしてテストするのにある程度の労力を必要としますが、場合によっては、懸念している影響の可能性のある影響を軽減するために使用できます。

また、リポジトリまたはWebサイトでパッチを作成し、顧客が必要なパッチをダウンロードしてインストールできることを提唱する人もいます。これにより、顧客がどのパッチを持っているかを知ることで問題が発生する可能性があります。そのため、問題について問い合わせる場合は、実行しているコードを正確に判断する必要があります。その後、多くのパッチがバンドルされた「パック」がリリースされたときに、より大きな「パック」のいずれかにアップグレードするように人々に強制することができます。

例外はセキュリティパッチです。ワシントンを拠点とする大手ソフトウェア会社は、重要なセキュリティパッチをリリースする前に月の第3木曜日を待ってお湯に入ることで知られています。

Googleクロムは、非常に頻繁に自動更新することで問題を回避します。また、プログラムを循環させる必要があります(クロムを再起動するか、場合によってはログアウトします)。彼らは現在、ブラウザの通常の慣行を行っており、人々はもはやそれについて考えさえしません。しかし、誰もがGoogleになれるわけではありません。

SaaSアプリケーションは、バックグラウンドで更新を行うことにより、問題全体を回避します。

ただし、何よりも、継続的な統合を行ったり、新しいユーザーが要求する機能を頻繁に更新したりしない限り、リリース前に十分な量のテストを行うことを期待している時期にあると思います。顧客に会い、バグ修正の頻度について話すのが恥ずかしい場合は、おそらく十分なテストを行っていません。コードをリリースする前にどれだけのリスクを冒していたかをリリースしましたか。それが何であるかを知っている限り、非常に初期のバグのあるコードをリリースするという議論がありますが、既知の品質をよく理解する必要があると思います。つまり、品質を知るための時間を理解し、管理する必要があります。


+1、それが重要なポイントです-バグを修正(および展開)できる速度が速いほど、ユーザー/顧客が追加の労力をかけない限り、より良いです。顧客が手動で展開する必要がある場合、または更新がワークフローを中断するだけの場合、展開の適切な頻度を見つけることが重要です。Facebookのようなサイトは1日に複数のパッチを展開し、ほとんどの人は気付かないでしょう。
Doc Brown 14年

だから私たちはその部分で幸運だと思います。更新には、1時間または2時間しかかかりませんでした(ストレスやコーディングなどを除く)。顧客が仕事に戻るのに1分かかります。「サービスパック」アプローチを検討します。これは、パッチを直接必要としない人にとって実際に役立つかもしれません。
ミックスキシフォイド14年

Facebookのこのリファレンスを見つけた:blogs.wsj.com/cio/2013/04/17/…で、1日に数回ではなく2回のリリースがあるようです。それでも印象的だと思います。
Doc Brown 14年

私は17秒ごとにAmazonプッシュコードを「聞いた」。しかし、誰が私に言ったのか思い出せず、グーグルがそれを表示しないので、私はそれをコメントに入れています。:-)
エンカイター14年

@Encaitar:そうですね、Amazonのアーキテクチャには数百の対話型サービスがあります。したがって、彼らが非常に頻繁に何かをプッシュしても驚かないが、各プッシュが複数のコンポーネントに直接影響を与えることは非常に疑わしい。単一のWebサイトとして表示されるものに、必ずしも全体的なバージョンがあるとは限りません。それはより多くのあなたの乗組員が:-)日合計5000本の新鮮なラインで描くので、都市の道路網は、すべて17秒を更新していると言ってようなものだ
スティーブ・ジェソップを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.