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

Harvard CSCI E-71 Agile Software Development Session 8 2015-11-16

Harvard CSCI E-71 Agile Software Development Session 8 2015-11-16

- Introducing Agile into your organization
- Agile at scale

Richard Kasperowski

November 16, 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 8 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 • Start up • Homework • Project part 1: Team formation and product launch (due Nov 2) • Introducing Agile into your organization • Agile at Scale • Homework • Project part 2: Sprint 1—deliver a real product increment (due tonight) • Project part 3: Sprint 2—deliver a real product increment (due Nov 30) • Wrap up
  3. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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
  4. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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
  5. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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
  6. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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?
  7. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Introducing Agile: Connection • Imagine that you are going to help a team or a company use Agile to improve their software delivery capability. • What are some things you would do to help them succeed? • Solo, 1-2 minutes • Then type your answer in the Chat window • Be prepared to share using mic & webcam Image: http://www.toptal.com/agile/ultimate-introduction-to-agile-project-management, 2015-11-06
  8. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Introducing Agile: Connection • Kamran Zameer: I will start with playing agile games to show how repetative short cycles can improve the performance • Jeffry Pincus: Ask who wants to try something different. • Arleena Faith: Show them successful products that have been built out there in the market using Agile Technologies. • Matt Kubej: Work to obtain some buy in from the organization by showing them the benefits on agile through small scale demos, such as the coin game done on our on- campus weekend • Greg Gerrein: two prong approach: first, i would throw some statistics about project success by using agile vs non-agile, and second, give them a walk through on some tools and workflows that makes the process fairly painless. • David Collins: I would tell them to take this class • Justin Sanford: acting as scrum master seems like the most obvious step, to enforce agile methodologies and help them get familiar with estimation, sprint planning, and elivering • Linghong Chen: suggest the team to try one sprint, see how is differnet from no agile development, • Cyril (Tony) Allen: Break the software teams up into groups of <9 people, make the components highly modular, devote significant time into test frameworks. • Frederick Jansen: Make sure teams are self-sufficient and fit the agile team size • Willard Williamson: Suggest hiring an agile coach. • Evan Borysko: This recently happened. Bring Agile to new team, don't assume the team values it or tracking in general. First thing to do to build that share value in the process and use it to drive team tenants. • Qanit Al-Syed: •I think its very important to coach management on Agile practices before introducing Agile. •Maybe have them live through a sprint. • sbelov: - Inspect their current product delivery process to see if they already are implementing agile methodology to some extent- Understand their stake holders, structure of teams, product lifecycle • Lori Higham: Use test-driven development, deliver software often. • PS (Nallasamy Ponnusamy): Start with inculcating the agile culture within the company
  9. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Introducing Agile: Content • Current state: What do we have? Capability assessment, whole-org retrospective, Open Space. • Goals: What do we want to achieve? • Change backlog: What actions will we take? What is the next step from what we have to what we want?
  10. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Current state: assessment model • Culture: Is your org’s culture biased toward positive action and results-oriented behavior? • Alignment with Agile Manifesto: Is your org aligned with the values and principles? • Process, e.g., Scrum: Is your org practicing Agile well? E.g., doing Scrum by the book? • Tech skills: Are your tech teams practicing the best tech skills? • Scale: Are you capable of doing this throughout your org?
  11. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Change backlog • Build it • Reflect the assessment findings back to the org • Crowd source via retrospectives, Perfection Game, Lean Coffee, Open Space, Speed Boat, etc. • Open Space Agility: http://openspaceagility.com/ • Order it via dot voting, 20/20 Vision, Buy a Feature
  12. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Change backlog example • Improve inter-team communication • Quality systems improvements • Get training • Connect projects to mission • Products & product ownership • Use a coach • Try Pair Programming • Try TDD • …
  13. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Executing the change backlog Scrum it! Create an Agile team that is responsible for introducing the changes you want.
  14. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Introducing Agile: Concrete practice • Consider your organization (real work team, school project team, etc.) • What would you do to spread Agile practices more widely? • Pairs, 5 minutes • Pair with each other at http://gr8p.pl/activity1234 • Be prepared to share using mic, webcam, and screen share
  15. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Introducing Agile: Conclusion • What do you have? —> What do you want? • Change backlog • Agility assessment • Agile Fluency Model • Scrum it!
  16. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Scaling: Connection • “Single-team Agile is easy.” • What do you think would work for multi-team Agile? What have you seen work? • Same pairs in Hackpad, 2 minutes • Be prepared to share using mic, webcam, and screen share
  17. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Image: http://guntherverheyen.com/2015/11/04/sprint-cadence-at-scale/, 2015-11-06
  18. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Image: http://guntherverheyen.com/2015/11/04/sprint-cadence-at-scale/, 2015-11-06
  19. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Scaling models • A simple Scrum scaling model • Documented on my blog at http://gr8p.pl/ scalingscrum • Nexus • Ken Schwaber: https://www.scrum.org/ Resources/The-Nexus-Guide • Scaled Agile Framework • Dean Leffingwell: http:// scaledagileframework.com/ • Disciplined Agile Delivery • Scott Ambler: http:// www.disciplinedagiledelivery.com/ • LESS • Craig Larman & Bas Vodde: http:// less.works/ • Spotify • Henrik Kniberg: http://blog.crisp.se/ 2012/11/14/henrikkniberg/scaling-agile- at-spotify
  20. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Simple Scaled Scrum: a model • 1 Product Backlog, 1 Product Owner • 1 Scrum Master • 2-4 Development Teams • 1 Architect
  21. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Simple Scaled Sprint Planning • Sprint Planning • Part 1—What: The whole group gathers in their shared work area. The PO re-acquaints the group with the contents of the Product Backlog. Each Development Team selects the subset of Product Backlog Items (PBIs) that they think they can get Done during the sprint. • Part 2—How: Each Development Team creates their individual Sprint Backlog. They carefully note dependencies and other collaboration needs with their cousin Dev Teams. • Part 3—Align: The whole group gathers again. Each Dev Team shares their Sprint Backlog with the group. Dev Teams share collaboration needs. They inspect and adapt, adjusting as needed. They agree on their Sprint Goal. • (Did you notice the Diverge-Converge pattern? You'll see it again in the Daily Scrum and Sprint Retrospective.)
  22. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Simple Scaled Daily Scrum • Daily Scrum: Each team holds its own Daily Scrum. Daily Scrums are staggered so the SM and PO can attend all of them. • Daily Scrum of Scrums: Representatives of each Dev Team meet to share their progress toward their individual and joint Sprint Goal. They inspect and adapt and adjust their plans. Image: http://www.slideshare.net/stephanj/advanced-scrum, 2015-11-06
  23. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Simple Scaled Sprint Review • Sprint Review • The group meets all together, along with stakeholders invited by the PO, for their Sprint Review.
  24. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Simple Scaled Sprint Retrospective • Sprint Retrospective • Part 1—Teams: Each team holds their own Sprint Retrospective. They create a concrete plan to improve their team during the next sprint. They also identify ideas for improving the whole group. This meeting lasts about one hour. • Part 2—Group: The whole group meets to inspect and adapt as a team-of-teams. They create a concrete plan to improve the whole group during the next sprint. Image: http://knowledge.unavsa.org/leadership/plusdelta-activity/, 2015-11-06
  25. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Simple Scaled Backlog Refinement • Product Backlog Refinement • Refinement with volunteer leaders: The PO and volunteer leaders from the group meet to refine the Product Backlog regularly, usually 1-2 times per sprint. The purpose of this meeting is to get the backlog more Ready for the whole group, so we don’t waste people’s time with PBIs that aren’t Ready enough for the group to estimate together. For great collaboration, the size of this volunteer group is around 8 people. (“More than eight, no collaborate.” -Luke Hohmann) This subgroup may provide *initial* estimates for backlog items, to help the PO with initial forecasting. These estimates are not final, though, because estimating is the Development Team’s responsibility. Consider not sharing these estimates with the members of the Dev Team to prevent anchoring. Consider using this Product Backlog Refinement Workshop. • Refinement with whole group: The whole group convenes to refine the Product Backlog. The purpose of this meeting is to get the Product Backlog ready, with 1-2 sprints worth of PBIs totally Ready, and up to 6 months of backlog estimated—with the whole Development Team estimating backlog items together.
  26. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Simple Scaled Impediment Removal • Scrum Master helps team identify impediments. Team tracks impediments on big visible impediment removal board. Has 48 hours to remove impediment. • Not removed in 48 hours? Impediment gets promoted to team’s manager’s big visible impediment removal board. Manager has 48 hours to remove impediment. • … then director’s impediment removal board … • … then VP / head of business unit …
  27. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Scaling to 500 people • Each group is around 40 people. The pattern scales horizontally, up to 10 Product Backlogs and 40 Scrum Teams. For every five POs, there is a PO Manager. When there are two PO Managers, there is a PO Director above them. • Scrum Masters form a community of practice, perhaps with a manager handling there career development and HR needs. Programmers, testers, and other specialists do the same. • All together there are around 500 people in the business unit, including managers and support staff.
  28. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Scaling: Concrete practice • Could you implement a scaling model like this in your organization? • What would you do first? • Same pairs in Hackpad, 2 minutes • Be prepared to share using mic, webcam, and screen share
  29. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Scaling: Conclusion • “Single-team Agile is easy.” • Multi-team Agile is harder. • Models for scaling Agile to multiple teams, across an entire organization • Scaled impediment removal is crucial! Image: http://www.123rf.com/photo_14119912_tree-nursery-with-many-young-buxus-plants-in-rows.html, 2015-11-06
  30. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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
  31. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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
  32. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Homework: Project part 2 • What’s due (in class on Nov 16) • 4-minute team presentation (like a Sprint Review) • What did you get done? Show us a brief demo. • What feedback did you get from your stakeholders? How did it change your product backlog? • What do you plan to deliver in the next two sprints?
  33. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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
  34. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Homework: Project part 3 • Sprint 2—Deliver a real product increment (due Nov 30) Image: http://www.romanpichler.com/blog/the-definition-of-ready/, 2015-11-01
  35. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Project part 3 • What’s due (before class on Nov 30) • Add documentation to your GitHub repo: • URL of your second working product increment (could be the actual product or a video of your working product increment) • Code • Committed in Github • Written using pairing/mobbing and TDD, with at least 10 tests, and all tests are green • Adequate code coverage, with evidence of the code coverage • An automated build system modeled on Continuous Delivery. At least: when you commit to master, all tests run and all tests are green.
  36. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Homework: Project part 3 • What’s due (in class on Nov 30) • 5-minute team presentation (like a Sprint Review) • What did you get done? Show us a brief demo. • What feedback did you get from your stakeholders? How did it change your product backlog? • What do you plan to deliver in the next sprint?
  37. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] 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
  38. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Tonight’s class • Start up • Homework • Project part 1: Team formation and product launch (due Nov 2) • Introducing Agile into your organization • Agile at Scale • Homework • Project part 2: Sprint 1—deliver a real product increment (due tonight) • Project part 3: Sprint 2—deliver a real product increment (due Nov 30) • Wrap up
  39. cba2015 Richard Kasperowski @rkasper skype:rkasperowski Google Hangout: kasperowski +1 617

    466 9754 [email protected] Michael Sahota Guest lecturer on Nov. 30 Agile Games and Agile Transformation Catalyst & Certified Scrum Coach Author: An Agile Adoption and Transformation Survival Guide
  40. 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