Harvard CSCI E-71 Agile Software Development Session 6 2015-10-19

Harvard CSCI E-71 Agile Software Development Session 6 2015-10-19

Team formation and product launch
- Team, vision, stakeholders, user personas, product backlog from initial creation to ready for first sprint
Agile project management
- Backlog refinement workshop, long range planning, user story mapping, progress tracking, replanning
Project overview and part 1 assignment

A66e8d6702fa27e8b8c1587dbe0ff07e?s=128

Richard Kasperowski

October 19, 2015
Tweet

Transcript

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

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

    466 9754 r@kasperowski.com Tonight’s class • Start up • Team formation and product launch • Agile Project Management • Homework • Project overview • Project part 1: team and product launch • Wrap up
  3. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617

    466 9754 r@kasperowski.com Start up
  4. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Are you here tonight? • Type something in the Chat window so I know you’re here. • This is one way for me to gauge your attendance and recognize your class participation. Image: http://blog.pluralsight.com/pluralsight-top-10-building-a-great-software-development-team
  5. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch
  6. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Connection • Think about the best team or project you ever worked on. • What were some of the things you did at the beginning of the project that led to success? • Solo, 1-2 minutes • Then type your answer in the Chat window • Be prepared to share using mic & webcam Image: http://www.pddnet.com/news/2015/05/photos-day-nasa-flies-4-spacecraft-tight-formation, 2015-10-18
  7. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Connection Responses: • Kamran Zameer: -disucssion about overall project with team- daily short status meetings with project team • PS (Nallasamy Ponnusamy): Made the team aware of..The purpose of the project, scope and roles and responsibilities along with mile stones and timeline • David Collins: story workshop session (limit scope though) • Cyril Allen: — Established clear roles/responsibilities for members.— Deadlines for specific tasks. • Qanit Al-Syed: - Team building.Determined and outlined roles and responsibilities. • Matt Kubej: Defined roles, defined norms, common understanding of project, professional and self motivated teammates • Yash Patel: One of the most successful projects that I have worked on involved planning and distributing tasks at the beginning and throughout the project and having members meet deadlines or voice concerns early. • Mark Warren: established clear requirements with stakeholders • Tomasz Skiba: Form a team of people with different experiences and talents • Phillip Heller: Current Team - empowered to innovate and define the projects ourselves. Little managerial oversight. • Frederick Jansen: Team: open discussion about everything that made sense/didn't make sense in project requirements • Lori Higham: Best team: a quick java project to for a client. What made the team good was initial planning and willingness to set requirements for meetings. • Arleena: I did a lot of research about the project, I got to know my team and clarified everything I did not understand from the beginning • RichB: Before Project we had a Map Day (2-3 days in a war room) were we map out the schedule/ dependencies/risk/resources • Cornell Wright: Talk about the daily goals with a focus on collaboration • Greg Gerrein: rather than working on what the exact technical architecture was going to be, spent a lot of time listening to business requirements.
  8. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Team formation • Smallish teams • “More than 8, no collaborate” -Luke Hohmann • Scrum Team maximum size • Scrum team roles • 1 PO, 1 SM, 3-9 Dev Team members • Shared vision • Consider Core Protocols, including Check In, Personal Alignment, Investigate
  9. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Product Vision • What are you building? • Who are you building it for? • Why does the world need it? • Far vision • Think big, think long term • How will the world be different when you’re done? • Examples • A man on the moon • A great shave for $1 a month • All the world’s information, universally accessible and useful • Find and discover anything anyone wants to buy • Near vision: For the next version of your product • Inspiration: Jim & Michele McCarthy, BootCamp Manual v2.41
  10. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Identify stakeholders • Who are you building this for? • Be specific • Consider: user personas • Example: • Molly is a Spanish instructor at a large university. She is building a MOOC for high school students preparing for the Spanish AP exam.
  11. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Initial Product Backlog • PBIs to deliver your product vision • Don’t worry about ordering them • User Stories with good acceptance criteria • Product Owner leads, all participate
  12. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Concrete Practice • Given this persona • Molly is a Spanish instructor at a large university. She is building a MOOC for high school students preparing for the Spanish AP exam. • And this far vision • Everyone in the world connected through shared language • And this product vision • High pedagogy participatory learning environment for 1000s of simultaneous learners —the next step beyond Adobe Connect, EdX, etc. • Create as many product backlog items as you can • Short titles are fine (for this in-class activity; quantity) • Do not order them—we’ll do that later. • Be prepared to share your product backlog items • Pairs, 5 minutes • Sign up for your group at http://gr8p.pl/ activity123
  13. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch Order your product backlog • Order PBIs to maximize value delivered to stakeholders • If you could deliver only one PBI, which one? • If you could delivery only one more, which one? Image: http://www.informit.com/articles/article.aspx?p=1928232&seqNum=3, 2015-10-18
  14. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Estimate PBIs • Whole team relative size estimating* • Try Planning Poker or White Elephant Estimating • 3Cs, INVEST, etc.: • Refine stories as needed if you discover they aren’t small enough, aren’t clear enough, don’t have good enough acceptance criteria, … *“Whole team relative size estimating” inspired by Damon Poole Image: https://www.rallydev.com/blog/agile/scaling-agile-strategic-level-now-open, 2015-10-04
  15. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Concrete Practice • Given your product backlog from previous activity • Order your backlog items • Pro tip: • If you could deliver only one PBI, which one? • If you could deliver only one more, which one? • Be prepared to share your ordering and your rationale for the ordering. • Same pairs, same backlog, 5 minutes • Groups are defined at http:// gr8p.pl/activity123
  16. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Team Formation and Product Launch: Conclusion • People: team size, roles, shared vision • Product vision • Stakeholders • Product Backlog Image: http://smile.amazon.com/Liftoff-Launching-Agile-Projects-Teams-ebook/dp/B007SZNL4W, 2015-10-18
  17. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Ideas for collaborative product backlog ordering • Dot voting • 20-20 Vision
  18. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management
  19. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Connection • What are the best project planning and tracking techniques you have used? • Same pairs in Hackpad, 2 minutes • Then type your answer in the Chat window • Be prepared to share using mic & webcam Image: http://commit2excel.co.za/, 2015-10-18
  20. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Connection Responses:
  21. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Backlog refinement workshop • Goals • Get the Product Backlog Ready for the next Sprint Planning meeting • Get 6 months of Product Backlog Items estimated so the Product Owner (PO) can forecast well • Who: whole Scrum team • The whole Scrum team is invited. The Product Owner is present—he is responsible for the Product Backlog, and he wants the backlog to be great. The Scrum Master is present—he is a good facilitator and can help the team succeed. The Development Team members are present—they are responsible for estimating the size of the Product Backlog Items (PBIs), and they want to be familiar with the PBIs before Sprint Planning.
  22. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Backlog refinement workshop • When & where • Same time and place, every week: so everyone knows and everyone can participate • 2-hour time box • Preferred place is the team’s everyday workspace. • Artifacts • Input: The input to the workshop is the Product Backlog in its current state. • Output: The output is a Product Backlog that is more Ready
  23. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Backlog refinement workshop • Steps • In 30-minute cycles, • The PO presents the next PBIs that aren’t Ready to the team. (up to 5 minutes) • The Development Team decomposes into sub- teams of 3-4 people. • Each sub-team selects one of the next PBIs and gets it Ready. (15-20 minutes) • Use User Stories, 3 Cs, INVEST, your Definition of Ready, etc., to guide you. • If Readiness is blocked by an impediment outside the Scrum team, the sub-team makes a concrete plan for what they will do to get the PBI Ready before the next Sprint Planning or Backlog Refinement meeting. • Merge back into whole group, the full Scrum team. • Sub-teams present their work to the whole group. (5-10 minutes) • Take a break (5 minutes) • Repeat • Celebrate! • This workshop is inspired by “Try… Requirements workshops for Product Backlog refinement" in Practices for Scaling Lean & Agile Development, Craig Larman and Bas Vodde, 2010. Thank you, Craig and Bas!
  24. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Long range planning • Estimated backlog / velocity => sprintly forecasts • How far are you going? • What is your average speed? • Easy! • Accurate for high maturity teams
  25. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Long range planning • Whole team long range forecasting workshop • Goal: Create and agree on a 3- month (or 6-month) delivery forecast
  26. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Long range planning • Whole team long range forecasting workshop • Steps • Backlog estimated • Create a column on the wall. Label it, “Product Backlog”. • Lay out 3-4 months of PBIs as post-its on wall • Ensure all PBIs on wall are estimated • Product Owner outlines sprint-by-sprint wish list • Create 6 columns across the wall. Label the columns with the next 6 sprint end dates. • PO adds a theme to each sprint • Quick reality check of wish list • Do the themes make sense to the Development Team? Does it look doable? • Development Team and Product Owner collaborate to lay out PBIs and other work over the next 6 sprints • Pull PBIs from the product backlog into the next sprint that they fit into. Use the PO’s goals to guide you. • What is your last 10 sprints average velocity? What is your forecast for your next 10 sprints average velocity? (Pro tip: Use your previous 10 sprints average velocity as your next 10 sprints average velocity.) Rearrange the PBIs and sprints until each sprint has the right projected amount of work. • Continue adjusting PBIs and sprints until everyone agrees that it’s a credible forecast. (Pro Tip: Use Decider Protocol to come to agreement.) • Celebrate!
  27. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Long range planning • User story mapping • Build a “backbone” of user activities • Add a “walking skeleton” of user tasks to the backbone • Add flesh to the walking skeleton: user stories to be implemented in each release • See Jeff Patton’s User Story Mapping Image: http://winnipegagilist.blogspot.com/2012/03/how-to-create-user-story-map.html, 2015-10-18
  28. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Progress tracking • Project burn-up chart Image: http://www.clariostechnology.com/productivity/blog/whatisaburnupchart, 2015-10-18
  29. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Replanning • Every sprint, based on latest observations • Rolling 6-month forecast
  30. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Concrete Practice • Given the product backlog you’ve been developing • Invent estimates (in story points) for each PBI • Invent a velocity (story points per sprint) • Forecast your sprint-by-sprint product increments • Be prepared to share your product backlog items • Same pairs, 5 minutes
  31. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Agile Project Management: Conclusion • Whole-team activities • Inspect and adapt • Backlog refinement workshop • KISS: estimated backlog + velocity => forecast • Forecasting workshop • User story mapping • Project burn-up chart • Replan at the end of every sprint Image: http://cmforagile.blogspot.com/2014/06/robust-agile-requirements-its-about.html, 2015-10-04
  32. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617

    466 9754 r@kasperowski.com Homework assignment
  33. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Homework: project overview • Project assignment: • Design, implement, and deliver a real software product • with a real Scrum team • for a real stakeholder Image: http://www.mobileqazone.com/profiles/blogs/post-release-software-product-support-and-regression-testing, 2015-10-18
  34. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Homework: project overview • Part 1: Team formation and product launch (due Nov 2) • Part 2: Sprint 1—deliver a real product increment (due Nov 16) • Part 3: Sprint 2—deliver another real product increment (due Nov 30) • Part 4: Sprint 3—deliver the final product increment (due Dec 14) Image: http://www.livescience.com/51000-cucumber-nutrition.html, 2015-10-05
  35. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Homework: project overview • Can be a new product or modify an existing product • Must be open source: we are contributing to the world • Try something important that the world really needs. Consider sources like http:// hackingmedicine.mit.edu/ for inspiration. • Examples • Easy interactive virtual classroom, inspired by or improving Unhangout https:// unhangout.media.mit.edu/# • Emotional state tracker, correlated to FitBit-tracked data • A web browser or iPhone extension for two- language spell correct • Scratch improvements https://scratch.mit.edu/ Image: http://www.icinema.unsw.edu.au/projects/there-is-still-time-brother/project-overview/, 2015-10-18
  36. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Homework: Project part 1 • Team formation and product launch • Team formation • Product vision • Stakeholders • Create initial Product Backlog • Create initial PBIs • Order your Product Backlog • Estimate PBIs
  37. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Homework: Project part 1 • What’s due (before class on Nov. 2) • Team name, roster of team members including their Scrum role • Product vision • Descriptions of at least 3 stakeholders • Product Backlog, ready for Sprint Planning • Definition of Done • Good user stories with good acceptance criteria, ordered by value, estimated, for at least 5 sprints worth of deliverables Image: http://www.local10.com/sports/us-soccer-team-selects-preliminary-world-cup-roster/25938094, 2015-10-18
  38. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Homework: Project part 1 • What’s due (before class on Nov. 2, continued) • Create a Slack channel for your team • Create a github directory for your product (new or clone) • In github, add documentation (or a links to documentation): • Team name, roster, and roles • Product name and vision • Stakeholders • Product Backlog
  39. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Homework: Project part 1 • What’s due (during class on Nov. 2) • 5-minute team presentation • Who are you? What are you building? Who are you building it for? What are your top PBIs?
  40. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617

    466 9754 r@kasperowski.com Wrap up
  41. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Were you here tonight? • Type something in the Chat window so I know you’re here. • This is one way for me to gauge your attendance and recognize your class participation. Image: http://blog.pluralsight.com/pluralsight-top-10-building-a-great-software-development-team
  42. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Tonight’s class • Start up • Team formation and product launch • Agile Project Management • Homework • Project overview • Project part 1: team and product launch • Wrap up
  43. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 r@kasperowski.com Jez Humble Guest lecturer on Nov. 2 Continuous Integration and Continuous Delivery Author: Lean Enterprise and Continuous Delivery
  44. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangouts: kasperowski +1 617

    466 9754 r@kasperowski.com Questions or comments?
  45. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

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