Wednesday, July 25, 2007

What makes a software project fail?

Came across an article discussing the factors of why software project fails:

Take a look!

I agree with the 3 pillars, which are:
  1. Version control
  2. Work item tracking
  3. Build system
When i review these points on my current project, which implemented a great build procedure, good version controlling, good bug tracking system, and compare to previous projects which did not implement one of the 3 important items, the time saved is really significant!

First of all, a better tool for version controlling was introduced: SVN, then he started to come out with all kinds of ant build script to basically compile the source codes, moving files, deleting files, ftp files and etc. We even have a build script to refresh the whole database schema by deleting tables, drop users, creating new tables, running data scripts and etc. Lastly, we integrated these two important features into our LDAP system. We applied LuntBuild as a better framework to control the build, we applied Trac which provides a lot of features to govern or track bugs.

With the help of all these tools, we managed to save really lots of time on the deployment! The deployment can be easy & clean! Everything is handled at one end, no other parties could interfere the integrity!

Of course, there are weaknesses too, we did not manage to deploy part of the system. For every deployment we are about to do, we got to build the whole project & deploy to the server directory & in the end run some unix scripts which basically unjar the war file & restarts the web application.