« Firebug is Getting Better and Better | Main | Googling for 'Ubuntu' returns 0 results? »

June 08, 2006

Tight Feeback Loops and Application Development

My CMPS183 team reached the RC1 milestone for our web-application after a weekend of intense coding. Looking back, I can say that there were two major factors that allowed us to create an entire application in just a few days:

Subversion allowed us to work on any file in the system without worrying about who might be making concurrent changes. This was especially useful for our include files where a number of discreet operations, that are callable from any other file, are held. Adding new functionality to the library didn't involve any downtime for other team members who were conducting tests or also adding code to the library.

Rapid feedback on the impact of changes made to code was the biggest productivity booster that we had. By immediately sharing changes with all teammates through Subversion we could simultaneously evaluate the impact of those changes on Windows, Mac OS X, and UBUNTU linux. If an error was introduced, it was generally caught immediately. And since the coder who made the change most likely still had the file open in their editor and the changes were fresh in their mind, correcting the error was easy.

The project has been a lot of fun and working with a team instead of in isolation is great, but I feel that the most important thing that's come out of this Professional Development exercise is my realization of the importance of immediate feedback when coding. In this case the feedback was from teammates but it could have come from an automated test system just as easily. Faster feedback leads to faster fixes when bugs slip into the system. And that leads to shorter development cycles.

Posted by ashusta at June 8, 2006 11:03 AM

Comments

Post a comment




Remember Me?