Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Harvard CSCI E-71 Agile Software Development Session 4 2015-09-21

Harvard CSCI E-71 Agile Software Development Session 4 2015-09-21

Scrum: Definition of “Done”, Definition of Ready, Sprint Retrospective

Richard Kasperowski

September 21, 2015
Tweet

More Decks by Richard Kasperowski

Other Decks in Education

Transcript

  1. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617

    466 9754 [email protected] CSCI E-71 Agile Software Development Session 4 Harvard University Extension School Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617 466 9754 [email protected] www.kasperowski.com
  2. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Tonight’s class • Scrum • Definition of “Done”, Definition of Ready • Sprint Retrospective • Homework
  3. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Wow! • Great teaming this week! Image: http://blog.pluralsight.com/pluralsight-top-10-building-a-great-software-development-team
  4. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of “Done”: What is “done” to you? • When you say your software is “done”, what do you mean? • To respond: • Write a short list of what “done” means for you. (solo, 2 minutes) • Share your thoughts one of these ways: • Unmute your mic (and, optionally, enable your camera) and share a few items verbally. • Type your responses into the chat window Image: http://www.chicagonow.com/cubicle-dad/2011/09/letting-toxic-people-and-negative-thinking-affect-me-it-stops-now-its-done/
  5. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of “Done”: What is “done” to you? • When you say your software is “done”, what do you mean? • Responses • PS (Nallasamy Ponnusamy): Done: Developed, tested and ready for production roll out • Kamran Zameer: Done means product owner accept the work that development is claiming that it is completed. • Greg Gerrein: Done: Product owner acceptance • Yetish Narayana: Done : Code developed, Unit tested and QA tested • Tomasz Skiba: - Working code - Unit and acceptance testing done- Approval for release • PS (Nallasamy Ponnusamy): • Justin Sanford: Done to me requires that all P1 goals are functioning as designed, all tests pass for the functionality covered by those goals, and no P1 bugs open • Jeffry Pincus: Done: required functionality and no known bugs. • Cornell Wright: Code is tested and ready for the user • Antonio Recalde: Done:- Done enough for deployment. If it is an incremental type of project, it is never really done as there can always be improvements, or new features.If it is a one time thing.. e.g... install software, it is done when the requirements are met. • Cyril (Tony) Allen: Done means the code is written, tested, and ready for commit/deployment. • Matt Kubej: Meets acceptance criteria, QA tested, Unit tested, No known defects • Frederick 2: Done: Developed, unit tested, qa tested, documented, accepted by stakeholders, published • Philip: The software has met the owner’s requirement per the RFP or agreement.
  6. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of “Done” • Everyone must understand and agree on what “Done” means • Unique to each Scrum Team • If the org has “done” conventions/ standards/guidelines, the org’s Def of Done is the Scrum Team’s minimum Def of Done • Used to assess when work is complete on the product increment • More stringent as Scrum Team matures Source: The Scrum Guide 2013 Image source: http://www.signingtime.com/whats-the-sign-for-all-done/
  7. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of “Done”: concrete practice • Define “done” for your HW2-3 mob • Try: Start with the sentence, “We’ll agree we’re done when:” and create a checklist of done-ness criteria • Try: Start with the “done” ideas that you already wrote down • Try: Use Decider Protocol to quickly agree on each proposed item • 5-10 minutes, then share with whole group
  8. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of “Done”: concrete practice • Share your Definition of “Done” • At least one mob, what did you agree to as your Def of Done?
  9. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of “Done”: conclusion • Clearly defined agreement amongst team members • Clearly defined for stakeholders • Guides estimating and Sprint Planning • Helps us deliver working—the primary measure of progress— software every sprint Image: http://blogs.edgehill.ac.uk/learningedge/author/wilcockm/
  10. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready: What do you think? • What would you like to know about a new software requirement before you start working on it? • To respond: • Write a short list of what “ready” means for you. (solo, 2 minutes) • Share your thoughts one of these ways: • Unmute your mic (and, optionally, enable your camera) and share a few items verbally. • Type your responses into the chat window Image: http://www.soarselling.com/blog/thoughts/are-you-ready-for-a-coach/
  11. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready: What do you think? • To be ready to implement a new software requirement, what do you want to know? • Responses • Kamran Zameer: requirements clearly defined and discussed • Justin Sanford: Functional use case defined and understood • Yetish Narayana: Requirements analysed and documented • alpana: requirements clearly communicated • Greg Gerrein: clear requirements and unblocked technically • Phillip Heller 2: Broad understanding and acceptance of requirements, agreement on tech stack and rough architecture • Philip: Requirement clearly understood • Qanit Al-Syed: - Requirements have an acceptance criteria - Requirements are understood by everyone - Everyone agrees on the effort/story points for each story. • Linghong Chen: requirement is well defined • Justin Sanford: Dependent work items complete, or on track for completion • Lori Higham: Ready is when we have defined the required criteria, including the definition of “done,” and have organized the steps one small block at a time in an outline. • Cornell Wright: Well understood & documented understanding of the software requirment • Usha: functional requirements and may need to understand the design from the architecture prespective • Frederick 2: Definition of ready: knowing requirements and intended outcome • Jeffry Pincus: Requirements understood, development environment configured. • Tomasz Skiba: - Scope of the features- Skills that are needed for development- Functional requirements- Non functional requirements
  12. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready Jeff Sutherland on ready-ready: https://www.youtube.com/watch?v=XkhJDbaW0j0
  13. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready • Like airline pilots’ preflight safety check • Helps you go faster: fewer impediments to getting Done • Ensures each PBI has value: if PO can’t articulate value, it’s not Ready Image source: https://www.mansfieldins.com/2014/07/22/im-ready-im-ready-im-ready-practice-makes-perfect-preparing-storm/
  14. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready: example • An actual team’s Def of Ready • Short name • User story • Use cases • Current product behavior • Future product behavior and consequences • Acceptance criteria • Test outline • Demo script • Data storage concerns • Code flows and sequence, data flows • Proof of concept / prototype • Review by other architect and team • Security review • UX spec • Complexity/size estimate Source: http://kasperowski.com/2011/10/get-ready-to-get- done-definition-of.html
  15. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready: concrete practice • Define Ready for your HW2-3 mob • Try: Start with the sentence, “We’ll be ready to work on this backlog item when:” and create a checklist of done-ness criteria • Try: Start with the “ready” ideas that you already wrote down • Try: Use Decider Protocol to quickly agree on each proposed item • 5-10 minutes, then share with whole group
  16. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready: concrete practice • Share your Definition of Ready • At least one mob, what did you agree to as your Def of Ready?
  17. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Definition of Ready: conclusion • Clearly defined agreement amongst team members • Clearly defined for stakeholders • Helps you go faster: fewer impediments to getting Done • Guides Product Owner, collaborating teams, and stakeholders • Helps us deliver working software— the primary measure of progress— software every sprint Image: http://mykidentity.com/?p=541
  18. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective: connection • Look back at the week you spent with your mob. • What went well that you would continue or amplify? • What would you change? Exactly how would you change it? • Is there someone you want to thank? Write a sentence like, Thank you, _____________ (person name), for ________ (thing you did). • To respond: • Write your list. (solo, 2 minutes) • Share your thoughts one of these ways: • Unmute your mic (and, optionally, enable your camera) and share a few items verbally. • Type your responses into the chat window Image: http://cmforagile.blogspot.com/2013/07/what-happens-in-retrospective-stays-in.html
  19. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective: connection + • WebEx • Swapping presenters • Using local environments Δ • More, but shorter, mob sessions • Backlog for remaining work to focus mob sessions • Thanks, Arleena, for recording
  20. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective • Purpose: Optimize the Scrum Team • Diverge: collect wide range of ideas • Converge: bring the ideas together (affinity grouping, etc.) • Order: prioritize change items • Action plan: 1-3 improvements that you will make during the next sprint Image source: http://scrummethodology.com/the-scrummaster-role/
  21. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective • Steps 1. Set the Stage 2. Gather Data 3. Generate Insights 4. Decide What to Do 5. Close the Retrospective • See: Agile Retrospectives: Making Good Teams Great, by Esther Derby and Diana Larsen
  22. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective: Distributed team KISS. We’ll try Hackpad.
  23. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective: concrete practice • Hold a retrospective for your mob team • Time period: Sunday, Sep 13, through delivery of your HW2-3 • Hackpads • http://gr8p.pl/gildedmob • http://gr8p.pl/internationalmix • http://gr8p.pl/powermob-gilded • http://gr8p.pl/tonys-mob • 5-10 minutes, then share with whole group
  24. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective: concrete practice • Share your highlights of your retrospective • (This is a scaling pattern for collaborating teams.)
  25. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Sprint Retrospective: conclusion • Purpose: Optimize the Scrum Team • Safety, trust • Vary the activities • Keep it positive! • Act on it Image: http://weisbart.com/cookies
  26. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Homework 4 • Part A: due Sep 28 • Perfection Game feedback on tonight’s class: https:// www.surveymonkey.com/r/R5ZJ9Z5 • Create 1 homework question about Agile—any topic we’ve covered so far. Example: What is the purpose of Sprint Planning? • Add your question to this spreadsheet: http://gr8p.pl/asd-hw4 • Email your question and answer to [email protected] • Part B: due Oct 5 before class • Answer 30 crowd-sourced questions about Agile from this list: http://gr8p.pl/asd-hw4 • Suggested reading—see syllabus
  27. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Tonight’s class • Scrum • Definition of “Done”, Definition of Ready • Sprint Retrospective • Homework
  28. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Thank you! Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617 466 9754 [email protected] www.kasperowski.com gr8p.pl/corebook