Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer

Friday, February 20, 2009

Things every project needs

I'm reviewing my checklists right now. I just came across one that I'd like some help with. It's called "Things every project needs", and it currently has this:
  • TODO system (e.g. specs, trackers, text file, bzr difftodo)
  • Version control
  • List of dependencies
  • One step build
  • One step build-and-run-tests
  • One step build-and-run
  • One step build-docs (API, testdoc, general docs, sphinx)
  • Version information
  • License
I hope you see the sort of thing I mean. I mean things you have to do (or at least think about) when starting any software project.

Can you think of anything to add?

3 comments:

Cory said...

I'm not sure I agree on all of this - why does build-and-run-tests need to be one step? Why can't distro packagers take care of build-and-run?

Here's a few more though.

- Documented build-run-tests-upload-release. (Maybe this is why you need build-and-run-tests? I still disagree that it absolutely must be one step.)

- Documented release announcement procedure. (Unlikely to get this down to one step though because there are many places to announce a project, not all of them belong to you.) Basically, this document.

Releasing should be done early and often. Therefore, it must be easy.

Christopher Armstrong said...

One-step release.

intellectronica said...

IRC channel
Mailing list
Wiki

Twitter Updates

Blog Archive