Scrum@GigaSpaces

2,022 views

Published on

Lessons learned from implementing Scrum@GigaSpaces

Published in: Technology, Business
3 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total views
2,022
On SlideShare
0
From Embeds
0
Number of Embeds
114
Actions
Shares
0
Downloads
5
Comments
3
Likes
7
Embeds 0
No embeds

No notes for slide

Scrum@GigaSpaces

  1. 1. Real Life Experience Scrum@GigaSpaces Guy Nirpaz
  2. 2. About me: <ul><li>EVP R&D @ GigaSpaces Technologies </li></ul><ul><li>Background of Software Architecture/Development/Management </li></ul><ul><li>Contact </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>http:// www.jroller.com /gnirpaz </li></ul></ul>
  3. 3. About GigaSpaces 2008 Federal Reserve System Developers Conference <ul><li>>100 direct customers, 2000+ deployments </li></ul><ul><li>Unique position as the leading Cloud Application Server </li></ul>
  4. 4. How do we work today? <ul><li>Major Release every 3-6 months </li></ul><ul><li>Early Access Release every 2 weeks </li></ul><ul><ul><li>Planning/Dev/Release every two weeks </li></ul></ul><ul><li>Practicing Scrum@GigaSpaces for 2+ years </li></ul><ul><li>Daily Scrum 11:30 </li></ul>
  5. 5. Before Scrum <ul><li>Pressure – field, marketing, customers, internal </li></ul><ul><li>Frustration </li></ul><ul><ul><li>Unfinished features </li></ul></ul><ul><ul><li>Poor Quality </li></ul></ul><ul><ul><li>Waste </li></ul></ul><ul><li>Context Switches </li></ul>
  6. 6. Why Scrum? <ul><li>Different </li></ul><ul><ul><li>The other alternative didn’t work </li></ul></ul><ul><li>Strategic RND </li></ul><ul><ul><li>The ‘how’ matters! </li></ul></ul><ul><li>Well Documented Methodology </li></ul><ul><li>Simple Practices </li></ul><ul><li>Works! </li></ul>
  7. 7. Getting Started <ul><li>Getting the team on board </li></ul><ul><ul><li>Reflect the current situation </li></ul></ul><ul><li>Read the book </li></ul><ul><ul><li>Don’t innovate (yet) </li></ul></ul><ul><li>Use Change Agent </li></ul><ul><ul><li>Someone with experience and in-depth knowledge </li></ul></ul><ul><ul><li>Courses, Lectures, Consultant </li></ul></ul>
  8. 8. Initial Key Decisions <ul><li>Sprint Length </li></ul><ul><li>Roles Responsibilities </li></ul><ul><ul><li>Product Owner </li></ul></ul><ul><ul><li>Scrum Master </li></ul></ul><ul><li>Team Structure </li></ul><ul><ul><li>Team Leads </li></ul></ul><ul><ul><li>Product Manager </li></ul></ul><ul><ul><li>RND Manager </li></ul></ul>
  9. 9. Sprint <ul><li>We started with 4 weeks and moved to 2 </li></ul><ul><li>Started with internal releases now public releases </li></ul><ul><li>Challenges </li></ul><ul><ul><li>It’s a different mindset </li></ul></ul><ul><ul><li>Overhead involved </li></ul></ul><ul><ul><li>Breaking work into phases </li></ul></ul><ul><li>Streamline </li></ul><ul><ul><li>Pressure on Wed/Thu </li></ul></ul><ul><ul><li>Identify and eliminate bottlenecks </li></ul></ul>
  10. 10. Release Planning <ul><li>Continuous Plan </li></ul><ul><ul><li>Content - Product Backlog </li></ul></ul><ul><ul><li>Quality - Release Criteria </li></ul></ul><ul><ul><li>Timeline – Estimations + Resources </li></ul></ul><ul><li>Don’t loose sight of the big picture </li></ul><ul><ul><li>Features, Architecture, … </li></ul></ul><ul><ul><li>Feature Team, Architecture Team </li></ul></ul><ul><li>Estimates in weeks </li></ul>
  11. 11. Sprint Planning <ul><li>Product Backlog must be ready </li></ul><ul><ul><li>Prioritized before the sprint planning </li></ul></ul><ul><ul><li>Top items must be clear otherwise wastes time </li></ul></ul><ul><li>Sprint status must be clear </li></ul><ul><ul><li>What was completed </li></ul></ul><ul><ul><li>Leftovers </li></ul></ul><ul><li>Train has gone… </li></ul><ul><ul><li>Don’t steal time from next sprint (coding instead of planning) </li></ul></ul><ul><ul><li>There will be another train </li></ul></ul><ul><li>Estimates in hours </li></ul>
  12. 12. Making the Sprint a Success <ul><li>Quality/Dev Tension </li></ul><ul><li>Feedback Systems </li></ul><ul><ul><li>Continuous Integration </li></ul></ul><ul><ul><li>Regression Cycle </li></ul></ul><ul><li>Define a Release Criteria </li></ul><ul><li>Risk Management </li></ul>
  13. 13. Key Statistics – Automation and Quality <ul><li>Regressions </li></ul><ul><ul><li>5.1 – 10 cycles </li></ul></ul><ul><ul><li>5.2 – 40 cycles(12 weeks) </li></ul></ul><ul><ul><li>6.0 – 134 cycles( 29 weeks) </li></ul></ul><ul><ul><li>6.5 – 393 cycles( 32 weeks, Without sanity) </li></ul></ul>
  14. 14. Retrospect <ul><li>Identify key impediments </li></ul><ul><ul><li>Try getting to the root cause </li></ul></ul><ul><ul><li>Bad smells: Backlogs </li></ul></ul><ul><li>Prioritize </li></ul><ul><li>Fix it! </li></ul><ul><ul><li>Example: Who’s writing the tests? </li></ul></ul>
  15. 15. Working in the organization <ul><li>When it works the result speaks for itself </li></ul><ul><ul><li>On Time </li></ul></ul><ul><ul><li>On Quality </li></ul></ul><ul><ul><li>Ability to react fast </li></ul></ul><ul><li>Visibility and Transparency </li></ul><ul><ul><li>Product Backlog </li></ul></ul><ul><ul><li>Release Dashboard </li></ul></ul><ul><ul><li>Product Reviews </li></ul></ul>
  16. 16. Eliminate Overhead by Streamlining <ul><li>Common Objectives - Single Team </li></ul><ul><li>Effective Communication </li></ul><ul><li>Automate </li></ul>
  17. 17. Tools We Use <ul><li>White board and Sticky Notes </li></ul><ul><li>JIRA – bug tracking and project management </li></ul><ul><li>Greenhopper for JIRA </li></ul><ul><li>Confluence – collaboration and reporting </li></ul><ul><li>Tigris – Automated regression testing </li></ul><ul><li>Junit – unit testing </li></ul><ul><li>SVN – version management </li></ul><ul><li>All are tightly integrated </li></ul>
  18. 18. Lessons Learned <ul><li>Continuous Improvement </li></ul><ul><ul><li>No steady state </li></ul></ul><ul><ul><li>No Perfection mode! </li></ul></ul><ul><li>Automation is mandatory </li></ul><ul><li>Different Team Metaphor </li></ul><ul><ul><li>Movie Making – everybody gets credit </li></ul></ul>
  19. 19. <ul><li>Questions? </li></ul>
  20. 20. <ul><li>Thank You! </li></ul><ul><li>[email_address] </li></ul>

×