Monday, September 03, 2007

Secret tools of top .Net development teams.

Ever been annoyed with challenges of developing enterprise class applications in team environments? While building a seamless development team might be beyond the scope of this article, here are a few tools that can increase productivity by leaps and bounds. And the best part is they are all free, open source tools that most developers are hardly ever aware of.

1) Source control is a key tool in your toolbox, it can help version your code prevent loss of valuable code allow multiple developers to work on the same code base etc. Even if you are a single developer you will find it immensely useful. SVN, CVS and Visual source safe are a few source control repositories. Again you may want to evaluate them to suite your needs based on how they work and features they support.

2) Automated building, unfortunately the feature that is most lacking with Visual Studio 2005 (at least for the free, std and prof editions) is the lack of support for automated continuous/integrated building of code. Just imagine if every time each developer on the team checked in a feature enhancement or a bug fix your Project Managers would have to bring the roof down with umpteen meetings, testing, and deployment.

But if you checkout the latest version of your code build it and run automated testing without a single mouse click, how cool would that be? I bet you'd impress the boss and spend more time tanning than frying your eyes by the monitor. You think its a myth, but you can do just that by using Cruise control and MSBuild. What's even more cool is that you can integrate Cruise control with SVN, so automated builds are being generated on the latest code base that has been checked in.

3) Most challenges with software development are shipping bug free or nearly bug free code. While even the best Q.A teams can miss the most common of bugs. Automated testing can prove to be less expensive and far more useful than repeated manual testing. Especially in the case of regression testing, you are not going to bore your testers to death. NUnit testing is a good unit testing tool to use. Further you can integrate Nunit testing with Cruise control.

4) Bug tracking - a good bug tracking system can prove to be more than just another Pandora's box if you can use it wisely. While it does not play a direct role in team development it can help developers track and fix their bugs.

Happy Anniversary!

No comments: