Thoughtbot, Github and PlataformaTech shared their development flow over the past few months. Our development flow differs quite a bit as well as our Product Management process so we believe that they are worth sharing!
VersaPay development flow features:
- 2 week iterations
- planning poker
- feature branches
- CI against all branches
- code & UX review
- deploy at the end of each iteration
To support our workflow, we use a couple of well known open source tools, and a few we’ve built ourselves and released on Github. We use the following well known tools:
- redmine – A ticket management system.
- redmine backlogs plugin – UI to sort and group features per iteration.
- jenkins-ci – Continuous Integration server.
- gitorious – Open source Github like.
We developed the following tools to support our work flow:
- gitmine – A command line tool for Git and Redmine!
- Alfred – A dashboard linking Git branches, Redmine and Jenkins.
- viewcumber – Cucumber formatter to browse your application by clicking through your cucumber scenarios.
- mothership – Anyone can deploy in one click!
- jenkins-github-autobranch – Create, Run or Delete Jenkins jobs whenever a new branch is Created, Updated or Deleted on Github or Gitorious.
Each feature is described in a Redmine ticket and will live in a feature branch starting with its ticket number followed by an explicit name. We use gitmine to automate creating, checking-out, reviewing and deleting branches.