iran professional scrum developer course

Download Iran Professional Scrum Developer Course

Post on 17-Jan-2015




2 download

Embed Size (px)



  • 1. July 4-6, 2012 - Tehran, Iran

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 documentationover contract negotiation over following a planThat is, while there is value in the items onthe right, we value the items on the left more. Kent BeckJames Grenning Robert C. MartinMike BeedleJim HighsmithSteve MellorArie van BennekumAndrew Hunt Ken Schwaber Alistair Cockburn Ron Jeffries Jeff SutherlandWard Cunningham Jon Kern Dave Thomas Martin FowlerBrian MarickSource: 3. 3 10090 Waterfall80Percent adoption706050403020 Agile10 0 Copyright 2010,, All Rights Reserved 4. 4Check all techniques or methodologies that you currently use, wholly or partially.Scrum84%Iterative 47%eXtreme Programming (XP)38%Test-driven development (TDD) 38% Waterfall33%Lean26% Feature-driven development (FDD) 18% Agile modeling17% Six Sigma 10%Capability Maturity Model Integration (CMMI)9% Rational Unified Process (RUP) 9% ISO 90008% Spiral 6%Adaptive Software Development (ASD)5% Other 5% Behavior-driven development (BDD) 5% Unified Process (UP)5%Base: 241 technology Agile Data Method4% industry professionals Microsoft Solutions Framework (MSF) For Agile in a variety of4% roles, including but notOther derivative of the Unified Process (AUP, OUP, etc.) 3%limited to developmentDynamic Systems Development Method (DSDM)3%Crystal 2% Source: Forrester Research, Inc. - December 2008 Global Agile Company Online Survey 5. 5Plan for theWaterfall entire projectup-frontPlan a little forthe entireScrum project andthen a little foreach SprintCopyright 2010,, All Rights Reserved 6. The Scrum Framework Is Simple, Full of Holes6Copyright 2010,, All Rights Reserved 7. 7Copyright 2010,, All Rights Reserved 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 developersmanaging 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 isnt 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. 9Theres 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 2009Source: 10. 10By 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 2010Copyright 2010,, All Rights Reserved 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 moredone 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. 12The Assignment:Did your definition of done include the following? If not, why not?Code reviewsRegression testing Release notesRefactoring Performance testingInternationalizationIntegration with other teams workStability testingUser acceptance testingIntegration testing Immunological response testing Copyright 2010,, All Rights Reserved 13. 13Undone UndoneUndone Copyright 2010,, All Rights Reserved 14. 14 Release 1Release 2 PlannedRelease Date Release 1: Teams produced done incrementsA case study featuring 120 people each Sprint, but they were not integrated ordivided 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. 15Copyright 2010,, All Rights Reserved 16. 16The 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, 2009Source: 17. 17Who, me?!Copyright 2010,, All Rights Reserved 18. 18But Im a developer, But Im a manager,not a manager! not a developer!Copyright 2010,, All Rights Reserved 19. 19The Purpose of Copyright 2010,, All Rights Reserved 20. 20 Copyright 2010,, All Rights Reserved 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. 22Practices ScrumToolsCopyright 2010,, All Rights Reserved 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 RetrospectiveCopyright 2010,, All Rights Reserved 24. Sample Question: Development (1 of 5) 24Copyright 2010,, All Rights Reserved 25. Sample Question: Development (2 of 5) 25Copyright 2010,, All Rights Reserved 26. Sample Question: Development (3 of 5) 26Copyright 2010,, All Rights Reserved 27. Sample Question: .NET (4 of 5) 27 Copyright 2010,, All Rights Reserved 28. Sample Question: .NET (5 of 5) 28 Copyright 2010,, All Rights Reserved 29. A Long, Hard, Worthwhile Climb 29 Copyright 2010,, All Rights Reserved 30. July 4-6, 2012 - Tehran, IranHttp://


View more >