My actual minimum requirements for a project

Published on Dec 24, 2008

My previous post got me thinking, what are the things I will considered as minimum requirements for me to work in a project even when I have serious constrains on time?

For requirements I mean methodologies and practices that I will need to use. After some thinking this is what I came up with.

There are at least three things, commonly associated to an Agile project that I will want to have in place.

  • Source control (yes, there are still companies that don’t know what this is). Installing Subversion (VisualSVN server + TortoiseSVN) usually takes 30/60 minutes.
  • Continuous Integration server, CC.net, TeamCity: install and configuration 3 hours maybe half a day.
  • Using TDD as a design tool at least for the domain but only If I can use ReSharper or a similar tool (I can do with the free version of CodeRush as well).

This is the type of things that I use, even when writing some demo code or my own applications that I’m playing with. At home I have Subversion installed in my dev machine and in and old Pentium 4 that runs TeamCity.

I don’t think that this will add any significant amount of time and the benefits are such that I can see myself not using them.

I will probably don’t do much in the sense of integration test, (of any at all) in the automated UI test fields and code coverage. I like to do that but not in circumstances as described in the previous post.