- About Us
- Snapshot: A Year Ago
- The Way: Flow & Systems
- The Way: Feedback
- The Way: Resilience & Experimentation
About Us
- DoSomething.org: Largest network for young people & social change
- Members: 2.3 million (aged 13-25)
- Platform: Drupal & co. (RoR, Flask, et al.)
- A mostly LAMP-y stack
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”
- Weak internal project management
- Less institutional knowledge → more technical debt
Problem: Loose dev & deploy workflow
Problem: Unhappy developers
- “90% of my time wrestling with the platform”
- Technical debt → Unhappiness
- No way to attract talent!
- No way to retain talent!
Problem: No automated tests
Problems we don't have
- High traffic
- Financial transactions
- COPPA or PCI compliance
- Massive infrastructure
- Complex deployments
The Goals: Bandwidth, understanding, control
The Enemy: Unplanned work
Flow: Process
- Get It In Writing (or Drawing)
- Trello
- Sprint Planning
Flow: Process
- Get It In Writing (or Drawing)
- Trello
- Sprint Planning
Missing from Trello
- Dashboard visualizations
- Time tracking
- Workflow rules/enforcement
- Ticket numbers
Flow: Process
- Get It In Writing (or Drawing)
- Trello
- Sprint Planning
Step 2: Jenkins in production
Step 3: Jenkins runs tests
The Goals: Process improvement,short feedback loops
The Enemy: Silos of knowledge/information
Feedback: Culture
Continuous improvement
Working on work vs. doing more work
Feedback: Tools
- All the Shiny Tools
- GitHub
- HipChat
- Hubot
- Jenkins
- Wercker
Feedback: Tools
- All the Shiny Tools
- GitHub
- HipChat
- Hubot
- Jenkins
- Wercker
GitHub: Wishlist
Feature branch-based QA instances on RackSpace Private Cloud / OpenStack
Feedback: Tools
- All the Shiny Tools
- GitHub
- HipChat
- Hubot
- Jenkins
- Wercker
Feedback: Tools
- All the Shiny Tools
- GitHub
- HipChat
- Hubot
- Jenkins
- Wercker
Feedback: Tools
- All the Shiny Tools
- GitHub
- HipChat
- Hubot
- Jenkins
- Wercker
Feedback: Tools
- All the Shiny Tools
- GitHub
- HipChat
- Hubot
- Jenkins
- Wercker
Feedback: Testing
- LAMP: Behat
- Drupal: SimpleTest
- RoR: rspec, Cucumber
Feedback: Testing
- LAMP: Behat
- Drupal: SimpleTest
- RoR: rspec, Cucumber
Feedback: Testing
- LAMP: Behat
- Drupal: SimpleTest
- RoR: rspec, Cucumber
The 3rd Way: Resilience & Experimentation