6

ソフトウェア開発者として、私たちは多くの...まあ...コードを作成します。私たちが作成するコードの多くは、新しい機能や既存の機能の拡張に使用できます。この場合、この機能がいつ完了したかをどのように知ることができますか?

機能のコンテキストにおいて、完了とはどういう意味ですか? たとえば、会社 A にとって、これは次のような多くの異なることを意味する可能性があります。

  1. 顧客の要件を満たす (それ自体が難しい)
  2. 既知のバグはありません
  3. ドキュメントが書かれている

さまざまな開発者やチームにとって完了が何を意味するのかをよりよく理解するために、最大 5 つ (ただし最大 10 個) の項目を挙げてください。このリストは、開発者またはチームが通過するものであり、すべての項目がチェックされると、機能は完了したと見なさます。

アップデート

これらはいくつかの素晴らしい答えです。この質問はやや主観的だと思うので、最良のものを決定する方法を見つけようとしています。私はまだより完全な画像を探していると思います。

4

15 に答える 15

14

クライアント/ユーザーがテスト後に UAT (ユーザー受け入れテスト) でサインオフするとき。それが私たちの公式測定スティックです。

もちろん、それは何の意味もありません。数週間後にリクエストされた機能のバージョン 2.0 が常に存在するためです。

編集 - それについて本当に詳しく知りたい場合は、次のようにします。

  1. 要件は、システム アナリストとクライアントによって承認されます。
  2. 設計はリード プログラマーによって承認されます
  3. コードレビューはピアプログラマーによって承認されています
  4. コードは、QA 部門による単体テストでテスト済みとしてマークされています。
  5. UAT は、クライアント自身が個人的にテストした後、クライアントによって署名されます。
  6. コードは、QA 部門によるシステム テストでテスト済みとしてマークされています。
  7. コードが公開されています。
于 2008-09-25T21:04:16.560 に答える
5

「二度と触れなくてもいい」という意味で「完了」を意味する場合、唯一の答えは、システムが廃止されたときです;-)

「出荷の準備ができたとき」を意味する場合、おそらくTDD / XP /アジャイルの方法を想定して、合意されたすべての単体テストに合格したときです。

于 2008-09-25T21:09:35.673 に答える
2

不快で、政治的に正しくないが、実用的な答え:機能の進化中に(少なくとも) 1 つの重要なポイントがあります。

  • この時点より前に機能をリリースすると、顧客がその機能を受け入れないため、あなたは負けます。時間、材料、評判の点で、それを「完成させる」のにかかる費用よりも、修正するのに費用がかかります。

  • この時点以降に機能をリリースすると、機会費用のために失われます。他のことに注意を向けることで、より多くの利益を得ることができます。

この重要なポイントに到達すると、機能は完了します。

于 2008-10-28T02:32:39.597 に答える
2

想定していた問題が解決したとき。これには、適切なテスト、ドキュメンテーション、ユーザビリティなどの負担が伴います。多すぎるというわけではありませんが、必要なことを行うには十分です。

于 2008-09-25T21:06:04.543 に答える
2

ユーザーが満足したとき。

于 2008-09-25T21:04:10.990 に答える
1

フォークが入っているとき。

  • コードは書面による仕様を満たしています
  • コードはコードレビューに合格
  • コードには単体テストと統合テストがあり、合格しています
  • コードが QA に合格
  • コードを含むパッケージは、すべての利害関係者によって承認されています

-アダム

于 2008-09-25T21:06:51.997 に答える
1

私たちにとって、機能は完成しています。つまり、2 つの基準が満たされたときに出荷できます。

  1. 機能は、リリースの最初に作成したすべての単体テストと手動テストに合格します。これは、QA がない場合は QA または開発者によって決定されます。
  2. 機能に対する未解決の変更要求/バグ修正を行うことは、それらを完了するために必要なリソース (時間) よりも価値が低くなります。これは、製品所有者によって決定されます。
于 2008-09-25T21:10:26.153 に答える
1

すべてのプロジェクトはスプリントに分割されます。スプリントには 1 つ以上の機能が含まれる場合があります。そのスプリントのこれらのフェーズが完了すると、スプリントまたは機能が完了します。

1.US->ユーザー ストーリー -> UI -ユーザー インターフェース -> 開発 -> 開発 -> QA -> 品質保証 -> UAT -> ユーザー受け入れテストが行​​われます。

于 2015-06-03T10:03:10.700 に答える
0

簡単な答え:それが顧客(または機能を実装している人々)の要件を満たしている場合。

それほど単純ではない答え:それが人々/顧客が期待するすべての本質的な要件を満たしている場合:隠された品質要件、拡張性、文書化、安定性、使いやすさなど。

于 2008-09-25T22:12:20.810 に答える
0

それから奪うものが何も残っていないとき。

于 2008-09-25T21:05:53.917 に答える
0

関連するすべてのテストに合格すると、機能は完了です。要件が変更された場合は、それらも合格するまでテストとコードを追加します。

于 2008-09-25T21:08:08.687 に答える
0

見る人次第だと思います。開発者は当然、コードをn 番目のレベルに引き上げたいと考えていますが、顧客はそれに対するビジョンを持っています。

そう、

  • お客様が変更を求めるのをやめたとき。
  • 開発者、決して:)
于 2008-09-25T21:08:56.330 に答える
0

出荷時。

于 2008-09-25T21:04:56.637 に答える
0

チームが定義した「完了」の定義に従って完了したとき。完了の定義は、スクラム チームが合意した目に見えるドキュメントである必要があります。と聞かれます。

scrumalliance.org の Web サイトに、done の定義を詳しく説明した優れた記事があります。

ここにリンクの説明を入力

于 2015-08-20T01:12:04.357 に答える