views:

227

answers:

4

I work for a small web development company (only 2 to 3 developers) that work on a wide range of projects for different customers (everything from CMS's to eCommerce sites).

Usually we work on our own projects but occasionally we need to work together on one. We use subversion as our source control software and sites are developed in .NET using VS 2008 and SQL 2005.

After reading through plenty of posts regarding unit testing and other "enterprise" level coding practices I was wondering what other developers do for small projects that only require minimal maintenance and have short development times?

I am thinking in particular of things like is unit testing necessary, etc.

+1  A: 

Unit testing IS necassary no matter what. If you write code, you unit test. I work by myself alot too. I still test. I dont know how I ever wrote code before it.

Heres the way I look at it. you dont necassarily need the same expensive tools as the big boys, but if you want to be big, you have to think big. Do the same htings, follow the same practices. As your needs grow, get better tools. For example, if you do any UML diagramnming, you porbably dont need any saftware. Just a whiteboard/paper. But still use UML. When your needs grow, you can look at getting special software.

Even project management. You dont necassarily need the expensive tools to track projects, as long as you do it. As your needs grow, you can get specialized softwaare.

In short, do the same things you would do if you were bigger, but you dont necassarily need the same tools. Aquire as needed.

EDIT: I should mention though that some of what you do of course is dependant on your methodolies/processes that you use. For example, do you do agile development? Being small you dont necassarily need to do everything exactly the same. For example, I try to be agile, but I obviously dont pair program :). You just need to learn to adapt them to what works for you.

mattlant
A: 

Our development environment is pretty small as well. We mostly do Java web development (some php) as oppose to .NET or something else. We use Project locker for our wiki, svn and bug tracking system. For code development it varies between Netbeans 6.1 and Eclipse and MySQL as our database backend.
We've made it standard practice to write unit tests for our code. It makes upgrading our code base soo much easier 4 months later.

oneBelizean
+1  A: 

I think the biggest mistake you can make is to dismiss something for being an 'enterprise' level coding standard. Although stuff like CI, build servers, unit-testing, coding standards (I can't think what else you may mean) etc.. may take an initial overhead they will pay dividends in the long run. For example if your project is hacked together now and three years later your customer wants to add a feature you will be glad that you have put in the time to get unit tests now. (OK this may or may not happen but... if your customer gets someone to look at your solution in the future and they see badly hacked code they may not use you again).

Remember as well the more you do this stuff, the quicker it will become.

John Nolan
A: 

The thing is: you sleep much better at night if you know that at least the unit tests ran through okay before you deployed that stuff.

xmjx