द्वारा Abhay Talreja
28/12/2025
मेरा नवीनतम लेख - Empirical Process Control - The Key to Agile Success
Definition of Done:
हर Increment के लिए गुणवत्ता मानक
Definition of Done (DoD) Scrum और Agile में एक औपचारिक प्रतिबद्धता है जो गुणवत्ता मानदंड स्थापित करती है जो हर Product Backlog item और Increment को पूर्ण माने जाने से पहले पूरा करना होगा। यह सिर्फ एक चेकलिस्ट नहीं है - यह पूरी Scrum Team के बीच एक साझा समझ है कि "done" का क्या अर्थ है, पारदर्शिता बनाना और संभावित रूप से शिप करने योग्य Increments सुनिश्चित करना।
मुख्य विशेषताएं: Definition of Done सार्वभौमिक रूप से सभी कार्यों पर लागू होती है (Acceptance Criteria के विपरीत जो प्रति story भिन्न होती है), टीम की क्षमताएं परिपक्व होने के साथ विकसित होती है, और गैर-परक्राम्य है - DoD को पूरा न करने वाला कार्य जारी नहीं किया जा सकता। इसमें आमतौर पर code review, विशिष्ट coverage thresholds के साथ automated testing, documentation updates, security scans, और deployment verification शामिल हैं।
महत्वपूर्ण अंतर: Definition of Done गुणवत्ता मानकों को परिभाषित करती है (जैसे, "code reviewed," "tests >80% coverage"), जबकि Acceptance Criteria कार्यात्मक आवश्यकताओं को परिभाषित करती है (जैसे, "user can log in with email")। कार्य को वास्तव में Done होने के लिए दोनों को पूरा करना होगा।
| पहलू | विवरण |
|---|---|
| परिभाषा | गुणवत्ता मानकों का औपचारिक विवरण जो एक Increment को पूरा करना होगा |
| उद्देश्य | पूरी टीम के लिए "done" का क्या अर्थ है इस पर पारदर्शिता बनाता है |
| दायरा | हर Product Backlog item और Sprint Increment पर लागू होता है |
| कौन बनाता है | Scrum Team सहयोगात्मक रूप से (संगठनात्मक मानकों को baseline के रूप में) |
| उदाहरण | Code reviewed, tests >80% coverage, security scan passed, deployed to staging |
| मुख्य सिद्धांत | DoD को पूरा न करने वाला कार्य Done नहीं है - इसे जारी या प्रदर्शित नहीं किया जा सकता |
| विकास | टीमें समय के साथ DoD को मजबूत करती हैं जैसे-जैसे क्षमताएं बेहतर होती हैं (basic → intermediate → advanced) |
| सामान्य गलती | DoD को Acceptance Criteria से भ्रमित करना (DoD = गुणवत्ता, AC = कार्यक्षमता) |
इस व्यापक गाइड में, आप जानेंगे:
Definition of Done सिर्फ एक और Scrum औपचारिकता नहीं है - यह गुणवत्ता gatekeeper है जो technical debt संचय को रोकती है और सुनिश्चित करती है कि हर Sprint संभावित रूप से shippable Increments deliver करे। यह महत्वपूर्ण प्रतिबद्धता टीमों को अनुमति देती है:
चाहे आप एक नई Scrum team के लिए DoD स्थापित कर रहे हों, एक परिपक्व टीम के लिए DoD को मजबूत कर रहे हों, या regulated industries (healthcare, finance, government) में compliance सुनिश्चित कर रहे हों, यह गाइड सफलता के लिए सिद्ध frameworks प्रदान करती है।
मुख्य अंतर्दृष्टि: Definition of Done गैर-परक्राम्य है। जब Sprint Goals को पूरा करने का दबाव बढ़ता है, तो सही प्रतिक्रिया scope कम करना है (कम पूर्णतः-Done items deliver करें) बजाय गुणवत्ता से समझौता करने के (अधिक अधूरे items deliver करें)। जो टीमें DoD से समझौता करती हैं वे crippling technical debt जमा करती हैं और Scrum के empirical foundation को कमजोर करती हैं।
आइए जानें कि Definition of Done कैसे बनाएं, implement करें, और विकसित करें जो आपकी टीम की गुणवत्ता और delivery capabilities को transform करे।
Scrum में, "doneness" एक Product Backlog Item (PBI) या Increment की completion की स्थिति को संदर्भित करता है।
यह इंगित करता है कि कार्य गुणवत्ता और पूर्णता के उस स्तर तक समाप्त हो गया है जो Scrum Team और stakeholders के लिए स्वीकार्य है।
यह सुनिश्चित करने के लिए कि PBI या Increment कब पूर्ण माना जाता है इसकी साझा समझ हो, Scrum Teams Definition of Done का उपयोग करती हैं।
Definition of Done (DoD) Scrum Team के सदस्यों के बीच उन मानदंडों की साझा समझ है जो PBI या Increment को पूर्ण माने जाने के लिए पूरे होने चाहिए।
यह अपेक्षाओं का एक स्पष्ट और सुसंगत सेट स्थापित करता है, यह सुनिश्चित करता है कि टीम में हर कोई जानता है कि किसी कार्य को सफलतापूर्वक समाप्त करने के लिए क्या आवश्यक है।
Definition of Done अनिवार्य रूप से कार्यों और मानदंडों की एक सहमत चेकलिस्ट है जो किसी project या user story को पूर्ण माने जाने से पहले पूरी होनी चाहिए।जबकि विशिष्टताएं एक संगठन से दूसरे में भिन्न हो सकती हैं, एक typical DoD में प्रमुख items शामिल हैं जैसे:
ये checkpoints सामूहिक रूप से एक gatekeeper के रूप में कार्य करते हैं, "in progress" कार्य और जो वास्तव में "done" है उसके बीच अंतर करते हैं।
वे development process में गुणवत्ता और पूर्णता बनाए रखने के लिए एक safety net के रूप में कार्य करते हैं।
Scrum Guide के अनुसार, Definition of Done उस स्थिति का एक औपचारिक blueprint है जो एक Increment को product के लिए आवश्यक गुणवत्ता benchmarks को पूरा करने के लिए प्राप्त करनी होगी।
एक बार Definition of Done criteria पूरे हो जाते हैं, Increment को "Done" का coveted status मिलता है और यह delivery के लिए तैयार होता है।
DoD के प्राथमिक लक्ष्यों में से एक टीम के भीतर गुणवत्ता और पूर्णता के बारे में एक common understanding को बढ़ावा देना है।
जब हर कोई इस बात पर सहमत हो कि 'done' का क्या अर्थ है, तो यह confusion को समाप्त करता है और development process को streamline करता है।
DoD एक विश्वसनीय checklist के रूप में कार्य करती है जिसके against User Stories या Product Backlog Items की जांच की जाती है।
यह सुनिश्चित करता है कि कुछ भी छूटे नहीं, और किसी कार्य के हर पहलू की सावधानीपूर्वक जांच की जाए।
अंततः, DoD का सर्वोपरि लक्ष्य यह सुनिश्चित करना है कि Sprint के अंत में ship किया गया increment उच्च गुणवत्ता का हो।
यह गुणवत्ता सभी team members, stakeholders, और project में शामिल किसी को भी स्पष्ट रूप से समझ में आनी चाहिए।
Agile development में एक well-defined Definition of Done होना कई कारणों से आवश्यक है:
DoD को परिभाषित करना एक collaborative effort होना चाहिए जिसमें stakeholders और वास्तविक कार्य के लिए जिम्मेदार लोग शामिल हों।
चाहे यह brainstorming से शुरू हो या technical team से proposed framework से, feedback के पर्याप्त अवसर और final DoD के लिए unanimous support आवश्यक हैं।
प्रत्येक criterion को ownership assign करने से disputes को resolve करने और consistency बनाए रखने में मदद मिलती है।
Agile principle of simplicity के पालन में, DoD को संक्षिप्त होना चाहिए। इसका उद्देश्य consistent quality सुनिश्चित करना है, न कि bureaucratic obstacles बनाना।
DoD को overcomplicate करना progress में बाधा डाल सकता है इसे facilitate करने के बजाय।
अपनी Scrum Team के लिए एक प्रभावी Definition of Done बनाने के लिए, इन steps का पालन करें:
Collaborate करें: पूरी Scrum Team को DoD के निर्माण में engage करें, यह सुनिश्चित करते हुए कि हर किसी के perspective पर विचार किया जाए, और एक shared understanding स्थापित हो।
Criteria परिभाषित करें: उन criteria को identify करें जो PBI या Increment को पूर्ण माने जाने के लिए पूरे होने चाहिए। functionality, quality, performance, documentation, और compliance जैसे पहलुओं को शामिल करें।
इसे Visible रखें: DoD को पूरी Scrum Team के लिए आसानी से accessible और visible बनाएं, यह सुनिश्चित करते हुए कि team members हमेशा expectations से अवगत हों।
Review और Update करें: Scrum Team के learnings, experiences, और बदलती requirements के आधार पर DoD को नियमित रूप से review और update करें।
यह निर्धारित करने के लिए कि कोई activity DoD hierarchy में कहां belong करती है, तीन प्रश्न आपकी decision-making process का मार्गदर्शन करने चाहिए:
कई टीमें Definition of Done को Acceptance Criteria से confuse करती हैं - लेकिन वे अलग-अलग उद्देश्यों की सेवा करती हैं और एक साथ काम करनी चाहिए।
Scope: सभी Product Backlog items में सभी कार्यों पर लागू होती है
Purpose: गुणवत्ता मानकों और technical practices को परिभाषित करती है
कौन परिभाषित करता है: Scrum Team सहयोगात्मक रूप से (अक्सर organizational standards से inherited)
DoD Items के उदाहरण:
मुख्य बिंदु: DoD सभी features में consistent है - हर item को same quality bar पूरा करना होगा।
Scope: प्रत्येक specific Product Backlog item या user story के लिए unique
Purpose: functional requirements और business logic को परिभाषित करती है
कौन परिभाषित करता है: Product Owner (feasibility पर Developer input के साथ)
"User Login" Story के लिए AC उदाहरण:
मुख्य बिंदु: AC story के अनुसार vary करती है - प्रत्येक feature की unique functional requirements होती हैं।
| पहलू | Definition of Done | Acceptance Criteria |
|---|---|---|
| लागू होती है | सभी कार्यों पर समान रूप से | प्रत्येक story uniquely |
| जवाब देती है | "क्या यह quality work है?" | "क्या यह इरादे के अनुसार काम करता है?" |
| परिभाषित करती है | Technical standards | Functional behavior |
| उदाहरण | "Code is reviewed" | "User can reset password" |
| बनाई गई | Scrum Team द्वारा | Product Owner द्वारा |
| Changes | Rarely (धीरे-धीरे evolve होती है) | हर story (हर बार unique) |
दोनों पूरी होनी चाहिए: कार्य तभी "Done" है जब यह दोनों Definition of Done (quality) और Acceptance Criteria (functionality) को पूरा करे।
विभिन्न उद्योगों को compliance, security, और domain-specific requirements के आधार पर विभिन्न DoD items की आवश्यकता होती है।
✓ Code reviewed और approved
✓ Unit tests passing (minimum 80% coverage)
✓ Integration tests passing
✓ API documentation updated
✓ Security vulnerability scan passed
✓ Performance testing completed (< 2s response time)
✓ Feature flag configured
✓ Monitoring और alerts configured
✓ Deployment runbook updated
✓ Product Owner approved✓ Senior developer द्वारा Code reviewed
✓ All tests passing (unit, integration, E2E)
✓ HIPAA compliance checklist completed
✓ PHI data encryption verified
✓ Audit logging implemented
✓ Access controls tested
✓ Security review passed
✓ Privacy impact assessment completed
✓ Documentation updated (technical + user)
✓ Compliance officer approved✓ Code reviewed (critical paths के लिए dual review)
✓ Automated tests passing (>90% coverage)
✓ PCI-DSS compliance verified
✓ Penetration testing completed
✓ Transaction integrity tests passed
✓ Rollback procedure documented
✓ Fraud detection rules updated
✓ Regulatory reporting capability verified
✓ Audit trail implemented
✓ Change Advisory Board approved✓ Code peer-reviewed
✓ Unit + integration tests passing
✓ Cross-browser testing completed (Chrome, Safari, Firefox, Edge)
✓ Mobile responsive design verified
✓ Page load time < 3 seconds
✓ Analytics tracking implemented
✓ SEO meta tags added
✓ Cart और checkout flow tested
✓ Payment gateway integration tested
✓ User acceptance testing passed✓ Code reviewed
✓ Unit tests passing (>75% coverage)
✓ UI/UX design specs से match करता है
✓ iOS पर tested (latest + 2 previous versions)
✓ Android पर tested (latest + 3 previous versions)
✓ Accessibility standards met (WCAG 2.1 AA)
✓ App store screenshots और descriptions ready
✓ Crash reporting configured
✓ Analytics events correctly tracking
✓ Privacy policy और permissions updated✓ Infrastructure as Code (IaC) peer-reviewed
✓ Automated tests passing
✓ Security groups और IAM policies reviewed
✓ Cost estimation completed
✓ Monitoring dashboards created
✓ Alerts और runbooks documented
✓ Disaster recovery tested
✓ Change management ticket approved
✓ Deployment staging में verified
✓ Rollback procedure documented और testedScrum Alliance और Agile experts के अनुसार, DoD कई levels पर exist कर सकती है - टीमों को consciously decide करना चाहिए कि प्रत्येक quality activity कहां belong करती है।
हर Product Backlog item के लिए perform की जाने वाली Activities
✓ Coding standards follow करते हुए Code written ✓ Unit tests written और passing ✓ Code peer-reviewed ✓ Acceptance Criteria met ✓ Local testing completed
प्रश्न: क्या हम realistically हर single feature के लिए यह कर सकते हैं?
पूरे Increment के लिए प्रति Sprint एक बार perform की जाने वाली Activities
✓ सभी Sprint features में Integration testing ✓ Regression testing suite executed ✓ Performance testing completed ✓ Security scan run ✓ Sprint documentation consolidated ✓ Staging environment में Increment deployed
प्रश्न: यदि per feature feasible नहीं है, तो क्या हम Sprint में एक बार यह कर सकते हैं?
Production में release करने से पहले perform की जाने वाली Activities
✓ Stakeholders के साथ User acceptance testing (UAT) ✓ Production-like conditions में Load testing ✓ Penetration testing और security audit ✓ Compliance review और sign-off ✓ Production deployment runbook executed ✓ Marketing materials और release notes prepared ✓ नई features पर Customer support trained
प्रश्न: यदि per Sprint feasible नहीं है, तो क्या हमें release से पहले यह करना होगा?
Reality: हर quality activity हर feature के लिए नहीं की जा सकती। उदाहरण:
Solution: इस बारे में explicit रहें कि प्रत्येक DoD activity किस level पर belong करती है। यह creates:
Problem: टीम DoD को quality standards के बजाय functional requirements की तरह treat करती है
उदाहरण: DoD में "User can log in with email" शामिल है (यह Acceptance Criteria है)
Fix: DoD technical/quality standards होने चाहिए (जैसे, "All user-facing features have >80% test coverage"), functional specifications नहीं
Problem: DoD में ऐसी activities शामिल हैं जो टीम वास्तव में हर Sprint complete नहीं कर सकती
उदाहरण: "External firm द्वारा Full security audit" (costs $50K, 3 weeks लगते हैं)
Fix: इसे Release-level DoD में move करें। Sprint DoD "Automated security scan passed" हो सकती है
Problem: Generic statements जो action drive नहीं करती
उदाहरण: "Code should be high quality" या "Testing complete"
Fix: Specific रहें: "Senior developer द्वारा Code reviewed" और "Unit tests >80% coverage, integration tests passing, smoke tests passed"
Problem: टीम capabilities gain करने के बावजूद years तक same DoD use करती है
उदाहरण: टीम automated testing सीखती है लेकिन DoD अभी भी "Manual testing only" कहती है
Fix: Retrospectives में quarterly DoD review करें। जैसे-जैसे टीम improve हो, DoD strengthen करें (जैसे, test coverage 70% → 80% → 90% raise करें)
Problem: Sprint Goal meet करने के लिए टीम DoD से compromise करती है, technical debt accumulate करती है
उदाहरण: "We'll skip code review this time - we're behind schedule"
Fix: DoD non-negotiable है। यदि आप DoD meet नहीं कर सकते, तो work Done नहीं है। Quality compromise करने के बजाय scope reduce करें
Problem: केवल Scrum Master या tech lead team input के बिना DoD define करता है
उदाहरण: Tech lead Developers से consult किए बिना 20-item DoD checklist बनाता है
Fix: पूरी Scrum Team DoD पर collaborate करती है। सभी को इसे समझना और commit करना होगा
Problem: DoD एक wiki में रहती है जिसे कोई check नहीं करता
उदाहरण: "Where's our DoD?" "Uh... somewhere in Confluence?"
Fix: DoD को अपने board पर visible बनाएं, Sprint Planning में, और Sprint Review के दौरान
Problem: DoD items exist हैं लेकिन कोई compliance verify नहीं करता
उदाहरण: DoD कहती है "Documentation updated" लेकिन कोई check नहीं करता कि यह हुआ
Fix: प्रत्येक DoD item verification के लिए clear ownership assign करें, या इसे code review checklist का हिस्सा बनाएं
Great teams perfect DoD से start नहीं करतीं - वे समय के साथ इसे strengthen करती हैं जैसे-जैसे capabilities improve होती हैं।
Typical DoD:
✓ Code written
✓ Code version control में committed
✓ Basic manual testing completed
✓ Acceptance Criteria metCharacteristics:
Improvement Focus: Automated unit testing और peer review introduce करें
Typical DoD:
✓ Peer द्वारा Code reviewed
✓ Unit tests written (>60% coverage)
✓ Integration tests passing
✓ Acceptance Criteria met
✓ Test environment में Deployed
✓ Basic documentation updatedCharacteristics:
Improvement Focus: Test coverage increase करें, automated deployment add करें
Typical DoD:
✓ Code reviewed और approved
✓ Unit tests passing (>85% coverage)
✓ Integration tests passing
✓ E2E tests passing
✓ Security scan passed
✓ Performance benchmarks met (<2s response)
✓ Accessibility standards verified (WCAG 2.1 AA)
✓ Documentation updated (code + user)
✓ Feature flag configured
✓ Monitoring/alerts configured
✓ Automatically staging में deployed
✓ Staging में Product Owner approvedCharacteristics:
Improvement Focus: Metrics और feedback के माध्यम से Continuous improvement
Step 1: Current Gaps Identify करें
Sprint Retrospective के दौरान, पूछें:
Step 2: एक समय में एक Improvement Add करें
टीम को overwhelm न करें। Incrementally DoD strengthen करें:
Step 3: Capability Building में Invest करें
DoD तभी improve हो सकती है जब team capabilities improve हों:
Step 4: Measure और Adapt करें
DoD improvements को validate करने के लिए metrics track करें:
Definition of Done transparency maintain करने, team members की expectations align करने, और प्रत्येक sprint के अंत में potentially releasable increment deliver करने के लिए crucial है।
यह functionality से परे जाकर किसी feature की quality assert करती है। Reality से informed, यह विभिन्न levels पर adapt होती है, clarity provide करती है, और टीम के भीतर और stakeholders के साथ communication foster करती है।
यह incomplete या low-quality work को "done" माने जाने से रोकने में मदद करती है और development work कब truly complete है इसके लिए एक clear guideline provide करती है।
DoD को समझना और प्रभावी ढंग से apply करना सिर्फ software नहीं बल्कि code की हर line में excellence deliver करने की यात्रा है।
जब आप इस यात्रा पर निकलें, याद रखें कि Definition of Done एक dynamic tool है, जो हमेशा evolve होने और आपकी टीम को greater heights की ओर guide करने के लिए तैयार है।
क्या Definition of Done एक Scrum artifact है?
क्या Definition of Done acceptance criteria के समान है?
Testing में Definition of Done क्या है?
क्या Definition of Done change की जा सकती है?
Definition of Done कब create की जाती है?
Agile में Definition of Done कौन create करता है?
Definition of Done बनाम Sprint Goal - अंतर क्या है?
क्या Definition of Done हर Agile team या organization के लिए same है?
Sprint end तक Definition of Done meet न होने पर work का क्या होता है?
नई team के लिए effective Definition of Done कैसे create करें?
क्या Product Owner Definition of Done override कर सकता है?
Definition of Done के तीन levels क्या हैं?
Definition of Done technical debt reduce करने में कैसे help करती है?
Distributed या remote teams के साथ Definition of Done कैसे work करती है?
क्या Definition of Done में performance और security जैसी non-functional requirements शामिल होनी चाहिए?