You think you know agile


Published on

Combined slide decks from the presentation at 2011

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Scrum – Hirotaka Takeuchi and IkujiroNonakaDSDM – Dynamic Systems Development MethodMoSCoW requirement prioritisation – Must have, Should have, Could have, Won’t haveFully compatible with ISO 9000 & PRINCE2
  • Servant Leadership - Robert K. Greenleaf 1970
  • In scrum although backlog grooming is not an official meeting most teams work with thee ScrumMaster & Product owner to ensure the stories are ready to be worked on
  • Values:Simplicity, Communication, Feedback, Respect, CouragePrinciples: Humanity, Economics, Mutual Benefit, Self-Similarity, Improvement, Diversity, Reflection, Flow, Opportunity Redundancy, Failure, Quality, Baby steps, Accepted responsibilityPractices: Primary - Sit together, Whole Team, Informative Worksapce, Energized Work, Pair Programming, Stories, Weekly cycle, Quarterly Cycle, Slack, Ten Minute Build, Continuous Integration, Test First Programming, Incremental DesignCorollary - Real Customer Involvement, Increment Deployment, Team Continuity, Shrinking Teams, Root Cause Analysis, Shared Code, Code And Tests, Single Code base, Daily Deployment, Negotiated Scope Contract, Pay Per Use
  • Flow – important to ensure that the work flows through the systemCadence – the time it takes to performPolicies – govern behaviour, how the system works. Limit WIP best example of a policyClasses of Service – typically based on business impact, implemented through policies, will effect work done by the team
  • Partially Done Work – work not completedExtra Processes – needless paperworkExtra Features – adding features in ‘just in case’ which aren’t really neededTask Switching – switching between different projectsWaiting – delays in staffing, delays in starting, delays due to excessive documentationMotion – how much motion to answer a question? Linked to Task Switching & WaitingDefects – the longer it takes to discover a bug the more it costsManagement Activities – project management activities, authorization processes for approval of requirement changes, etc
  • Perceived Integrity – how a customer perceives the system. A good example is GoogleConceptual Integrity – the same concept, from a users perspective, is executed consistently e.g. Airline bookingRefactoring – process can’t be perfect 1st time. Refactor to improve as knowledge improvesTesting – Unit tests, integration tests, load tests, etc
  • Identifies that knowledge of what we are doing is important and that we need to actively look to create this knowledge to help the teamFeedback – feedback loops help create knowledge e.g. Unit testingSharing knowledge – pair programming, code reviewsRecording knowledge – wiki, code comments, documentation
  • Concurrent development – develop separate streams until you have to decideOptions thinking – Responding to change rather than following a plan, don’t freeze “requirements”Last responsible moment – don’t make a decision over what to do until the last momentMaking decisions – actually make a decision over what option to take, don’t allow concurrent streams forever
  • Pull Systems – customers prioritise what they want so they get most important thing firstQueuing theory – ensure steady rate of arrival, include slack, Theory of constraintsCost of Delay – cost of developer not having tools to speed dev, cost of not getting to market
  • Engage, collaboration, trust and respect the people doing the work. E.g. Managers that do not know how the work is done shouldn’t try to tell people how they should do their workLean is not about controlling people, it is about engaged motivated people helping a business grow
  • Systems thinking – look at entire systemMeasure value – focus on how the business delivers value, use Value Stream Mapping to helpThink long term – don’t focus on the now (although important) look at where you the business is going/needs to be
  • Utilise WIP limits to highlight impediments/bottlenecksStill use iterations to provide “container” for deployable softwareStill generalist skillset i.e. Anybody can pick up any task
  • Recommended booksPoppendicks : Lean Software Development – An agile toolkit, Implementing Lean Software Development. David Anderson : Kanban – Sucessfulevolutionary change for your Technology business
  • Running Lean ( – great free book on lean startup“Offical” book from Eric Ries coming out soon.
  • Not comparing like for like.Be sure to differentiate Business Methodology with a workflow methodology AAARS =Acquisition – user comes to site from various channelsActivation – users enjoy 1st visitRetention – users come backReferral – users like you enough to refer othersRevenue – users conduct some monetized behaviour
  • Jeff Sutherland
  • You think you know agile

    1. 1. You think you know agile?<br />The where, what and how of agile<br /><br />Design Code Release<br />nathangloyn<br />@NathanGloyn<br />
    2. 2. Agenda<br />You Decide!<br />
    3. 3. ROOTS...<br />
    4. 4. Roots...<br />When agile was born…<br />Heavy weight project management processes<br />Misunderstood requirements<br />Missed deadlines or death march projects<br />Inability to change requirements<br />Applications with lots of defects<br />Increases the cost<br />
    5. 5. Roots...<br />Scrum – first described<br />1986<br />DSDM, Adaptive Software Development<br />Scrum<br />1995<br />1996<br />Extreme Programming (XP), Crystal Clear<br />1997<br />Feature Driven Development<br />2001<br />Agile Manifesto<br />2004<br />Kanban<br />?<br />?<br />
    6. 6. Roots...<br />Agile Manifesto<br />Individuals and interactions over processes and tools <br />Working software over comprehensive documentation <br />Customer collaboration over contract negotiation <br />Responding to change over following a plan<br />That is, while there is value in the items on the right, we value the items on the left more.<br />
    7. 7. Roots...<br />Agile Manifesto – 12 Principles<br />Customer satisfaction by rapid delivery of useful software<br />Welcome changing requirements, even late in development<br />Working software is delivered frequently (weeks rather than months)<br />
    8. 8. Roots...<br />Agile Manifesto – 12 Principles<br />Working software is the principal measure of progress<br />Sustainable development, able to maintain a constant pace<br />Close, daily co-operation between business people and developers<br />
    9. 9. Roots...<br />Agile Manifesto – 12 Principles<br />Face-to-face conversation is the best form of communication (co-location)<br />Projects are built around motivated individuals, who should be trusted<br />Continuous attention to technical excellence and good design<br />
    10. 10. Roots...<br />Agile Manifesto – 12 Principles<br />Simplicity<br />Self-organizing teams<br />Regular adaptation to changing circumstances<br />
    11. 11. Concepts<br />
    12. 12. Concepts<br />Control<br />
    13. 13. Concepts<br />Communication<br />
    14. 14. Concepts<br />Collaboration<br />
    15. 15. Concepts<br />Cooperation<br />
    16. 16. Concepts<br />Commitment<br />
    17. 17. Team<br />
    18. 18. Team<br />The team is:<br />Critical to success<br />Not a bunch of individuals<br />No Hero’s<br />Not dependent on any member<br />Empowered<br />Trusted<br />
    19. 19. Team<br />Who is in the team?<br />Team Member<br />Product Owner<br />Customer<br />
    20. 20. Team<br />Who is a Team Member?<br />Developer<br />Tester<br />Business Analyst<br />Team Lead<br />Architect<br />Product Owner<br />
    21. 21. Team<br />Do we need a product owner?<br />Focus on what to deliver<br />Customer Proxy<br />Product Manager<br />Project Manager not a good fit<br />Not good idea to be a team lead or manager<br />
    22. 22. Team<br />Where does a Scrum Master/Coach fit in?<br />Guardian of the teams process<br />Servant/Leader<br />Helps foster the idea of “team”<br />Should never be a team lead or manager<br />Focused on helping team deliver<br />
    23. 23. Team<br />Do we need a project manager?<br />Generally no<br />Responsibilities distributed<br />Product owner<br />Coach/Scrum Master<br />Some projects have to be waterfall<br />
    24. 24. Team<br />Generalist<br />OR<br />Specialist?<br />
    25. 25. Team<br />A Self <?> Team<br />Self Organising<br />Self Directing<br />Self Managing<br />
    26. 26. Methodologies<br />
    27. 27. Methodologies<br />Currently 3 main stream:<br />Scrum<br />XP<br />Kanban<br />
    28. 28. Methodologies: Scrum<br />
    29. 29. Methodologies: Scrum<br />TO DO<br />WIP <br />Done<br />
    30. 30. Methodologies: XP<br />
    31. 31. Methodologies: XP<br />TO DO<br />WIP <br />Done<br />
    32. 32. Methodologies: Kanban<br />Input Queue<br />In Process<br />Done<br />Available capacity<br />
    33. 33. Methodologies: Kanban<br />TO DO<br />WIP (2)<br />Done<br />
    34. 34. Methodologies<br />Commonalities:<br />Visibility/Transparency<br />User stories<br />Pull Based<br />Definition of done<br />Sustainable pace<br />Continuous Improvement<br />
    35. 35. Methodologies: Helicopter View<br />Scrum<br />XP<br />Kanban<br />Plan release<br />Plan iteration<br />Work through items<br />Release when “Done, Done”<br />Iteration Retrospective<br />Release Retrospective<br />Plan sprint<br />Work on items in sprint<br />Review<br />Retrospective<br />Input queue<br />Pull item to work<br />Work until meets done criteria<br />Repeat<br />
    36. 36. Methodologies: Meetings<br />Scrum<br />XP<br />Kanban<br />Release Planning<br />Iteration Planning<br />Standup<br />Iteration Retrospective<br />Release Retrospective<br />Daily Stand-up<br />Sprint Review<br />Sprint Retrospective<br />Sprint Planning<br />Backlog grooming<br />None<br />
    37. 37. Methodologies: Roles<br />Scrum<br />XP<br />Kanban<br />Customer<br />Coach<br />Team<br />Customer<br />Product Owner<br />Scrum Master<br />Development Team<br />What ever you<br /> currently have<br />
    38. 38. Methodologies: Artifacts<br />Scrum<br />XP<br />Kanban<br />Board<br />Charts<br />More charts!<br />Card Board<br />Backlog<br />Definition of Done<br />Burndown<br />Board<br />What ever reports you wish to create<br />
    39. 39. Methodologies: Metrics<br />Scrum<br />XP<br />Kanban<br />Lead time<br />Cycle time<br />Throughput performance<br />Due date completion<br />etc<br />Velocity<br />Velocity<br />
    40. 40. Methodologies:Continuous Improvement<br />Scrum<br />XP<br />Kanban<br />Kaizen culture<br />Kaizen blitz<br />Slack<br />Inspect & Adapt<br />Sprint retrospective<br />Iteration retrospectives<br />Release retrospective<br />
    41. 41. Methodologies: Differentiators <br />Scrum<br /> Estimation<br />Commitment Forecasting<br /> Iterations<br /> Team decide what to pull into an iteration<br />
    42. 42. Methodologies: Differentiators <br />XP<br />Short Iterations<br />“Done, Done”<br />Rules<br />5 Values<br />14 Principles<br />24 Practices<br />
    43. 43. Methodologies: Differentiators <br />Kanban<br />Flow<br />Cadence<br />Policies<br />Classes of Service<br />
    44. 44. Methodologies: Comparison<br />
    45. 45. Lean<br />
    46. 46. Lean<br />What is Lean?<br />From manufacturing<br />Toyota Production System (TPS)<br />Just In Time (JIT) production<br />Kanban card<br />Kaizen<br />Poppendicks<br />Lean Software Development: An Agile Toolkit (2003)<br />David J Anderson<br />Kanban - Successful Evolutionary Change for your Technology Business<br />
    47. 47. Lean: Principles<br />Eliminate Waste<br />
    48. 48. Lean: Principles<br />Build Quality In<br />
    49. 49. Lean: Principles<br />Create Knowledge<br />
    50. 50. Lean: Principles<br />Defer Commitment<br />
    51. 51. Lean: Principles<br />Deliver Fast<br />
    52. 52. Lean: Principles<br />Respect People<br />
    53. 53. Lean: Principles<br />Optimise the whole<br />
    54. 54. What’s next?<br />
    55. 55. What’s next?<br />ScrumBan<br />Lean Startup<br />The rise of lean<br />Death of the Iron triangle? <br />
    56. 56. What’s next: Scrumban<br />Mixture of Kanban & Scrum<br />Workflow of Kanban<br />Backlog column for iteration<br />Ready column for higher priority work<br />Meetings of Scrum<br />
    57. 57. What’s next: The rise of lean<br />The next best thing?<br />Beware marketing speak<br />Can help whatever process you are using<br />Kanban<br />
    58. 58. What’s Next: Lean Startup<br />“new methodology”<br />Focused on getting product “out there”<br />More a business methodology<br />Kanban great fit<br />Beware comparisons to agile<br />
    59. 59. What’s Next: Lean Startup<br />
    60. 60. What’s next: Death of the Iron triangle?<br />Cost exists anyway<br />Quality should be a given<br />Scope flexible<br />Possibly in enterprises<br />Unlikely with external clients<br />
    61. 61. Sum up<br />
    62. 62. Summary<br />Lots of ideas<br />Pull in what works<br />Throw away what doesn’t<br />Create your own process<br />Stay true to principles<br /><br />Design Code Release<br />nathangloyn<br />@NathanGloyn<br />