Agile tour 2011 marina shalmon


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Agile tour 2011 marina shalmon

  1. 1. AGILE flavors and start-ups Marina ShalmonVP of the Agile New England Chapter of ACM Director of Engineering at ROAM DATA November 25th, 2011
  2. 2. Main Agile concepts and how they fit in a start-up Increased customer interaction  perfect fit Iterative  perfect fit Change is expected and embraced  perfect fit Respect for the developers’ need for focus  No fit, serious challenge
  3. 3. What Agile is not and the fit with a start-up No speed at any cost  Challenge No lack of architecture  Could be a fit; depends on the start-up No lack of planning  Perfect fit short term; less obvious long term No disorganization, chaos  Good fit No unaccountability  Good fit
  4. 4. AGILE Flavors Scrum – Overall methodology XP - Programming TDD - Testing Lean – avoiding waste Kanban – JIT scheduling They can be mixed and matched
  5. 5. SCRUM3 roles 3 meetings 3 artifacts Team  Planning  Product backlog Scrum Master  Daily Standup  Sprint backlog Product Owner  Review/Retrospective  Burndown chart
  6. 6. Sprint backlog - example
  7. 7. Definition of “done” Designed (and documented; In code- doxygen, javadoc) Coded (submitted to SCM, compiling and building) Unit tested (J-unit, C-unit, N-unit) Test plans written Tested by QA Test automation written Integrated Release notes written Deployed
  8. 8. Hour burndown chart - example
  9. 9. Training & Documentation Training is essential – so that all the players get on the same page – responsibility of Executive Management Requirements documentation – necessary, linked to product backlog – weak point, often missing - responsibility of Product Owners Architecture and design documentation – needed for maintaining the product, linked to code – responsibility of Engineering team Test documentation – needed for test coverage review and regression testing, no obvious universal place to recommend for keeping it, possibly with code – often missing - responsibility of Engineering team Release Notes – needed for Support, linked to Sprint backlog – responsibility of Engineering team
  10. 10. XP-Extreme Programming good fit in start-upsThe methodology takes its name from the idea that the beneficialelements of traditional software engineering practices are taken to"extreme" levels, on the theory that if some is good, more is better. Frequent "releases" in short development cycles (time boxing) – same as SCRUM (saS) Programming in pairs (specific to XP) or doing extensive code review and unit testing of all code avoiding programming of features until they are actually needed – can be used in SCRUM simplicity and clarity in code – can be used in SCRUM expecting changes in the customers requirements as time passes and the problem is better understood – saS frequent communication with the customer and among programmers – saS
  11. 11. TDD – Test Driven Development depends on the application Add a test – to a pre-existing mass of tests and code Run all tests and see if the new one fails Write some code – to satisfy the new test Run the automated tests and see them succeed Refactor code – to merge new functionality with pre- existing one, optimize, add error handling Repeat If issues, revert, rather than debug. Continuous Integration helps by providing revertible checkpoints
  12. 12. Lean software development good fit in start-ups From Toyota manufacturing Eliminate waste – unnecessary code, insufficient test, slow internal communication, bureaucracy Amplify learning – short feedback cycles, saS Decide as late as possible – iterative approach, saS Deliver as fast as possible – iterative approach, saS Empower the team – not micromanaging, saS Build integrity in – automated tests, refactoring, s.a.TDD See the whole - Think big, act small; fail fast, learn rapidly Use common sense
  13. 13. Kanban good everywhere Related to Lean and JIT, can be used with Scrum It means “signboard” or “billboard” Scheduling system based on limiting the number of work items in progress at any time Focused on work flow – on the time/steps it takes to get a work item done end-to-end – defined/coded/tested/deployed Uses Kanban cards, to signal readiness for next step (the JIRA Agile plug is a Kanban implementation)
  14. 14. Success stories Wind River – medium size company  Small team, co-located, grass roots introduction, viral spread Accurev – start-up  Four teams, geographically distributed, moving the whole company to Agile through external consultant training ROAM Data – start-up  Many and varied teams, some of 2 people, some of 8, some co-located, some distributed – flexible approach
  15. 15. Failure stories Avaya – large company  strong waterfall and MSProject biased organization, Agile not even attempted AS&E – medium size company  tried to introduce Agile under the umbrella of a waterfall minded organization – no real progress possible