如何找出Definition of Done (DoD)?

"Done"這個東西, 常常是每個role有自己的想法, 因此這裡常常是誤解的根源. 而在Scrum中, 它是非常關鍵的一個要素, 特別強調大家對"Done"這東西, 要有一致的認知. 這樣每個iteration的進行才會更有效率, 更能確認是否真的滿足customer的需求.

這裡我看到一個blog上寫著, 他們team如何來找出DoD的步驟:

Step 1 – Brainstorm:
- Take a Pen and Sticky Note pad
- Write on the sticky notes what they believed was part of achieving the objective written on the whiteboard
- Place the sticky note in the centre of the table and read out aloud their idea
- No idea is to be criticized!

Step 2 – Categories
- Discuss what categories should be used to facilitate our DoD
- Category Example:
    a. Release
    b. Sprint
    c. User Story

Step 3 – Categorise
- Take the sticky notes from the table and place them into the categories

Step 4 – Sorting:
- If we believed that two or more ideas where similar or overlapped.  We overlap the sticky notes.
- Where ideas no longer seem valid, has lost their context or simply made no sense we move these to another area outside of the categories.

Step 5 – Review:
- Review each of the sticky notes to analyse the meaning
- Query if the idea was required to be done?  Is it in the correct category?
- The definitions could be rewritten and consolidated after dicussion

Step 6 – Document:
- You could place a printed version in the team work space or project wiki


這裡我收集了一些DoD的定義, 來供大家參考.

(1) User Story 做完的定義
Example 1:
   A. All story should have automated acceptance test.
   B. The story should have working code supported by unit test that provide around 60 - 70 percent coverage.
   C. The story should have well defined acceptance criteria.
   D. The code must have been written as a pair or should be code reviewed.
   E. Code must be completely checked in to the source control system and the build should pass with all the automated tests running.
   F. The product owner must accept the story.
Example 2:
    A. All tests for acceptance criteria identified, written, tested and passed
    B. Unit tests for story written and passed
    C. Continuous integration build is working with checked-in source code
    D. All source code for user story checked-in to source control
    E. Completed all tasks associated with user story
    F. Code coverage of 80% achieved
    
(2) Sprint 做完的定義
Example 1:
   A. Product owner should have defined a sprint goal.
   B. All stories completed for the spring must be accepted by the product owner
   C. All the automated acceptance tests should be running for the stories in the sprint.
   D. All code should have been pair progrmmed or must have gone thorough a code review process.
   E. If there is a database involved, the database scripts must have been automated and tested.
Example 2:
    A. All automated tests passed
    B. Documented all user stories completed in sprint
    C. Regression testing passed
    D. Done all agreed user stories
    
(3) Release 做完的定義
Example 1:
   A. Product is deployed to the test box and makes it to staging
   B. Product has a formal release date.
   C. There are deployment documents for the release
   D. Training manuals are available for users.
   E. All stories for the release are completed and accepted.
   F. The release does not have any level one bugs.
Example 2:
    A. User documentation written and delivered
    B. Create branch for release and deploy from it
    C. Deliver source code to client
    D. Pass FX Cop(a free static code analysis tool) to appropriate level


Reference
1. What is definition of done?  
http://agilefaq.net/2007/10/24/what-is-definition-of-done/
2. Definition of Done?
http://blogs.imeta.co.uk/CSkipper/archive/2008/10/21/459.aspx
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()