Scrum In Vs2010


Published on

This session will provide a high level view of Scrum and some of the tools provided in VS 2010 and TFS that allows teams to self-manage and produce high quality software increments iteration after iteration.
This session will also present the theory behind emergent architecture and how it is handled in Scrum.

Published in: Technology

Scrum In Vs2010

  1. 1. Scrum with VS2010 ALM<br />Ernst Perpignand, PSDT, PSM<br />Agile coach, Pyxis Technologies<br /><br /><br />
  2. 2. Agenda<br />Scrum<br />VS 2010 ALM tools<br />Engineering Practices<br />
  3. 3. Complexity<br />Factors<br />Human<br />Process <br />Others ?<br />Complex<br />Requirements<br />Handle with<br />Just in time planning<br />Empirical process<br />Self managing teams<br />Technology<br />
  4. 4. Scrum<br />People<br />Work to be done<br />Simple rules<br />Time-boxes<br />Transparency<br />Clear separation of responsibilities, accountabilities and authorities<br />
  5. 5. Scrum team<br />Team<br />Scrum Master<br />Product Owner<br />Manages the work<br />Manages the process<br />Manages ROI<br />
  6. 6. Artifacts<br />Product backlog<br />Prioritized list of work to be done<br />Sprint backlog<br />List of tasks that will turn product backlog items into potentially shippable product increment<br />Product increment<br />High quality and valuable software<br />Sprint burndown<br />Effort remaining to attained sprint goal<br />Releaseburndown<br />Work remaining on product<br />
  7. 7. Time boxes<br />Sprint<br />Scrum meetings<br />Planning<br />Daily scrum<br />Review<br />Retrospective<br />Team meetings<br />Backlog grooming<br />Design reviews<br />Review / Retro<br />planning<br />Sprint<br />
  8. 8. Implementing Scrum in VS2010 + TFS<br />
  9. 9. Burndowns<br />
  10. 10. Planning<br />
  11. 11. Tracking<br />
  12. 12. And then the devil comes in…<br />Pressure to meet deadlines leads to cutting corners<br />Undone work<br />Bugs<br />Teams are responsible for quality of their work<br />Estimation should take this into account<br />Velocity<br />Iteration<br />
  13. 13. What about Quality ?<br />Internal<br />External<br />Conceptual integrity<br />Maintainability<br />Reusability<br />Availability<br />Interoperability<br />Manageability<br />Performance<br />Reliability<br />Scalability<br />Security<br />Supportability<br />Testability<br />Usability<br />
  14. 14. Are we done ?<br />Not until the product meets the quality criteria defined by the product owner<br />SMART<br />Prioritized<br />The team can then<br />list all activities required to be done<br />Estimate effort properly<br />Typical definition of done<br />Development<br />Smoke Test<br />Accepted by product owner<br />
  15. 15. Improving definition of done<br />Team’s responsibility<br />Reduces technical debt<br />Development process predictability<br />Design<br />Development<br />Code review<br />Automated tests<br />Continuous integration<br />Acceptance tests<br />Accepted by product owner<br />
  16. 16. Automated tests for bug control<br />
  17. 17. Modeling tools for design reviews<br />
  18. 18. Architecture for the bigger picture<br />No agreed upon definition<br />I won’t try to come up with a perfect onr<br />Architecture describes basic the structure of the system – Luke Hohmann<br />Minimizes dependencies between subsystems<br />Designed according to human motivations and desires<br />Possesses certain aesthetics<br />The important stuff<br />
  19. 19. Emergent Architecture in Scrum<br />High priority nonfunctional requirements<br />SMART business objectives<br />In product backlog<br />Every sprint has to deliver some functionality<br />Cost allocationof architecture and infrastructure work decreases as the project progresses<br />
  20. 20. Scaling<br />Start with core team<br />3-4 developers, 1 tester, 1 BA<br />Lay down initial architecture<br />Split teams after they’ve grown past 9<br />Manages dependencies between teams work<br />All code still needs to be DONE<br />Function Teams<br />Independent teams<br />All required skills in one team<br />Layer Teams<br />Minimizes dependencies around layer interfaces<br />Integration teams to deliver Done funtionality<br />
  21. 21. Incremental<br />
  22. 22. Iterative<br />
  23. 23. Improving engineering practices<br />Principles<br />Coupling, Cohesion, redundancy, encapsulation, testable, DRY<br />Patterns<br />Practices and techniques<br />TDD, BDD<br />SOLID, IOC, DI<br />DDD<br />Design<br />Test-First Development<br />Refactoring<br />Code review<br />Pair Programming<br />Units tests<br />System tests<br />Continuous integration<br />Executable Specifications<br />Acceptance tests<br />Accepted by product owner<br />
  24. 24. Professional Scrum Developer<br />New program launched by <br />Microsoft<br /> (founded by Ken Schwaber)<br />Pyxis Technologies offersthis training in Canada<br />5 days training aimedatdevelopers and teaching how to turnrequirements in a shippableproductincrementusing :<br />Scrum<br />Visual Studio 2010<br />Modern engineering practices<br />Dates :<br />Montreal : June 7-11<br />Toronto : September13-17<br />For more info : or<br />
  25. 25. Key points<br />Scrum allows you to deal with the complexity of your software projects<br />Build high quality software increments in short iterations<br />VS 2010 gives you a lot of tools supporting<br />Self managing teams<br />Modern engineering practices<br />Training on Scrum and VS 2010<br />Get up to speed quickly<br />
  26. 26. Thank you<br />Questions ?<br />
  27. 27. Thanks to our contributors<br />