maandag 19 mei 2008

Solving bugs or working on maintainability

Last friday I had a discussion with one of my collegues who is one of the guys who's responsible for setting up the entire project. He seems to be a nice guy with reasonable knowledge about some stuff. He's been working on the project for probably years now so he seems to be a bit of an authorithy within the project.

The discussion i had was about the importance of solving small bugs vs. setting up a build script which doesn't exist yet. While he very much agreed to the idea that a build script would be very nice to have ( he brought the idea up several times himself ), he was clearly on the side of giving preference to solve bugs first because this would be something the client would notice and would directly improve customer satisfaction while a build script would be something a client would notice nothing about ( at least not diretly ).

Because there should have been a release last week everybody in my team stressed on solving as much bugs as possible.

While i know that solving bugs is at some degree important i think maintainability should also be a requirement with a pretty high priority in projects. Because of his status in the project and his opinions on solving bugs vs. working on maintainability I suggested to work for 90% of the time on solving bugs and 10% of the time on maintainability ( first step would be a build script  ). I couldn't get him to agree on this but he finally agreed to give me some time after this release would be released which is in the beginnng of this week.

My ideas about steps to take to improve maintainability are the following:

  • Setup a build script which does a complete build of all the solutions in a single step
  • Make sure the build script runs as part of a continues integration server in Team Foundation System
  • Add Smoke Tests and Mock Client Tests using Watin and add them to the continues build process

I've pointed out my ideas several times and i dont want to whine to much about the situation since i'm still new in this team and i also don't want to make people feel offended when i'm constantly criticising their views about the development process and what should be done etc etc. Therefore i decided to agree with him on solving bugs for now and starting to work on the steps i mentioned above after the current release is done. While i'm feeling stupid solving unimportant bugs while there isn't even a build script yet I think i have to sacrifice a bit to make sure my relation with the people in the team will stay healthy.

Next week i will start making sure at least the first 2 steps, (buidscript and continues build) will be fixed and i will also probably talk to the test teamlead about making some automated Smoke Tests and Mock Client tests which should serve as the first regression / functional tests which will be added to the continues build. The test teamlead at least told me that he found that testing isn't considered to be as important as he thought it should be so at least i got someone in the testteam on my side which im pretty happy about.

To be continued next week...

Geen opmerkingen: