Iran Professional Scrum Developer Course


Published on

Published in: Technology

Iran Professional Scrum Developer Course

  1. 1. July 4-6, 2012 - Tehran, Iran
  2. 2. 2 We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: over processes and tools over comprehensive documentation over contract negotiation over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck James Grenning Robert C. Martin Mike Beedle Jim Highsmith Steve MellorArie van Bennekum Andrew Hunt Ken Schwaber Alistair Cockburn Ron Jeffries Jeff SutherlandWard Cunningham Jon Kern Dave Thomas Martin Fowler Brian Marick Source:
  3. 3. 3 100 90 Waterfall 80Percent adoption 70 60 50 40 30 20 Agile 10 0 Copyright 2010,, All Rights Reserved
  4. 4. 4 “Check all techniques or methodologies that you currently use, wholly or partially.” Scrum 84% Iterative 47% eXtreme Programming (XP) 38% Test-driven development (TDD) 38% Waterfall 33% Lean 26% Feature-driven development (FDD) 18% Agile modeling 17% Six Sigma 10% Capability Maturity Model Integration (CMMI) 9% Rational Unified Process (RUP) 9% ISO 9000 8% Spiral 6% Adaptive Software Development (ASD) 5% Other 5% Behavior-driven development (BDD) 5% Unified Process (UP) 5% Base: 241 technology Agile Data Method 4% industry professionals Microsoft Solutions Framework (MSF) For Agile in a variety of 4% roles, including but notOther derivative of the Unified Process (AUP, OUP, etc.) 3% limited to development Dynamic Systems Development Method (DSDM) 3% Crystal 2% Source: Forrester Research, Inc. - December 2008 Global Agile Company Online Survey
  5. 5. 5 Plan for theWaterfall entire project up-front Plan a little for the entireScrum project and then a little for each Sprint Copyright 2010,, All Rights Reserved
  6. 6. The Scrum Framework Is Simple, Full of Holes 6 Copyright 2010,, All Rights Reserved
  7. 7. 7Copyright 2010,, All Rights Reserved
  8. 8. 8In 2002, in response to the Agile Manifesto, Barry Boehm was quoted as saying, “Agile is an excellent approach is you have a small team of highly skilled developers managing themselves in a co-located workplace with great engineering tools and practices.”Teams like these will produce great products using Agile.It also turns out that you can also use Agile with a large team of terrible developers who are dispersedall over the globe, who are using lousy tools and practices.Teams like these will produce crap.The point isn’t whether they produce great products or crap.The point is that with Agile, the problem is transparent.Then the question is, what are you going to do about it? Copyright 2010,, All Rights Reserved
  9. 9. 9“Theres a mess Ive heard about with quite a few projects recently. It works out like this:• They want to use an agile process, and pick Scrum• They adopt the Scrum practices, and maybe even the principles• After a while progress is slow because the code base is a messWhats happened is (people using Scrum) havent paid enough attention to the internal quality of theirsoftware (…) Ive mentioned Scrum because when we see this problem, Scrum seems to beparticularly common as the nominative process the team is following (…) because Scrum is processthats centered on project management techniques and deliberately omits any technical practices.Im sure that the many Flaccid Scrum projects being run will harm Scrums reputation, and probablythe broader agile reputation as well.”– Martin Fowler, January 2009 Source:
  10. 10. 10“By early 2009, (…) more organizations were using Agileprocesses than waterfall processes (…) However, lessthan 50% of those using Scrum were developing inincremental iterations, which are the heartbeat of Scrum.(…) One of the biggest challenges of using Scrum hasalways been the steep learning curve for the developerson the Scrum team.” – Jeff Sutherland and Ken Schwaber, March 2010 Copyright 2010,, All Rights Reserved
  11. 11. 11The Situation: The Assignment:• You are a developer at, building advanced life- • What work would you have to do to turncritical products. the requirements into a “done” increment?• Your Scrum team is one of seven teams working on a • If you were developing anew release of one of the products. “done”, potentially shippable• Your team is going to select requirements (product increment, what would your definition ofbacklog) to turn into something that is done (no more “done” be? Would it include, forwork remains, potentially shippable) within a two- example, refactoring? What else?week iteration.• Each team has all the skills to fully develop therequirements into a “done increment.” Copyright 2010,, All Rights Reserved
  12. 12. 12The Assignment:Did your definition of “done” include the following? If not, why not?Code reviews Regression testing Release notesRefactoring Performance testing InternationalizationIntegration with other team’s work Stability testing User acceptance testingIntegration testing Immunological response testing Copyright 2010,, All Rights Reserved
  13. 13. 13Undone Undone Undone Copyright 2010,, All Rights Reserved
  14. 14. 14 Release 1 Release 2 Planned Release Date• Release 1: Teams produced “done” increments A case study featuring 120 people each Sprint, but they were not integrated or divided amongst 18 Scrum teams integration tested until “code complete.”• Release 2: Teams produced an increment of integrated, integration-tested code every Sprint. Copyright 2010,, All Rights Reserved
  15. 15. 15Copyright 2010,, All Rights Reserved
  16. 16. 16“The Scrum community needs to redouble its efforts toensure that people understand the importance of strongtechnical practices. Certainly any kind of project reviewshould include examining what kinds of technicalpractices are present. If youre involved or connected tosuch a project, make a fuss if the technical side is beingneglected.”Martin Fowler, January 29, 2009 Source:
  17. 17. 17Who, me?! Copyright 2010,, All Rights Reserved
  18. 18. 18“But I’m a developer, “But I’m a manager,not a manager!” not a developer!” Copyright 2010,, All Rights Reserved
  19. 19. 19The Purpose of Copyright 2010,, All Rights Reserved
  20. 20. 20 Copyright 2010,, All Rights Reserved
  21. 21. Four Pillars of the Professional Scrum Developer 21ProgramLearn how to:1. How to work together as a cross- functional, self-organizing team,2. Using modern engineering practices,3. On a modern technology stack, in a modern development environment,4. To build a “done” increment within an iteration. Copyright 2010,, All Rights Reserved
  22. 22. 22Practices Scrum Tools Copyright 2010,, All Rights Reserved
  23. 23. 23Teams iteratively build increments while learning more Scrum, teamwork, engineeringtechniques, and tooling each Sprint. They are allowed to fail and learn.Structure of initial Sprint: Each Sprint introduces new:• Start • Engineering practices• Initiation • IDE and technology features• Form team • Sample product backlog• Course overview• Case study overview• IDE overview• Scrum overview• Develop “product”• Retrospective Copyright 2010,, All Rights Reserved
  24. 24. Sample Question: Development (1 of 5) 24 Copyright 2010,, All Rights Reserved
  25. 25. Sample Question: Development (2 of 5) 25 Copyright 2010,, All Rights Reserved
  26. 26. Sample Question: Development (3 of 5) 26 Copyright 2010,, All Rights Reserved
  27. 27. Sample Question: .NET (4 of 5) 27 Copyright 2010,, All Rights Reserved
  28. 28. Sample Question: .NET (5 of 5) 28 Copyright 2010,, All Rights Reserved
  29. 29. A Long, Hard, Worthwhile Climb 29 Copyright 2010,, All Rights Reserved
  30. 30. July 4-6, 2012 - Tehran, IranHttp://