Your SlideShare is downloading. ×
A sprint in the life of
Drupal Gardens
  Jacob Singh and Chris Brookins
                                   26. aug 9:00
  ...
Who are we?
 Jacob Singh
 – Principal engineer, Acquia
 – @jacobsingh
 – jacob.singh@acquia.com
 Chris Brookins
 – VP Engi...
Acquia & Engineering
 70 Acquia employees
 22 in engineering                              Other Eng


 4 engineering scrum...
Drupal Gardens
 Drupal 7 (since alpha1) + contrib modules
 Drupal as a service + contrib + ThemeBuilder + themes
 Over 18,...
Product Owner
 Identi es and validates personas
 Drives story de nition
 – Facilitates stakeholder consensus
 Owns the pro...
Scrum Master
 Ensures all parties follow roles & responsibilities & events
 Protects the team from distractions
 Removes i...
Team
Self-organizes
Takes into sprint top priority items from backlog
Determines sprint capacity
Tasks out work and gets i...
Drupal Gardens Sprint timeline
             Sprint Start
             Start D7 daily merge               All Team Test    ...
Drupal Gardens Sprint timeline
             Sprint Start
             Start D7 daily merge                All Team Test   ...
Planning
 Plans are outdated immediately
 Planning is a royal pain the ass, but concentrated
 Go through ‘The checklist’
 ...
Planning day checklist
 1. Determine team capacity
 2. Identify engineering debt that we need to do
 3. Stories validated ...
De nition of done
 Developed according to Drupal coding standards
 Commented
 Peer reviewed
 Write system tests, but frank...
Drupal Gardens Sprint timeline
             Sprint Start
             Start D7 daily merge               All Team Test    ...
Scrum
Answer the 3 Qs (strive for verbally)
Inspect the burndown chart (and adapt if needed)
Post scrum discussions
PO/Des...
Drupal Gardens Sprint timeline
             Sprint Start
             Start D7 daily merge            All Team Test       ...
Gardening days (community work)




Almost always working on GPL Drupal code.
Connection w/ the community, personal grati ...
Drupal Gardens Sprint timeline
              Sprint Start
             Start D7 daily                     All Team Test   ...
How we track Drupal 7 & contrib




                                  18
Kitten killing manifest




                          19
Supporting engineering systems
 Continuous integration
 – jsUnit
 – Selenium system tests
 – BrowserMob load tests
 – Stag...
Jira taskboard
 2nd best thing to colocation




                                21
Crucible code reviews




                        22
Drupal Gardens Sprint timeline
             Sprint Start
             Start D7 daily merge                All Team Test   ...
Drupal Gardens Sprint timeline
             Sprint Start
             Start D7 daily merge               All Team Test    ...
Demo day
All company invited
Goals and results (Done/Not done/Adds) quickly reviewed
PO does the demo
Only demo working so...
26
Retrospective
 The Team, Scrum Master, PO
 Stop, Breath. Re ect.
 Most important meeting

 Affirm the good
 Acknowledge the ...
From forum post (bug) to release notes
 User posts
 Goes into backlog and post updated w/backlog tracking #
 Triaged (eng/...
Challenges




             29
Challenges
 Hard to see big picture, hard to break down Epics
 – story map




                                           ...
Challenges
 Hard to see big picture, hard to break down Epics
 – story map
 Lack of PO time ranking bug backlog
 – Add cus...
Challenges
 Hard to see big picture, hard to break down Epics
 – story map
 Lack of PO time ranking bug backlog
 – Add cus...
Challenges
 Hard to see big picture, hard to break down Epics
 – story map
 Lack of PO time ranking bug backlog
 – Add cus...
Challenges
 Hard to see big picture, hard to break down Epics
 – story map
 Lack of PO time ranking bug backlog
 – Add cus...
KISS me
 What is the point of all these processes?
 – Delivering the highest business value as fast as possible
 But agile...
http://cph2010.drupal.org/node/8628
Upcoming SlideShare
Loading in...5
×

A Sprint in the life of Drupalgardens

3,365

Published on

Presentation given at DrupalCon Copenhagen on the agile process as practiced by Acquia engineering.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,365
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide



































  • Transcript of "A Sprint in the life of Drupalgardens"

    1. 1. A sprint in the life of Drupal Gardens Jacob Singh and Chris Brookins 26. aug 9:00 VPS.NET
    2. 2. Who are we? Jacob Singh – Principal engineer, Acquia – @jacobsingh – jacob.singh@acquia.com Chris Brookins – VP Engineering, Acquia – @chrisbrookins – chris@acquia.com 2
    3. 3. Acquia & Engineering 70 Acquia employees 22 in engineering Other Eng 4 engineering scrum teams Gardens Eng – Drupal Gardens – Acquia Hosting Non-Eng – Web crawler – Acquia.com Drupal Gardens team – 14 people, 50% distributed – 7 Drupalists, 2 front-end dev, 1 QA, 1 PO – 2 designers, 1 doc shared (80% on Gardens) 3
    4. 4. Drupal Gardens Drupal 7 (since alpha1) + contrib modules Drupal as a service + contrib + ThemeBuilder + themes Over 18,000 Drupal 7 sites created in gardens No lock-in: You can export your site’s code & DB any time 4
    5. 5. Product Owner Identi es and validates personas Drives story de nition – Facilitates stakeholder consensus Owns the product backlog of stories & bugs Makes sure team’s clarifying questions are answered Accepts or rejects stories in sprint Demos stories that are done Decides if results of Sprint are releasable 5
    6. 6. Scrum Master Ensures all parties follow roles & responsibilities & events Protects the team from distractions Removes impediments / escalates as needed Doesn’t task or ‘manage’ team, instead raises questions Doesn’t let the team walk off a cliff Ensures conversations happen Part time 6
    7. 7. Team Self-organizes Takes into sprint top priority items from backlog Determines sprint capacity Tasks out work and gets it done De nes their own de nition of done and sticks to it 7
    8. 8. Drupal Gardens Sprint timeline Sprint Start Start D7 daily merge All Team Test Gardening Day Week 1 Week 2 Week 3 SOS SOS SOS 1 5 14 19 2 3 9 11 13 17 20 • Demo Planning Day Last D7 • Retrospective • Backlog grooming Gardening Day Pencils down • Release Continuous research/sketch/prototype/visual design & review loop 8
    9. 9. Drupal Gardens Sprint timeline Sprint Start Start D7 daily merge All Team Test Gardening Day Week 1 Week 2 Week 3 SOS SOS SOS 1 5 14 19 2 3 9 11 13 17 20 Planning • Demo Day Last D7 • Retrospective • Backlog grooming Gardening Day Pencils down • Release Continuous research/sketch/prototype/visual design & review loop 9
    10. 10. Planning Plans are outdated immediately Planning is a royal pain the ass, but concentrated Go through ‘The checklist’ Vote sts to 5 10
    11. 11. Planning day checklist 1. Determine team capacity 2. Identify engineering debt that we need to do 3. Stories validated ready to start 4. Research spike unfamiliar technologies 5. Schedule mid-sprint PO/Design review 6. Pre-assign items that 1 person would best do 7. Identify dependancies and prioritize stories 8. Take sized stories/bugs & task according to De nition of Done 11
    12. 12. De nition of done Developed according to Drupal coding standards Commented Peer reviewed Write system tests, but frankly not enough Doc notes added to story (as food for writer) In trunk, working and validated on test cluster PO & designer have reviewed; developer applies feedback If necessary, stress/load tested Ready to be demoed and go live 12
    13. 13. Drupal Gardens Sprint timeline Sprint Start Start D7 daily merge All Team Test Gardening Day Week 1 Week 2 Week 3 SOS SOS SOS 1 5 14 19 2 3 9 11 13 17 20 Planning Day • Demo Last D7 • Retrospective • Backlog grooming Gardening Day Pencils down • Release Scrum every day 13
    14. 14. Scrum Answer the 3 Qs (strive for verbally) Inspect the burndown chart (and adapt if needed) Post scrum discussions PO/Designers available to answer questions Why? 14
    15. 15. Drupal Gardens Sprint timeline Sprint Start Start D7 daily merge All Team Test Gardening Day Week 1 Week 2 Week 3 SOS SOS SOS 1 5 14 19 2 3 9 11 13 17 20 • Demo Planning Day Last D7 • Retrospective • Backlog grooming Gardening Day Pencils down • Release Continuous research/sketch/prototype/visual design & review loop 15
    16. 16. Gardening days (community work) Almost always working on GPL Drupal code. Connection w/ the community, personal grati cation Allows existing projects to continue Drives innovation 16
    17. 17. Drupal Gardens Sprint timeline Sprint Start Start D7 daily All Team Test Gardening Day Week 1 Week 2 Week 3 SOS SOS SOS 1 5 14 19 2 3 9 11 13 17 20 • Demo Planning Day • Retrospective Last D7 merge • Backlog grooming Gardening Day Pencils down • Release Continuous research/sketch/prototype/visual design & review loop 17
    18. 18. How we track Drupal 7 & contrib 18
    19. 19. Kitten killing manifest 19
    20. 20. Supporting engineering systems Continuous integration – jsUnit – Selenium system tests – BrowserMob load tests – Staging clusters (trunk and branch) Based on daily production backups. Toolchain – Jira, Greenhopper, Fisheye, Crucible, Google apps How we update 20k sites – Scales, concurrent updates, atomic 20
    21. 21. Jira taskboard 2nd best thing to colocation 21
    22. 22. Crucible code reviews 22
    23. 23. Drupal Gardens Sprint timeline Sprint Start Start D7 daily merge All Team Test Gardening Day Week 1 Week 2 Week 3 SOS SOS SOS 1 5 14 19 2 3 9 11 13 17 20 • Demo Planning Day Last D7 • Retrospective • Backlog grooming Gardening Day Pencils down • Release Continuous research/sketch/prototype/visual design & review loop 23
    24. 24. Drupal Gardens Sprint timeline Sprint Start Start D7 daily merge All Team Test Gardening Day Week 1 Week 2 Week 3 SOS SOS SOS 1 5 14 19 2 3 9 11 13 17 20 •Demo Planning Day Last D7 • Retrospective • Backlog grooming Gardening Day Pencils down • Release Continuous research/sketch/prototype/visual design & review loop 24
    25. 25. Demo day All company invited Goals and results (Done/Not done/Adds) quickly reviewed PO does the demo Only demo working software that is ‘ready to release’ 25
    26. 26. 26
    27. 27. Retrospective The Team, Scrum Master, PO Stop, Breath. Re ect. Most important meeting Affirm the good Acknowledge the bad Propose any solutions Discuss Commit to improve 27
    28. 28. From forum post (bug) to release notes User posts Goes into backlog and post updated w/backlog tracking # Triaged (eng/support/po) as valid, achievable, and a priority Sized Ranked by PO among other defects Taken into sprint Fixed and tested for end of sprint Publish in release notes 28
    29. 29. Challenges 29
    30. 30. Challenges Hard to see big picture, hard to break down Epics – story map 29
    31. 31. Challenges Hard to see big picture, hard to break down Epics – story map Lack of PO time ranking bug backlog – Add customer service to ranking 29
    32. 32. Challenges Hard to see big picture, hard to break down Epics – story map Lack of PO time ranking bug backlog – Add customer service to ranking Balancing perfection vs. release – Team sketching smaller stories – Stop at prototypes/wireframe 29
    33. 33. Challenges Hard to see big picture, hard to break down Epics – story map Lack of PO time ranking bug backlog – Add customer service to ranking Balancing perfection vs. release – Team sketching smaller stories – Stop at prototypes/wireframe Start / Stop costs / Min WIP / Visibility++ – Investigating Kanban 29
    34. 34. Challenges Hard to see big picture, hard to break down Epics – story map Lack of PO time ranking bug backlog – Add customer service to ranking Balancing perfection vs. release – Team sketching smaller stories – Stop at prototypes/wireframe Start / Stop costs / Min WIP / Visibility++ – Investigating Kanban Unit testing Drupal – cucumber/selenium integration 29
    35. 35. KISS me What is the point of all these processes? – Delivering the highest business value as fast as possible But agile is based on values, not processes. The processes re-enforce the qualities we want. – openness – growth (learning) – commitment – respect – restraint (focus) 30
    36. 36. http://cph2010.drupal.org/node/8628

    ×