どちらかのコンセンサスを探しています
ベータ; 半機能的なソフトウェアを限られた対象者にリリースし、アプリケーションが完成するまでユーザーがプロセスをガイドできるようにします。
ベータ版なし。以前のユーザー フィードバックおよび/またはビジネス ロジックに基づいてすべての機能を定義し、ソフトウェアを構築し、任意の時間 (または与えられた時間) でテストします。
どちらかのコンセンサスを探しています
ベータ; 半機能的なソフトウェアを限られた対象者にリリースし、アプリケーションが完成するまでユーザーがプロセスをガイドできるようにします。
ベータ版なし。以前のユーザー フィードバックおよび/またはビジネス ロジックに基づいてすべての機能を定義し、ソフトウェアを構築し、任意の時間 (または与えられた時間) でテストします。
うーん...ベータ版は、あなたが完成したと思う製品のためのものです...あなたがベータユーザーにそれを試してもらい、彼らがあなたが考えていなかった方法でそれを壊すまで.
したがって、多くのユーザーに製品を焼き付けたくない場合を除き、はい、ベータ版を使用してください.
私の答えは、どちらがより理にかなっているのかを決定する多くの要因があるということです。
1)バグの結果-バグによって人々が死ぬことになるのであれば、ベータ版は悪い考えだと思います。原子炉またはミサイルシステムでベータソフトウェアを実行することを想像できますか?一方、ファンタジースポーツサイトで一時的な停止が発生した場合のように、結果がかなり軽微な場合は、ベータ版で公開するのはそれほど悪くないかもしれません。
2)ユーザーの期待。アプリケーションのユーザーについて考えてみてください。彼らは「ベータ版」であるものを使用することについてどのように感じますか?これにより、実際にソフトウェアを使用することを恐れ、定期的に爆発してバグが発生することを恐れる場合は、それも役割を果たす可能性があります。
3)アプリケーションのサイズ。101か国の法的要件を処理し、何百ものアドオンモジュールを含むERPのような非常に大きなものを構築する場合、ベータ版は、すべてを完了しようとして、現在の場所に到達しないよりも健全な場合があります。顧客。
4)展開。コードが自分のマシンで実行され、簡単にアップグレードしてパッチを適用できるようなものを設定している場合は、最初からすべてを正しく実行しようとするよりも、ベータ版の方が適している可能性があります。
5)開発方法論。ウォーターフォールアプローチを採用する場合、ベータはおそらくより良いオプションではありませんが、アジャイルシナリオではベータの方がはるかに理にかなっています。後者の理由は、アジャイルの場合、時間の経過とともに製品を改善する複数のリリースが存在するためです。
ベータ版の使用を簡単に想像できる場合もあれば、可能な限りベータ版を避けたい場合もあるので、覚えておくべきことがいくつかあります。
私はあなたの両方のケースに同意しません。
内部QAはどうですか?彼らもバグを見つけます。既知の重大なバグがない場合にのみ、ベータ版を顧客にリリースしてください。
また、常に十分にテストしてください。時間が迫っていて、すべてのテストを完了していない場合、それは非常に困難です。時間があるかどうかにかかわらず、テストを終了します。
間違いなくベータ版です!
ベータ期間を実行することのいくつかの利点...
すばやく起動し、頻繁に繰り返します。
ない。
製品にバグがないと感じるまで、ベータ版をリリースしないでください。そしてその時点で、ベータユーザーはバグを見つけるでしょう。彼らは、私を信頼します。ベータユーザーに「設計を指導」させる限り、おそらく良い考えではありません。ホーマーシンプソンが設計した車のように見えるソフトウェアになってしまうでしょう。ベータユーザーがソフトウェアデザイナーではないのには理由があります。
2番目のオプションに関しては、あなたが並外れたテスターでない限り、エンドユーザーと同様にそれをテストすることはできません(彼らはあなたのソフトウェアに対して最も愚かなことをします)。そして、「自分に与えた(または与えられた)時間でテストする」と、十分な時間がなくなります。
ソフトウェアを完成させた (と思う) 後、重大なバグがないと確信したら、アルファ テストを実施します。あなたの会社のテスト スタッフ内でソフトウェアを利用できるようにし、報告されたバグを修正します。
次に、ソフトウェアをベータ テストとして顧客にリリースし、コメントを収集し、バグを修正し、機能を改善します。
そうして初めて、解放の準備が整います。
アプリが何であるか、そしてそのユーザーがどのようなものになるかを知らずに、それを行うのは難しい選択だと思います. ただし、オープン ソース プロジェクトの場合、コンセンサスは通常、「早期にリリースし、頻繁にリリースする」ようです。
本当の質問は次のとおりです。ユーザーが何をしているのかを正確に把握していますか?
はいと答えた場合は、すべてを設計および構築し、ベータ版なしでローンチします。
いいえと答えた場合は、ベータ版を使用することをお勧めします。ユーザーはソフトウェアの定義を支援し、プロセスの一部であると感じ、ある程度の所有権を持つようになります。
ベタと申します。しかし、私はあなたの前提に同意しません。何でもないソフトウェアをリリースするべきではありません。ベータ版としてリリースされたソフトウェアは、少なくとも機能が完全である必要があります。これにより、ユーザーは自分が何をしているのかを知ることができます。
バグを見つける限り。内部テストが最適です。しかし、ソフトウェアをリリースしたことのある人なら誰でも知っていることですが、ユーザーがそれを壊すための新しくて興味深い方法を見つけたとしても、それが何であれ。
心ゆくまでベータ版をお楽しみください。