Process & Development Best Practices for Non-Profits
- Goals
- About Us
- A year ago: Problems!
- Change: Silos
- Change: Automation
- Change: Priorities
Goals
- Us, in progress
Technological panic
- Pick one thing
- Come back to us!
About Us
- DoSomething.org: Largest org for young
people & social change
- Members: 2.2 million young people (13-25)
- Platform: Drupal & friends
Do Something: A year ago
- Big old slow-ass Drupal site
- Frustration
- Technical debt
- Loose (missing?) process
Problem: Outsourced development
- Black-box products thrown “over the wall”
- Less institutional knowledge → more technical debt
Problem: Loose dev & deploy workflow
Problem: Lack of Drupal knowledge
“I wish Drupal had a theming layer.”
- 250+ modules
- Missing content strategy
Problem: Unhappy developers
“90% of my time wrestling with the platform”
- Technical debt → Unhappiness
- No way to attract talent!
- No way to retain talent!
Introducing change
1. Destroy the Silos
...One step at a time
Silo deets
- Org-accessible issue tracking system: Trello
- Code review with Github
- Asynchronous chat: HipChat
- Think lean: one change at a time, with feedback
Silo deets
- Org-accessible issue tracking system: Trello
- Code review with Github
- Asynchronous chat: HipChat
- Think lean: one change at a time, with feedback
Silo deets
- Org-accessible issue tracking system: Trello
- Code review with Github
- Asynchronous chat: HipChat
- Think lean: one change at a time, with feedback
Silo deets
- Org-accessible issue tracking system: Trello
- Code review with Github
- Asynchronous chat: HipChat
- Think lean: one change at a time, with feedback
2. Automation
Automation deets
- Jenkins and Wercker
- Test coverage: Behat, PHPUnit, Cucumber
- Hubot (George)
- HipChat integration
Automation deets
- Jenkins and Wercker
- Test coverage: Behat, PHPUnit, Cucumber
- Hubot (George)
- HipChat integration
Automation deets
- Jenkins and Wercker
- Test coverage: Behat, PHPUnit, Cucumber
- Hubot (George)
- HipChat integration
3. Prioritize
- Visualize your processes
- Reduce inventory
- Disciplined sprint planning
- Matrix teams
What's next for you?
- Pick low-hanging fruit: Silos, Automation, Bandwidth
- Try one of these solutions
- Tell us how it's going!
- Material for future Meetups