Teaming Up

From Solo Developer to Working in a Team

WordCamp Tampa 2014
Created by Josh Eaton / @jjeaton
Reaktiv Studios

Who here is solo?

Who Am I?

Indianapolis, IN
Partner / Senior Developer, Reaktiv Studios

Design Palette Pro for Genesis

Formerly a solo developer
Formerly Enterprise Planning, Budgeting, Forecasting Systems at Deloitte

Why Do We Need to Talk about this?

Possible Teams

  • Working at an agency / product team
  • Starting your own company
  • Subcontracting for an agency
  • Contributing to open source

Joining a team

Set Expectations

Learn the Tools

Learn Best Practices

Structure

Structure

!=

Bureaucracy

Tools / Processes

Communication

  • Slack / HipChat / Hall / IRC...
  • Asana / Trello / BaseCamp...
  • Daily Standup

Code For The Maintainer

(or else!)

Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.
~ C2 Wiki, Code For The Maintainer

Code For The Maintainer

  • Self-documenting code
  • Comments
  • Abstraction / Code Reuse / Frameworks (Balance these!)

Code Standards

Version Control

  • Git, Subversion, Mercurial. Command line or GUI
  • Not a panacea, must use correctly
  • Small, logical commits

Separate Local and Staging servers

Separate Local and Staging servers

  • Do push changes to a staging server
  • Don't edit code directly on production
  • Don't go straight from local to production

Local Development

  • Sync between team members
  • Vagrant / VVV
  • Document how to set up a local environment

Issue Tracker

  • Github / Bitbucket (comes with your repo)
  • Redmine, FogBugz, Bugzilla

Automated Testing

PHPUnit / qUnit

WordPress Unit Tests

Code Review / Pair Programming

Automated Builds

  • Compile preprocessors
  • Run linters
  • Minify Assets
  • Package releases

Deployment

Teamwork!

  • Automate
  • Systematize
  • Be Kind

Questions?

Case Study: WordPress Core

  • Subversion
  • Trac
  • Unit Tests
  • Grunt
  • Travis CI
  • IRC Meetings
  • make.wordpress.org Blogs

THE END

BY Josh Eaton
reaktivstudios.com
josheaton.org

Image Sources