既知のバグを含む製品をいつ出荷できますか?


20

既知のバグを含む製品をいつ出荷できますか?


5
問題はおそらく広すぎる。理由は無限です。
jmq

7
問題は、バグ付きで出荷するか、まったく出荷しないことです。)
Vitor Py

41
すべての製品にはバグが同梱されています。
ジョエルイーサートン

4
BUGを定義します。最近、インストールしない製品を出荷しました。偉大なバグ:D
Barfieldmv

2
「既知のバグ」という意味ですか?
誰も

回答:


12

私はあなたが「既知の」バグについて話していると仮定します(そうでなければ、質問は無意味です)。さて、答えはこれらの要因に依存します:

1)ユーザーは誰で、バグが見つかった場合にどのように受け入れますか?

2)バグの潜在的な影響(損傷)は何ですか?

3)バグを修正するためにソフトウェアの出荷を遅らせることは可能ですか?

4)最も重要なこと:ソフトウェアに何を期待しますか?市場投入までの時間は?品質?顧客がバグを見つけるのに十分な時間ソフトウェアを使用しているかどうかを確認しますか?


119

バグのないソフトウェアなどは存在しないため、常に大丈夫でなければなりません。


2
彼はバグを知っているように、それはそうその時点でプログラマがちょうど...それを意識し、それを修正しないように怠けていることを思わ...聞こえる
ケネス

7
@ケネス:そのように見えますが、製品を出荷する必要があり、常にバグがあります。締め切りを延期するかどうかは、バグの重大度に依存します。
マットエレン

1
@Mattこれは本当です。しかし、ほとんどの場合、あなたは故意に大きなバグのある製品を出荷したくないと思うでしょう。それは、あなたが知っている残りのバグがマイナーであり、ほとんどの場合、簡単に修正されるか、少なくとも回避されることを意味します。あなたは...あなたは知らないバグを扱うことはできませんが、テストプロセスが正しく行われている場合、ほとんどのバグがキャッチされなければならない
ケネス・

1
たぶん私の皮肉ははっきりしていなかったかもしれません...しかし、バグのあるソフトウェアを出荷することは「常にOK」だと言うのは無責任です。「世界には常に殺人者がいるだろうから、私が行って数人を殺しても問題ない」と言っているようなものです。
不機嫌なヤギ

7
@DisgruntledGoatすべてのバグが等しいわけではありません。簡単な修正もあれば、災害を破壊するプロジェクトもあります。明らかにそれらは修正されるべきです。いくつかは非常にまれなバグであり、異常な状況に基づいて見つけるのは難しく、通常は大幅な書き換えなしでは修正が困難です。それらを修正することで得られる価値が少なすぎて、昨日出荷する必要があるので、時々それらはただ留まる必要があります。コスト/リスク/利益分析に関するすべて。
CodexArcanum

33

その判断の呼び出し。バグは多くのことがあることを忘れないでください。機能の主要部分が完全に機能しない場合は、最初に修正します。プログラムの有用性に最小限の影響を与えるか、実際の影響を与えないマイナーなものであれば、スライドさせてください。

したがって、コスト/利益の観点から見てください。

バグを修正する総費用とリスクが、そこに存在するバグから生じるどんな問題やマイナスの影響よりも大きい場合、既知のバグを持つ製品を出荷します。

したがって、リリース前に2週間のテスト期間があり、小さなバグが見つかった場合、問題は...チームがアプリケーションとインストールの再テストに費やす必要がある追加の2週間に相当するバグを修正することです(ソフトウェアを作成する際のステップを忘れることが多い)?ソフトウェアが遅れている場合、評判や販売のコストはいくらですか?人々は怒りますか?主要な機能を時間通りに提供できれば、彼らは小さなバグを抱えて生きることができるでしょう。

リスクには、バグを修正するだけでなく、新しいインストールを作成することから生じる可能性のある問題でも、新しい問題を引き起こすリスクが含まれます。

マイナスの影響は、バグを報告する顧客に対処する時間と労力の両方、および評判の損傷などです。


30
「約」ボックスのタイプミスは、あなたが本当に修正すべきものです。約0.7秒かかります(同じ速度で入力するとします)。ただし、そのタイプミスを残すと、人々はそれを見ることができます。ユーザーインターフェースに目に見える間違いがある場合、ソフトウェアに対するユーザーの信頼は即座に死にます。

これは私には正しいようです。ほとんどの場合、製品のリリース時であっても、製品にはいくつかの既知のマイナーなバグがあります。それらは非常に珍しいものである傾向があり、ソフトウェアの実際の操作と使用にほとんど影響を与えないか、ほとんどのユーザーが決して見ないものです。
グレナトロン

3
確かに、UIのタイプミスは製品の品​​質に対する信頼を打ち砕きます(間違って、多くの優秀なプログラマーは良い英語を話せないので)。リリースを控える手間をかけるだけの価値はありません。1.01の箇条書きにしましょう。
Phoshi

アプリケーションにスペルミスを許可しないでください。率直に言って、私は実際のバグよりも彼らに恥ずかしいです。
ChaosPandion

1
あなたが何を話しているのか分かりません...;)
アンドレアスヨハンソン

6

バグにはさまざまな重大度があります。私が働いたソフトウェア会社では、優先度がP0からP4の順にバグを分類しています。

P0ソフトウェアは機能しない/クラッシュせず、顧客のビジネスに損害を与える可能性があります。P1設計どおりに機能せず、コア機能で一貫してクラッシュしますP2時々クラッシュするか、サイド機能の一部が機能しない場合があります。P3ソフトウェアの一部の要素が、設計/予想されるP4化粧品の問題として機能していません。

P4がソフトウェアにそれほど影響を与えないため、P4が修正されない場所で働いてきました。

お使いのソフトウェアにP3 / P4の問題が知られている場合、出荷しても大丈夫だと思います。これをリリースノートに記載し、作業中です。

私が知っていたP0、P1、またはP2の問題があるソフトウェアをリリースしたことはありません。


5

既知の問題」と呼ばれます。Google、Microsoft、Appleなどはすべて、既知および未知のバグを含む製品を出荷しています。それらを最小化しようとしますが、完全になるまで待たないでください。早く出荷し、頻繁に出荷します。


3

バグなしでソフトウェアを出荷することはできません。私が提供できるアドバイスは、お客様にバグがあるとお客様に言われる状況よりも、お客様に「このバージョンではそれができませんが、これを修正する予定です」と言う方が良いということです。


0

「機能」の場合!;)


真剣な注意として、あなたが完璧なテストセットアップを備えた完璧なプログラマーでない限り、すべてのコードパスを完全にテストし、最終的に存在する可能性のあるものでなければ、バグのない製品を出荷することはありえません。

したがって、テストで遭遇したすべてが修正された場合は、実用的であり、余分なものは必要に応じて修正する必要があります。


0

顧客に正直である限り、バグとともに出荷できます。既存のすべてのバグについて彼らに伝えることは、あなたがあなたのソフトウェアについての十分な知識を持っていることを彼らに示し、それは実際に十分にテストされています(そうであれば..):)

明らかに、最良の方法は、バグのある出荷を避けることです。


0

製品をすべて出荷しないよりも、既知の問題のリストを使用して時間どおりに出荷する方が良い場合がよくあります。

プロジェクトの人々の信頼を与え、プログラミングの世界では、物事の一つは、彼らが解放しているかどうかで、スケジュールとスケジュールがするかどうかを保持しています

これが、未解決の問題がまだある場合でも、Ubuntuが半年ごとにリリースを出荷する理由です。


0

いい経験則は、「このバグは目玉ですか?」

バグによって「ハッピーパスシナリオ」が失敗する場合、絶対にそのバグを同梱しないでください。

バグによって「ハッピーパスへの接線シナリオ」が失敗し、回避策がない場合は、そのバグとともに出荷しないでください。

バグが文書化されており、既知の回避策がある場合は、おそらくそのバグとともに出荷しても問題ありません。


0

消費者の観点から...決して。私のポイントは、あなたがソフトウェアに大きなバグがあることを知っている限り、決してそれを出荷すべきではないということです。ただし、ソフトウェアの生産サイクルがビジネスモデルに害を及ぼす可能性のある段階にあり、それらが軽微なバグである場合、自然の力(ビジネス)はこれを無効にします:(i)ソフトウェアのセキュリティを侵害します


0

人々が言っ​​たように、それは非常に広範な質問です。実際に私は興味深い視点に立ちます。あなたが主張するいわゆる「バグ」は、テスターに​​よって発見された障害だけです。無限のさらなる抜け穴がある可能性があります。ある大学院セミナーで尊敬されている教授から聞いた興味深い話を思い出してください。スカンジナビアの国の1人が「手書き認識可能な」タイプの投票マシンを使用したとき、特定の人々は悪意のあるSQLコード(システムは通常の入力として取り込みました)。


0

FMEA(障害モードと影響分析)と呼ばれるものがあります。既知のバグが重要であるかどうかに基づいて判断することは非常に便利です。

  1. 発生
  2. 重大度
  3. 検出

0

別の決定要因は、欠陥が最後のリリースにどのように関係するかです。バグが新しいが壊れた機能の一部である場合、非機能性は機能の退行を表すものではありません。さあ、出荷してください。

一方、欠陥が原因で既存の顧客に役立つと知られている既存の機能が失われる場合、リリースをブロックする必要があります。このようなリリースは顧客にとってダウングレードであり、あなたの利益にも彼らの利益にもなりません。

これにはグレーの濃淡が含まれる場合があります。コア機能のリグレッションは決して外に出るべきではありません。周辺機能のリグレッションは、リリースに関心を示した新しい機能が含まれている場合、ユーザーを導く可能性があります。それらの顧客に影響します。とにかくデフォルトでオフになっている非常に実験的な機能の欠陥により、リリースが遅れることはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.