Definition of Done vs Acceptance Criteria: What's the Difference?

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ส.ค. 2024

ความคิดเห็น • 134

  • @Relicarious
    @Relicarious 6 หลายเดือนก่อน +5

    Very much on board with this.
    I often explain it like this:
    The acceptance criteria are usually about the content of the feature and are readily verifiable to a stakeholder (could be the user from the user story), e.g. it has buttons, it's pink, it's available on Thursdays.
    The definition of done is about the quality or finish of the craftsmanship on the feature and the process surrounding it, e.g. we have unit tested to so-and-so level, we have received thumbs up from at least one stakeholder, at least two developers have an understanding of the way it works.
    It then follows that usually
    Unmet acceptance criteria means feature not finished.
    Unmet definition of done means technical debt.
    Extra important to be diligent about definition of done because the receiver will let us know if the criteria for acceptance went unfulfilled whereas definition of done rarely has an active champion outside the team. And for sustainable production we need both upheld.

    • @MountainGoatSoftware
      @MountainGoatSoftware  6 หลายเดือนก่อน +1

      Well said.

    • @sayedfaiztanvir4733
      @sayedfaiztanvir4733 3 หลายเดือนก่อน +1

      You have given extraordinary definition and differences. Very much understandable. Appreciate this!

    • @Relicarious
      @Relicarious 3 หลายเดือนก่อน

      @@sayedfaiztanvir4733 Thank you for saying this to me, I am very happy it is of use to you. 🧡
      My definitions are distilled from some years of experience and a habit of regularly returning to drink from the fresh water streams trickling down the sides of the mountain of the goat. I truly enjoy how we enrich everyone when we exchange and challenge our definitions and understandings like this.

    • @sayedfaiztanvir4733
      @sayedfaiztanvir4733 3 หลายเดือนก่อน +1

      @@Relicarious : Scrum is simple and must be explained and understood in a simpler ways. You have given an insightful lesson on "Definition of done" and " Acceptance criteria"

    • @Relicarious
      @Relicarious 3 หลายเดือนก่อน

      @@sayedfaiztanvir4733 🙏🧡

  • @eniolaboluogun8462
    @eniolaboluogun8462 ปีที่แล้ว +17

    Mike, I must appreciate you for making this video concise and fun to watch. You are the reason why I have succeeded with Agile over the years. Thank you!

  • @georgwagner5577
    @georgwagner5577 3 หลายเดือนก่อน +2

    Once upon a time I heard something like "macro and micro level" - sounds like terms used by a typical manager. Thank you, Mike :)

    • @MountainGoatSoftware
      @MountainGoatSoftware  3 หลายเดือนก่อน

      Reminds me of my economics classes. You're welcome!

  • @charlottesmith6316
    @charlottesmith6316 ปีที่แล้ว +2

    One of the GOATS! thank you Mike ! Love your videos :) Very concise and easy to understand- plain english! love it

  • @DonPapiChulo
    @DonPapiChulo 7 หลายเดือนก่อน +3

    Never seen this topic explained so well. Awesome content!

  • @user-ok3ws6to2i
    @user-ok3ws6to2i ปีที่แล้ว +3

    Brilliant, so clear. Thanks. 💗💗

  • @maddog_j4canikon
    @maddog_j4canikon 2 หลายเดือนก่อน +1

    Thank you Mike, great and easy to understand contribution to comon sense in agile wording.

  • @kalocarlos707
    @kalocarlos707 10 หลายเดือนก่อน +1

    Concise, clear. Thanks

  • @Kate_D
    @Kate_D 2 หลายเดือนก่อน +1

    You are the saviour! Such a nice explanation 🎉

  • @user-do7pj4fy9s
    @user-do7pj4fy9s ปีที่แล้ว +1

    Thanks for this simple explanation!

  • @ABS2525
    @ABS2525 ปีที่แล้ว +3

    Your training skills are outstanding. You make everything clear and simple, with your helpful examples and visuals. Excellent work!! Many thanks for making these.

  • @cbaloch
    @cbaloch ปีที่แล้ว +1

    I have gone through different videos on DOD. But this was is very insightful, different and practical. Thank you

  • @PZamani
    @PZamani 2 หลายเดือนก่อน +1

    Dear Mr. Mike, i just find your great video's today. just let you kindly know, i learned alot from your video's. Thank you. Regards, Pedram (The Netherlands)

  • @jonno946
    @jonno946 ปีที่แล้ว +1

    That's the slickest segway to subscribing I've ever seen 👍 great channel Mike

  • @WaqasAhmed-ub4ht
    @WaqasAhmed-ub4ht ปีที่แล้ว +1

    Simple and to-the-point explanation! Nicely done Mike.

  • @1ancore
    @1ancore 9 หลายเดือนก่อน +1

    Thank you for this video Mike, very clear and straight to the important points. I had a good understanding of 'Acceptance Criteria' but wasn't too sure about 'Done', I do now - thank you.

  • @MoTheFcker
    @MoTheFcker 14 วันที่ผ่านมา +1

    best videos about scrum on the interweb ;)

  • @sunnyprabhat
    @sunnyprabhat ปีที่แล้ว +2

    Wow! Very nicely and precisely explained the difference, Mike! Appreciate you making this video to help the larger audience get the clarity of thought and concepts clearer. Thank you!

  • @syazwanitmt3509
    @syazwanitmt3509 10 หลายเดือนก่อน +1

    Great explanation! would be sharing this with our team's product owner and scrum master later. thank you Mike! my team tends to confuse acceptance criteria with the solution details.

  • @bidishasinha895
    @bidishasinha895 9 หลายเดือนก่อน

    the end portion was really smart way of demonstrating :)

  • @kathycrowley8805
    @kathycrowley8805 6 หลายเดือนก่อน +1

    Great video with a simple definition. Will be sharing this with my team.

  • @ChrisLuttrell
    @ChrisLuttrell ปีที่แล้ว +1

    Thank you Mike! Your videos are as great as your books.

  • @akpbrai
    @akpbrai ปีที่แล้ว +1

    This is such a refreshing video I am looking forward to watching more content

  • @loutsetmaayan1499
    @loutsetmaayan1499 ปีที่แล้ว +1

    I wanted to take a moment to thank you for creating such informative videos. Your explanations are incredibly clear and professional, and I appreciate the concise format you've chosen for them. I'm especially interested in hearing your perspective on how to handle urgent bugs that pop up during a sprint, considering the traditional principles of SCRUM that discourage changing the number of tasks in a sprint. Your insights on this topic would be greatly appreciated.
    Once again, thank you for sharing your valuable content.

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว +2

      Thank you for your kind message, Loutset. I appreciate it. I've added it to my list to make a video on handling bugs but here's a short text answer: If the bug is related to a product backlog item in the current sprint, that bug should be fixed in the sprint. If it's a high-priority bug unrelated to current work and that happens often, a good approach is to maintain a buffer in your sprint that will be used for that type of bug. Just as an example, say 50 hours. Then as bugs are found you subtract their effort from the 50 hour buffer and use that to help stakeholders decide if the bug is important enough to do (since it becomes clear to them that having a team spend 10 hours fixing a bug today means 10 fewer hours available for a later bug). I'll make a video on this too. Thanks for the suggestion.

  •  4 หลายเดือนก่อน +1

    Great explanation. Thank you!

  • @shadyleegamer
    @shadyleegamer 3 หลายเดือนก่อน +1

    How beautifully explained

  • @homonaledi5024
    @homonaledi5024 6 หลายเดือนก่อน +2

    Thanks for the simple explanation. Now I've met my DoD criteria.

  • @kimzia1540
    @kimzia1540 10 หลายเดือนก่อน +1

    im leaving a comment just cause you added leaving a comment to mu DoD. also cause i was really confused about AC and Dod before this video. thanks

    • @MountainGoatSoftware
      @MountainGoatSoftware  10 หลายเดือนก่อน

      :) Thanks for commenting. I'm glad this was helpful.

  • @iriblue
    @iriblue 6 หลายเดือนก่อน +1

    Such a great video! As a scrum master, it is difficult to lead a team if you are not from the technical profession and participate in writing the definition of done and acceptance criteria.

    • @MountainGoatSoftware
      @MountainGoatSoftware  6 หลายเดือนก่อน

      Making sure that everyone knows and understands what it means to be done can avoid a lot of headaches!

  • @smarello89
    @smarello89 ปีที่แล้ว +1

    Thank you Mike for the clear and quick explanation!
    Could we also say that another difference is that while AC are mostly related to the functional part of a PBI, the DoD is more related to the technical part?
    When working with teams and writing AC, I often ask questions like "How can the user tell that this feature has been fully implemented?", instead when we must agree on a DoD I ask something like "What should we complete in order to consider our job done on a PBI?"

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว +1

      I like that---I think functional vs. technical is a good distinction. Nice!

  • @senthil9037
    @senthil9037 ปีที่แล้ว +1

    Amazing Mike. Thanks it's simple but high value. Thank you very much.

  • @martynagiszczak8378
    @martynagiszczak8378 ปีที่แล้ว +1

    Really nicely and simply explained topic, thank you for that, Mike :)

  • @Jake8888
    @Jake8888 11 หลายเดือนก่อน +1

    Great videos, Mike. I teach Scrum and this is very useful tool for students to enhance understanding these concepts..

  • @allpurp0se
    @allpurp0se ปีที่แล้ว +1

    Just in time to coach my team these 2 ideas, thanks. Awesomely acceptable video and nicely done ;-)

  • @rachnanj
    @rachnanj 10 หลายเดือนก่อน +1

    Great explanation, would love for you make a video on Defination of Ready and it's relevance in scrum best practices. Thank you

    • @MountainGoatSoftware
      @MountainGoatSoftware  10 หลายเดือนก่อน +1

      @rachnanj As it happens, a video on Definition of Ready is scheduled to come out on November 1st!

  • @pas0003
    @pas0003 11 หลายเดือนก่อน +1

    Very succinct explanation! Thank you!

  • @anjanchidige
    @anjanchidige 10 หลายเดือนก่อน +1

    Thanks, Mike for the crisp video. I have a question. You mentioned an example in the video, "Search Wine" and its Acceptance Criteria is "Search by Wine Type", "Search by price range" etc. What I think, are the items mentioned in the User Stories and how the user will see them as search by options on the User Interface. Please correct me, if I am wrong.

    • @MountainGoatSoftware
      @MountainGoatSoftware  10 หลายเดือนก่อน

      Good question. These are definitely acceptance criteria but they do have implications for the UI. "Search by Wine Type" will need to be in the UI somehow for users to do it. But this doesn't say whether it will be dropdown list of wine types, a set of radio buttons on the screen, or even checkboxes on the screen (so more than 1 can be chosen).
      Ideally a user story would not specify those UI factors.

  • @rabihalitani8988
    @rabihalitani8988 ปีที่แล้ว +1

    Hi Mike. Thank you for this informative and concise video. It will be great if you explain how users stories are written in Project management software and how development team deals with this users stories for development.

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Hi Rabih, How you write the actual stories won't vary between different project management software. But you'll enter them differently in each tool. There are too many tools for me to be proficient with them all.

  • @salvn
    @salvn 10 หลายเดือนก่อน +1

    It wasn't part of my DoD but thank you :)

  • @jehankothari8749
    @jehankothari8749 ปีที่แล้ว +1

    So many pages compressed in simple 5 mins video. Thank you for saving our time :) Sir can you please make a video on how you guide teams from breaking down story points into tasks? I have read many different opinions on this. Thank you!

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Will do. I've added that to my backlog. The short answer is that during sprint planning teams discuss the work needed to deliver a product backlog item and identify tasks. Tasks should be no more than a day of effort. Tasks do not need to be estimated but many teams will do so at least initially. The estimates are little more than quick guesses used to help the team decide if the backlog item can fit into the sprint. These estimates can be in good old hours because one person will be doing each task so points aren't needed on tasks. (This is because a big reason to use points is so that people of different skill levels can agree on an estimate, which isn't needed on tasks.)
      I hope that helps as a start.

    • @jehankothari8749
      @jehankothari8749 ปีที่แล้ว +1

      @@MountainGoatSoftware Thank you for such an elaborate response and putting it in backlog. I really appreciate it. Actually with my first team, I didn't find any issue because team comprised of mostly mid to senior people. But now, the range has expanded from junior to senior and task level work is going wide on guesses. I find it sometimes hard to bring a balance between this. Seniors accompany junior to improve their knowledge on programming side when such things happen. The better team spirit is not allowing to blow it out of context but I am still looking for better way if any.

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      If task estimates are often wrong, there are a few things you can do. First, ask questions like, "What has to go right for you to finish in that amount of time?" or "What could make that estimate be wrong (or too low)?"
      Second, use a technique known as "unpacking." This involves asking a person to name the steps in the work (the subtasks in this case). Then have them estimate the parent task---not the subtasks. Unpacking an item then estimating it has been shown to help.

    • @jehankothari8749
      @jehankothari8749 ปีที่แล้ว +1

      @@MountainGoatSoftware correct! Let me blend this thing and see how it goes. Very much appreciated. I learned something new today😃

  • @sonyjumper111
    @sonyjumper111 6 หลายเดือนก่อน +1

    The last part made me understand it best :D

  • @DukingAroundDIY
    @DukingAroundDIY 7 หลายเดือนก่อน +1

    This was awsome

  • @dylangabler3850
    @dylangabler3850 ปีที่แล้ว

    Brilliant - so clear, thank you. 💗💗

  • @stevekdaniel
    @stevekdaniel ปีที่แล้ว +1

    Precise 🫡 thanks sir

  • @WOK-YT-handle
    @WOK-YT-handle 8 หลายเดือนก่อน +1

    Done!

  • @SowmiyaM-np5fh
    @SowmiyaM-np5fh ปีที่แล้ว +1

    Great video !

  • @albertchapman5281
    @albertchapman5281 ปีที่แล้ว +1

    Compliments, great job! I am PMP and leading SAFe certfied with 10 years on IT projects, but 15 Business projects.
    So can we sum up and say DoD is more at Product or Releases level, and AC is more Sprint level by Story?

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Thanks, Albert. I don't think that description gets it quite right. The items on a Definition of Done need to be true of each product backlog. It's just that they are more universal so we elevate them to the DoD. Think about one like "must be thoroughly tested." I don't want to say that each time for each product backlog item. So it gets elevated to the Definition of Done.

  • @talentedtitans8593
    @talentedtitans8593 ปีที่แล้ว +1

    This is an awesome video

  • @randallmarcgrimm6501
    @randallmarcgrimm6501 ปีที่แล้ว +1

    I like to think in terms of functional and non-functional.

  • @burrillgray4812
    @burrillgray4812 4 หลายเดือนก่อน +1

    Thanks Mike very helpful.
    Question:
    I had a stakeholder recently ask me when to create the DoD and when is the acceptance criteria created?
    Our product focus was building a corporate-wide supply chain finance/accounting tool. In our PBL we had five « functionality buckets » each one of which addressed a broader customer need/problem. We had a DoD for each « functional bucket. » Our DoDs evolved with each refinement session, so in this context DoDs pertained to the Product Backlog items.
    Conversely, we identified and finalized our acceptance criteria for Sprint Backlog items during each Sprint Planning session.
    Is there a better more timely way to do this?
    Thank you

    • @MountainGoatSoftware
      @MountainGoatSoftware  4 หลายเดือนก่อน

      That sounds like good timing for DoD but I might suggest creating acceptance criteria a little earlier. The DoD should be created early on and refined over time so every dev knows what is required. Acceptance criteria are created during backlog refinement before the user story is brought into the sprint. The goal is to ensure that everyone (devs, Product Owner, etc) knows what the criteria are before we start working on the item.

  • @user-ey4ef2do2i
    @user-ey4ef2do2i 5 หลายเดือนก่อน +1

    Thank you for yours videos, I have a question, Is the definition of done (dod) for a user story and task are same?

    • @MountainGoatSoftware
      @MountainGoatSoftware  5 หลายเดือนก่อน +1

      You're welcome. The definition of done is for product backlog items (commonly stories). They can't be for tasks as tasks are too different. A team might have a task of "Hold design review with lead users." That's done when the meeting is over (or perhaps when someone writes some notes). A testing task, on the other hand, isn't done until something passes all tests.

  • @dlcox40
    @dlcox40 ปีที่แล้ว +1

    Do you have materials dedicated to operational and support teams? Other than using kanban and WIP limits, how else can we introduce or utilize agility for these teams who operate primarily in unplanned work?

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Hi, I saw you emailed me, too. So I sent you a few links. Good luck.

  • @providentia3103
    @providentia3103 ปีที่แล้ว +1

    who should be writing the acceptance criteria? often the Prod Owner or a delegate of the PO (which is a BA) does that, any comments?

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Acceptance Criteria (also know as Conditions of Satisfaction) should be written by the PO since it is the criteria that must be met in order for the PO to accept the done increment.

  • @rudranshparab2007
    @rudranshparab2007 ปีที่แล้ว +1

    Nice and short video. I came across a person he is saying they estimate user story. 1 point = 6 hours.
    Is that acceptable. Currently I am reading your book agile estimation . Not yet finished.

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Hi. Thanks for your comment. The short answer is "Don't equate story points to hours." Here's a blog that explains why: www.mountaingoatsoftware.com/blog/dont-equate-story-points-to-hours

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Great question. No, equating 1 story point to a fixed number of hours (6, 3, 800, etc) is *_wrong_* . If someone does that they might as well just call the hours or days. The point of points is that they are relative so people who perform at different rates can agree on an estimate. A junior and senior programmer can both agree that Item A will take half the time of Item B, but the Senior may be thinking 1 day and 2 days while the Junior is thinking 1 week and 2 weeks.

  • @bravokarthi6600
    @bravokarthi6600 11 หลายเดือนก่อน +1

    Where are the DoD maintained in a Sprint

    • @MountainGoatSoftware
      @MountainGoatSoftware  11 หลายเดือนก่อน

      Because the Definition of Done applies to everything the team works one (unlike the acceptance criteria for one product backlog item) it doesn't change very often. It is generally documented wherever the team keeps shared information. That could often a wiki or a tool like Notion that is a team home page.

  • @vo-Blog
    @vo-Blog ปีที่แล้ว +1

    What will you do for a non-digital product; definition of done.

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      The idea is still the same. A definition of done applies to all (or nearly all) of the backlog items and an item must meet it in order to be considered done. It depends on your product but for a cake shop it might be something like "the batter has been taste tested".

    • @vo-Blog
      @vo-Blog ปีที่แล้ว +1

      @@MountainGoatSoftware thanks for the feedback. What I have noticed mostly is referring it to more digital goods. But when managing a non-digital product, the definition of "Done" sometimes have an inbuilt dependence. This is because, like your example, cake taste is based on the human sensitive of the tongue.

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      @@vo-Blog Take a look at this article on a multi-level definition of done that I use with hardware companies. www.mountaingoatsoftware.com/blog/multiple-levels-of-done

    • @vo-Blog
      @vo-Blog ปีที่แล้ว +1

      @@MountainGoatSoftware thanks for sharing and it's really informative 👍

  • @connor5446
    @connor5446 9 หลายเดือนก่อน

    Hi Mike, In your opinion is there, or should there be, a difference for the DoD for Epics vs Stories?

    • @MountainGoatSoftware
      @MountainGoatSoftware  9 หลายเดือนก่อน +1

      No, I think they should have the same DoD. Most teams, however, will split an epic (big story) into smaller ones so they don’t work directly on the epic but rather than its parts.

  • @KeremPARLAKGUMUS-uc4xb
    @KeremPARLAKGUMUS-uc4xb 2 หลายเดือนก่อน

    Dod is written for all user stories OR for each user story you wrte DoD ?

    • @MountainGoatSoftware
      @MountainGoatSoftware  2 หลายเดือนก่อน

      Definition of Done is for all stories. Acceptance Criteria are for specific stories that need to be met in addition to the Definition of Done.

  • @phenry9999
    @phenry9999 ปีที่แล้ว +1

    OH! You elevated the common criteria to the DoD?! DoD is universal where as the AC is specific to that card\ticket. Oh, ok, that's easy to understand\explain.

  • @giovanninabil6950
    @giovanninabil6950 ปีที่แล้ว

    Honest question,
    do you sometimes have shower thoughts that Agile is just full of bullshit but you just keep those thoughts to yourself and never speak about them to anyone??

    • @MountainGoatSoftware
      @MountainGoatSoftware  ปีที่แล้ว

      Not at all. If it were bullshit, I wouldn't devote my life to it. I've seen agile improve too many teams and the lives of too many developers to think it's BS.

    • @giovanninabil6950
      @giovanninabil6950 ปีที่แล้ว +1

      @@MountainGoatSoftware haha you're man of integrity.
      I guess my team is just missing a good agile coach 😉

  • @RustyTricycle69
    @RustyTricycle69 4 หลายเดือนก่อน

    Great video!