Welcome to RenEvo Sign in | Join | Help
in
Home IRC Wiisis C&C FarCry Blogs Forums Photos Downloads

Developer

"Not my code..."

By definition in agile software development, no one owns the code.

What does this mean exactly?  Simply stated, if you find a bug, you fix it, if you can refactor a process without breaking it, you refactor, if you find something that can use some updates, you update it.  There is no architecture meeting, no code change approval process, and definitely no "I found a bug in your code".

I was faced with a situation where a junior developer had sent me an email during regular business hours (mind you I sit about 10 ft away from him) letting me know that there was an error in the code.

MenuId.Error 

From the code above any junior level developer could easily notice that the @MenuId was used instead of the @ButtonPropertiesId.  Instead of just changing the string name, I received an email at 5pm stating that the code was broken, and this might be the spot.  Why not just fix it?

Let me restate a few principles from the Agile Manifesto, which our team tries to live by.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

This basically means talk to each-other, instead of sending an email to someone 10ft away from you, get up, stretch your legs, relax your eyeballs, and talk to the other developers.

Working software is the primary measure of progress.

So if the code works, you are progressing, if it does not work, then the progress does not continue until it does work.

Continuous attention to technical excellence and good design enhances agility.

If you spend some time doing it right, and "just fixing it", the progress is going to increase, hence the previously stated principle.

In short, if you find something that is broken, you see how to fix it, you have the knowledge to fix it, why not just fix it?

Now I do realize however that there are environments where the developers and programmers are confined to tiny spaces of code and can not dream of touching other portions of the codebase, but when you are encouraged to, and the team you are working with pushes the fact that the agile methodologies work, then double click on that variable and paste it above, then check it in and call Tom out on it, cause you just fixed a Senior developers mistake as a Junior.

Published Tuesday, October 30, 2007 9:33 AM by Dante

Comments

 

RedG3 said:

+1

Agile software development is definitely the most efficient and effective mindset that I have experienced.  I work part-time at a local software development company while attending school full time and the CEO is very fond of agile development :).

There are multiple packages that the company has developed and in using these packages for client projects, everyone is bound to eventually run into a bug in the latest version of one of the various packages, and yet even though they most likely did not help to develop that package, you will see various check-ins throughout the day on different packages as people take the initiative to fix other people's errors that do not take much time away from their own.

It also encourages us to learn more about the inner workings of the various packages, since if we were to come across a feature that we didn't entirely understand, or would like it to have some additional functionality, you can just walk into someone's office and talk to them about it.

Anyways, enjoyed the article, nice write up :)

October 30, 2007 8:12 PM
Anonymous comments are disabled

About Dante

I am a Sr. Software Developer in Orange County, CA who has been programming for over 10 years now.
Powered by Community Server, by Telligent Systems