「完了」の定義について、Hanselminutes で非常に目を見張るようなポッドキャストを聞き終えたところです。皆さんへの私の質問は、「ソフトウェアの一部が「完了」したと見なされるのはいつですか?それは完全に単体テストされたときですか?完全に文書化されたときですか?開発プロセスでどのような尺度を使用して、完成度を判断しますか?ソフトウェア?
12 に答える
確かにソフトウェアのコンテキストと目的に依存していますか?
Lunar Lander(本物)は、Done to Lunar LandertheFlashゲームの定義が大きく異なります。
私が働いているところでは、DONEは非技術マネージャーの委員会によって定義されています。あなたは楽しさとゲームを想像することができます。
スプリントレビューでのテスト、単体テスト、統合テスト、Webテスト、ピアQA、およびエンドユーザーレビュー。ピアQAは、他に何か必要かどうかを判断します。すべてのテストはCI環境で合格する必要があります。これはスクラムWebプロジェクトにあります。
小切手はいつクリアされますか?
真剣に、ソフトウェアを作成するたびに、「完了」の意味を定義する必要があります。初め。顧客がいる場合は、完了を定義する、具体的で、測定可能で、合意があり、テスト可能な契約が必要です。
どこに行くのかわからない場合、いつそこに着くかをどうやって知ることができますか?
client(1)がそれを完了したと見なすと、チェックイン、バックアップ、および文書化されます。
また、「完了」がWeb開発に存在することはめったにありません。
(1)クライアントが内部PMなどである可能性がある場合
開発の観点から、「完了」については、私の友人でありメンターでもある Simon Baker が非常によく説明しています。
Alistair Cockburn、Jeff Patton、Mike Cohn も次の収集されたビューを持っています。
稼働中に実行する必要がある出荷可能な品質により、チームは増分作業がより慎重に検討されるようにすることに本当に集中する必要があります。
「完了」とは、上記のすべてが最初に同意するものであり、チームやプロジェクトごとに常に異なります。ただし、特定の作業が完了したことを確認するために、チームは最初に演習を実施して完了度の尺度を具体化し、それらの基準をリストする必要があります。
そうすることで、受け入れ可能な完了点が何であるかについて、誰もがコンセンサスによって合意しました。それには、Excel でタスクを記録すること、またはドキュメントを作成すること (またはしないこと) がそのチーム/プロジェクトの実装の詳細になることが含まれます。最も重要なことは、全員の Done に対する理解が統一されていることです。
同様に、コンセンサスによってその定義に達したと仮定すると、コンセンサスによって必要に応じて変更することもできます。
良い測定値はコード チャーンです。ソース コード管理ソフトウェアを使用して、変更率を測定します。1 日あたりに削除/追加/変更されたコード行数。これを経時的にグラフ化します。リリースの準備が整うと、これは下降傾向にあり、安定性と出荷の準備ができていることを示します。これは、実際に十分にテストし、バグを修正したり、変更要求に対応したりするために変更を加えていることを前提としています。ユーザー受け入れテストのユーザーと統合/単体テストのアクティビティが引き続き回帰とテストを行っており、コードを変更する必要がない場合 (変更が必要なものが見つからないため)、出荷する準備ができている可能性があります。
恣意的または外部からの出荷日の数日前に大量のコードが大量に発生している場合は、注意してください。
システムを定義する要件を満たすためにソフトウェアを使用できる場合。
しかし、私は常々、「ソフトウェアは決して完成されたものではなく、許容できるレベルの不完全さに達するだけだ」と考えてきました。
すべての要件が満たされ、すべてのテストに合格した場合。
各プロジェクトには独自の完了定義があり、コードが完成し (コンパイルが成功するなど)、単体テスト (または、不可能な場合は何らかのローカル テスト) が行われ、パッケージの 1 つに含まれてリリースされます (他のチームが利用できるようになります)。 .
しかし、国防総省で最も重要なことは、すべての当事者がそれが何であるか (チーム、製品所有者、マネージャーなど) に同意する必要があり、それはある種の公的な契約である必要があり、チーム ポータルで公開することは良い考えです。
どのソフトウェアも、常に 80% 完了しています。少なくとも、それは私の経験が教えていることです...
バージョンアップしてリリースするだけで、完成することはありません。
お客様がそう思ったとき。