Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile for Everyone

47 views

Published on

In this slide deck I collected basic things you better to know about Agile and its most popular frameworks:

- Where did Agile come from?
- What is usually implied when people say "we're implementing Agile"?
- When Agile works well?
- Scrum and its basic characteristics
- Typical confusions
- Agile at scale of whole enterprise
- Typical pitfalls and mistakes

Published in: Software
  • Be the first to comment

Agile for Everyone

  1. 1. Agile for Everyone Why? What? How?
  2. 2. Waterfall • Beautiful • Predictable "Agile for Everyone" by Alexander Postnikov 6
  3. 3. Facts noticed • Customers changes their mind quite often (requirements are subject to change) • Customers don’t really know what they want “…but we have documents signed!”
  4. 4. Dealing with new requirements… "Agile for Everyone" by Alexander Postnikov 8
  5. 5. But you have to… "Agile for Everyone" by Alexander Postnikov 9
  6. 6. Hard re-planning in Excel / Project / Power Point "Agile for Everyone" by Alexander Postnikov 10
  7. 7. And after weeks of new plan negotiation… You are out of initial budget You are out of initial schedule
  8. 8. How can we resolve it? Introduce complex clear Change Management process! • CAB, Pre-CAB, etc. • Tens of approvals including VPs So we build seven circles of hell for customer if they want to commit new requirements
  9. 9. It takes a lot of time to implement even vital changes "Agile for Everyone" by Alexander Postnikov 13 We are not able to adjust the course quickly enough
  10. 10. As a result... This slowness produces quite typical issues "Agile for Everyone" by Alexander Postnikov 14
  11. 11. Solution "Agile for Everyone" by Alexander Postnikov 15
  12. 12. Team "Agile for Everyone" by Alexander Postnikov 16
  13. 13. End-User "Agile for Everyone" by Alexander Postnikov 17
  14. 14. Manager / Lead "Agile for Everyone" by Alexander Postnikov 18
  15. 15. "Agile for Everyone" by Alexander Postnikov 19 Analysis Design Build UAT Go Live
  16. 16. Industry started to think about it in 1990s More than 20 years ago! "Agile for Everyone" by Alexander Postnikov 20
  17. 17. Early Scrum • Scrum • 1986, Hirotaka Takeuchi and Ikujiro Nonaka: “New New Product Development Game“ • 1995, Ken Schwaber and Jeff Sutherland: “Object-Oriented Programming, Systems, Languages & Applications '95 (OOPSLA ‘95)” • Keywords: rugby, iterative, incremental, continuous, cross-functional team, self- organization, co-located, collaboration, face-to-face communication, increase speed and flexibility "Agile for Everyone" by Alexander Postnikov 21
  18. 18. Wikipedia: “A key principle of Scrum is the dual recognition that customers will change their minds about what they want or need (often called requirements volatility) and that there will be unpredictable challenges — for which a predictive or planned approach is not suited. As such, Scrum adopts an evidence-based empirical approach — accepting that the problem cannot be fully understood or defined up front, and instead focusing on how to maximize the team's ability to deliver quickly, to respond to emerging requirements, and to adapt to evolving technologies and changes in market conditions.” "Agile for Everyone" by Alexander Postnikov 22
  19. 19. XP • Extreme Programming • 1999, Kent Beck “Extreme Programming Explained” • XP practices: • Fine scale feedback • Pair programming • Planning game • Test driven development • Whole team • Continuous process • Continuous integration • Refactoring / Design improvement • Small releases • Shared understanding • Coding standard • Collective code ownership • Simple design • System metaphor • Programmer welfare • Sustainable pace – 40-hour week "Agile for Everyone" by Alexander Postnikov 23
  20. 20. Snowbird, Utah 24 Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
  21. 21. Agile Manifesto (2001) Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. "Agile for Everyone" by Alexander Postnikov 25
  22. 22. Principles behind the Agile Manifesto 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity – the art of maximizing the amount of work not done – is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. "Agile for Everyone" by Alexander Postnikov 27
  23. 23. </agile> "Agile for Everyone" by Alexander Postnikov 29
  24. 24. Mindset change • Focus on People & Teams • Openness & Transparency • Trust & Safety • MVP & Early Feedback • Continuous Delivery & Improvement "Agile for Everyone" by Alexander Postnikov 30 Mindset Values Objectives Strategy How? Methods, tools and etc.
  25. 25. "Agile for Everyone" by Alexander Postnikov 31 “You must unlearn what you have learned”
  26. 26. So how to implement Agile? if you share Agile ideas "Agile for Everyone" by Alexander Postnikov 32
  27. 27. "Agile for Everyone" by Alexander Postnikov 33 Agile Scrum
  28. 28. Scrum team is small 7±2 team members "Agile for Everyone" by Alexander Postnikov 34
  29. 29. Scrum team is cross-functional "Agile for Everyone" by Alexander Postnikov 35 BA DEV QA and focused on certain product
  30. 30. What instead? "Agile for Everyone" by Alexander Postnikov 36 - model example
  31. 31. Scrum team is very disciplined • Standard events (ceremonies) • Daily stand-up • Backlog grooming/refinement • Sprint planning • Estimation • Capacity • Velocity • Demo • Retrospective • Standard artefacts • Epic (Story) • User Story • Spike • Acceptance criteria • Sprint • Goal • DoD "Agile for Everyone" by Alexander Postnikov 37
  32. 32. Scrum team is self-improving "Agile for Everyone" by Alexander Postnikov 38
  33. 33. Scrum team is self-organizing • Defined roles • Product Owner • Decide product’s destiny • Responsible for priorities • Scrum Master • Responsible for processes • Helps to find agreements • Facilitator • Rest – Team Where is a Manager here?! "Agile for Everyone" by Alexander Postnikov 39
  34. 34. …there is no Manager "Agile for Everyone" by Alexander Postnikov 40
  35. 35. Really good Agile Manager is invisible "Agile for Everyone" by Alexander Postnikov 43 but appearing exactly when it’s is necessary
  36. 36. Agile Manager’s qualities • Ready to share responsibility and decisioning power …however doesn’t delegate responsibilities when team is not ready • Doesn't get in the way …however aims to help when it’s really required • Works through advice process …however is able to convince legally with no power "Agile for Everyone" by Alexander Postnikov 44
  37. 37. Coolness of Agile Team is determined by level of problems/challenges which the team can resolve independently (and coolness of their Agile Manager accordingly) "Agile for Everyone" by Alexander Postnikov 45
  38. 38. "Agile for Everyone" by Alexander Postnikov 46 Agile doesn’t work Honest Agile doesn’t exist in nature It is about rainbows and unicorns Business doesn’t run this way It is for hipsters with smoothies Resistance to change Negative experience
  39. 39. Do you really need Agile? "Agile for Everyone" by Alexander Postnikov 47
  40. 40. Agile works good when • Requirements are not clear or are subject to change often • You and customer do it in the first time – so future is not very predictable (no previous experience before) • Business is interested to get their value as soon as possible • Business have to respond on market situation very quickly and that requires quick development or configuration • New product component is in active phase of development "Agile for Everyone" by Alexander Postnikov 48
  41. 41. When waterfall is better? • Requirements are not changing much • We already did it before • There is no much value for business in incremental delivery "Agile for Everyone" by Alexander Postnikov 49
  42. 42. Necessary conditions for Agile for projects  No certain expectations about scope & timelines  Documentation is not formal deliverable by contract  Customer is ready (and really able) for full involvement on all levels  Infrastructure for effective communications exists  Financial model is Time & Material*  Agile expertise among team members / dedicated Agile coach(es)  Certified Scrum Master and Product Owner exist  Higher management on both sides are educated about Agile and support it  Readiness to be fully transparent for Customer (incl. Product development) ___ * options with short phases can be considered as well (e.g. every 4 sprints) "Agile for Everyone" by Alexander Postnikov 50
  43. 43. Typical myths about Agile "Agile for Everyone" by Alexander Postnikov 52
  44. 44. “Agile is for small projects only” “… and for web-sites plus start-ups maybe” Scaling Agile on level of whole Enterprise • Scrum of Scrums • Spotify Model • Large Scale Scrum framework (LeSS) • Scaled Agile Framework (SAFe) • Nexus • Disciplined Agile Delivery (DAD) • … "Agile for Everyone" by Alexander Postnikov 53
  45. 45. LeSS – Huge "Agile for Everyone" by Alexander Postnikov 54
  46. 46. "Agile for Everyone" by Alexander Postnikov 55
  47. 47. "Agile for Everyone" by Alexander Postnikov 56
  48. 48. “Agile is anarchy and chaos” • “Individuals and interactions over processes and tools” • Clear Agile ceremonies require to be teams very disciplined • Separate role – Scrum Master – exist to ensure that team follows everything right • Product Owner defines priorities "Agile for Everyone" by Alexander Postnikov 57
  49. 49. “Agile doesn’t have documentation” • Agile Manifesto: “Working software over comprehensive documentation” • SAFe: Solution Intent "Agile for Everyone" by Alexander Postnikov 58
  50. 50. Typical confusions about Agile "Agile for Everyone" by Alexander Postnikov 59
  51. 51. Agile = Scrum • KanBan • Discovery KanBan • Delivery KanBan • DevOps • Continuous Integration • Continuous Delivery • Continuous Deployment • Lean Software Development • Business Agility • … "Agile for Everyone" by Alexander Postnikov 60
  52. 52. Story Points vs. Man Days • Story Points are relative value of User Story complexity • Story Points are independent of the skill or experience of team member • Story Points provide psychological safety for team members (not a KPI) • Increase of team’s velocity* doesn’t require re-estimation in Story Points ___ * velocity is one of basic indicators for Agile team "Agile for Everyone" by Alexander Postnikov 61
  53. 53. Incremental vs. Iterative "Agile for Everyone" by Alexander Postnikov 62
  54. 54. Co-located vs. Distributed If your scrum team is distributed • Take care of as frequent as possible face-to-face meetings • Avatars is a must • Skype with video • Video-conference during common events • Local groups should gather together • Duplication of virtual boards with real ones (per location) "Agile for Everyone" by Alexander Postnikov 63
  55. 55. Other confusions • Scrum board: Real vs. Virtual • Real scrum boards is must by location • Team members: Leads vs. Seniors • Agile doesn’t have formal Leads • Direct task assignment is not supported • At the same time everybody can lead by their own initiative • KPIs vs. Physical Presence • Definition and usage of Epic (Story) "Agile for Everyone" by Alexander Postnikov 64
  56. 56. F.A.Q. about Agile "Agile for Everyone" by Alexander Postnikov 65
  57. 57. How to sell? "Agile for Everyone" by Alexander Postnikov 66
  58. 58. How to plan? https://jpattonassociates.com/user-story-mapping/ "Agile for Everyone" by Alexander Postnikov 68
  59. 59. How to be on time within 2 weeks? • Maximize automation of everything • Auto-testing (70% of coverage and more) • Continuous Integration • Continuous Delivery • Continuous Deployment "Agile for Everyone" by Alexander Postnikov 69
  60. 60. Typical pitfalls / mistakes When you are in Agile "Agile for Everyone" by Alexander Postnikov 70
  61. 61. No continuous education • Some managers expected self-organization here • Core team is not enough, stakeholders and other counterparties outside should be aware as well "Agile for Everyone" by Alexander Postnikov 71
  62. 62. Skipping some rules and ceremonies • No daily stand-up meetings • Faster estimations by senior guys • No retro or demo after this particular sprint • We don't need sprint goals • We don't need acceptance criteria • etc. …or not allocating time for them (however it takes up to 40% of overall team's efforts) "Agile for Everyone" by Alexander Postnikov 72 …"cuz' we don't need them“
  63. 63. Cargo cult "Agile for Everyone" by Alexander Postnikov 73
  64. 64. Customer is not really involved • Responsibilities are not clearly defined • Customer’s stakeholders are not available "Agile for Everyone" by Alexander Postnikov 74
  65. 65. PO is not from customer "Agile for Everyone" by Alexander Postnikov 75
  66. 66. No real support from higher management "Agile for Everyone" by Alexander Postnikov 76
  67. 67. Decisions are made by someone instead of Agile team "Agile for Everyone" by Alexander Postnikov 77
  68. 68. Documentation is limited by User Stories "Agile for Everyone" by Alexander Postnikov 78
  69. 69. Fear of failure (no safety guarantee) "Agile for Everyone" by Alexander Postnikov 80 “Failure is success in progress”
  70. 70. Too high expectations at start • Agile team have to catch their pace to reach their top of efficiency and productivity • 4-6 months to reach the pace "Agile for Everyone" by Alexander Postnikov 81
  71. 71. Individual heroics to save the Sprint “Temporary heroics, while noble, can incorrectly add to future expectations. This faux- velocity turns into unrealistic demands in the future.” "Agile for Everyone" by Alexander Postnikov 82
  72. 72. External (white) and Internal (black) “accounting” "Agile for Everyone" by Alexander Postnikov 83
  73. 73. No space for discovery and improvement • Spikes • Refactoring • Technical debt • Architectural runway (SAFe) "Agile for Everyone" by Alexander Postnikov 84
  74. 74. Deliver to “internal production server” "Agile for Everyone" by Alexander Postnikov 85 • Lack of real responsibility • Lack of real feedback => Team grows up slowly
  75. 75. The end of the first (main) part "Agile for Everyone" by Alexander Postnikov 86
  76. 76. Thank you! Skype: a.s.postnikov Facebook.com/a.s.postnikov LinkedIn.com/in/aspostnikov "Agile for Everyone" by Alexander Postnikov 87

×