1. Agile in DayTake a seat: • < 6 months agile experience on the left • >= 6 months agile experience on the right • Do not sit at a table with someone from your companyLook at the “What do you want to learn” questions posted on thewall: • Initial your top 5 questionsWrite down: • 3 things you have heard from other people on why agile wont work • 3 things that make it hard to adopt agile in your org • Discuss w/ your table SDEC – Oct 19, 2011
2. What you want to learn• How to get started. • Techniques to drive out the requirements from• A better understanding of the PM role in an users Agile project. • How to capture a user story that has lots of• Managing the life cycle with agile complex business rules methodologies. • How Agile methodology is going to help in• How to plan an Agile project (estimating project creating better and clear Requirements and Use milestones, duration, implementation date) Cases when it is done in pieces. • How to add value to business quickly?• Feeding the beast…how to get information up to • How to get a handle on unpredictable management (dashboards, progress, etc.)? requirements• What are some agile methods/practices that can • What to avoid, what to ensure that you do, how be introduced in a traditionally waterfall do you do it? How can you have the best organization for employee buy-in? chance for success?• How to sell clients on the idea of Short Planning • Applying Agile in a sustainment/support team Horizons? (in concert - versus contrasting - with ITIL)• How to get Management buy-in? • Applying Agile within a team that has many POs• How to improve team efficiency • Agile Estimating• Creating user stories. What level of detail? • How do I use Agile in a legacy environment• How to clearly identify customer needs where design is somewhat restrictive and• Turning stories into tasks limited capabilities of the system. • Testing in Agile (including Unit Tests) • How to best tie requirements to test plans/test cases
3. Learning Outcomes• Plan and execute an agile project.• Explain the benefits of agile.• List and teach someone else the major agile practices and their benefits.• Describe and list some agile anti-patterns.
8. Team Formation• Mix of new and experienced• Choose one customer (product owner) – Responsible for accepting the product• Choose one scrum master – Responsible for encouraging process, facilitating, removing obstacles. Employs a ‘take it to team’ attitude.
9. Your assignment• A web site for: – Manitoba Agile User Group • Membership • Events • Newsletters • Agile 101 concepts and information • Sponsor information • Board information • Agile FAQ• Pick a site name (5 minutes)
10. Core Planning/Discovery Concepts• Vision (Choose 1) • Planning (Optional) – Project Vision – Release Planning – Elevator Statement – Definition of Ready – Design The Box – Silent Grouping Technique• Scope (Mandatory) • Requirements II (Optional) – User Stories – Paper Prototyping – User Story Mapping – UX Design Studio – Planning Poker – User Interface Prototypes• Requirements I (Mandatory) – Inclusive Modelling – Personas – User Scenarios (Minimum 6 concepts)
11. Core Planning/Discovery Concepts• For each, answer these questions: – What is it? – Who does it? – Why do it? – How do you do it? – Map it to one agile or lean principle• 25 Minutes – Research in pairs – Each topic should be researched by > 1 pair
12. Time to Teach• For each concept, teach us: – What is it? – Who does it? – Why do it? – How do you do it? – Map it to one agile or lean principle• 4 Minutes per concept (strict time box)
13. Vision• Perform your chosen vision exercise for your project.• 10 minutes
14. Vision• Show and Tell• Discussion
15. User Story Map• Create Activities (walking skeleton) and Tasks (backbone)
16. Requirements Elicitation• Each pair create: – 1 Persona and it’s accompanying User Scenario • Keep technical detail out • Minimize the steps • Solve their problem completely • Remember the user’s GOAL (Why?) – (15 minutes)• Review with your team – (5 minutes)
17. Requirements Elicitation• Show and Tell• Discuss
18. Review• User Stories – As a [user] I want to [action] so that [goal] – Who/What/Why or Why/Who/What – Title; Sentence; Acceptance Tests – Try to keep solution-ing out of it• User Story Slicing – Keep them as stories• Iterative vs. Incremental – Build your map horizontally
19. Silent Brainstorming• Using silent brainstorming, generate a list of user stories.• Remember: – I : Independent – N : Negotiable (a single priority) – V : Valuable (to a user) – E : Estimable – S : Small – T : Testable
20. Finish Your Map• Based on your vision, personas, user scenarios, and user stories, put your stories on your map.
21. Prioritize your stories• Top to bottom – Create a lane in your map that is 2 stories high. – Taking turns, each person either: • Takes a story from the pile and puts in the map based on the priority they think is important • Re-prioritizes a story in the map – Until all stories are prioritized and the team is in agreement(5 minutes)
22. Estimating• Simplified Planning Poker (I don’t have enough cards for everyone)• Rules: – Read the story – Brief discussion (cap at 30 sec per story) – Estimate on 3 – Move into piles (1,2,3,4,5)(10 minutes)
23. Inclusive Modelling
24. What not to do• Large stories – Not splitting *• Incremental development• Estimate in hours• Estimate alone or w/o customers and team• System stories as part of your velocity & planning measurements• Cheat
25. WordPress sign-upEach individual• Wordpress.com - signup• Create site & follow promptsAs a group:• Pick one site• Owner of that site, go to Users and invite users as "Administrators"• Everyone go to yourgroupsite.wordpress.com and login• You should all be able to blog here now and make changes.
26. Core Delivery Concepts• Kanban• Specification by Example• Velocity• Stand-ups• Agile testing• Definition of Done
27. Core Planning Concepts• For each, answer these questions: – What is it? – Who does it? – Why do it? – How do you do it? – Map it to one agile or lean principle• 25 Minutes – Research in pairs – Each topic should be researched by > 1 pair
28. Time to Teach• For each concept, teach us: – What is it? – Who does it? – Why do it? – How do you do it? – Map it to one agile or lean principle• 4 Minutes per concept (strict time box)
29. VPM Setup• Setup your: – Kanban board (like in the example) – Burn Down Chart – Velocity Chart(10 Minutes)
30. Other Delivery Concepts• 3 Vital behaviours to successful projects – Frequent delivery – Customer Accessibility – Co-located team dedicated to one project• Minimizing WIP – emphasizing kanban principles• Continuous Integration & Deployment – Build, Test, Deploy continuously
31. Iteration 1 – 30 minutes• Is your site picked?• Planning – Define your definition of Done – Choose and discuss as a team your first 3 stories – If needed, create some quick diagrams – Don’t forget testing• Start – Keep your board up to date ALWAYS
32. Iteration 1 – Standup• Have your stand-up.• Stay within the rules• Limited/no discussion of issues.
33. End of Iteration 1• Demo• Update VPM boards: – Velocity – Burn Down/Up
34. Retrospective• Norm Kerth’s Prime Directive: – “Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.”• I know you were on project [X], how was that? – “It was great because…”• “Next iteration I would do this differently…” – Vote on these• Decide on an action for the top ‘one’ and commit to the change
35. What not to do• not done• testing phase• working too far ahead on requirements• incremental development• working with large stories• working on more than one project at a time
36. Conclusions• Review questions the group wanted to have answered. – Were your questions answered? – Any new questions?
37. Conclusions• I know you attended the #AgileInADay workshop, how was that? – “It was great because…”• “Next workshop I would like this to be done differently…”• “An insight I gained was…”