1. A sprint in the life of
Drupal Gardens
Jacob Singh and Chris Brookins
26. aug 9:00
VPS.NET
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. 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. 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. 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. 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. 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. 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. 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. Planning
Plans are outdated immediately
Planning is a royal pain the ass, but concentrated
Go through ‘The checklist’
Vote sts to 5
10
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. 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. 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. 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. 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. 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. 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
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. 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. 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
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. 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
30. Challenges
Hard to see big picture, hard to break down Epics
– story map
29
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. 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. 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. 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. 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