Development process overview
The Growstuff project uses a methodology called Extreme Programming to develop our software. This page is a brief overview of how that works for us.
QUICK GUIDE: how to get involved as a developer
- Join our Discussion forums
- Optionally, hang out on IRC
- Find an issue you're interested in working on, and leave a note saying you're working on it.
- Find someone to pair with
- Fork the Growstuff/growstuff code repository
- Work on your story -- see Development/Coding session for details
- If you need help or feedback or want to discuss your work, ask on any of our Discussion forums
- Submit a pull request to the "dev" branch
- Your work will be reviewed (usually within a few days) and should be integrated into the dev branch, then deployed to the staging server for testing
- Eventually (usually within a matter of weeks) it will be included in a release deployed to production.
We like working in pairs, to help cross-train and to make our software higher quality. We also use test-driven development as a discipline to help us code better and make sure we don't break things. This is a definite help when Refactoring, or improving older code, because the tests can demonstrate that our changes haven't broken functionality.
When pairing, we usually work together using voice chat (Skype or similar) and a screen-sharing tool. Sometimes, when they live near each other or are at an in-person event, they work side by side in front of one computer.
We want our software development process to be sustainable. This means that we don't push people til they burn out. We encourage people to work at a comfortable pace, and to pass on work that's proving to be too difficult, too time-consuming, or too frustrating.