2011/02/12

Think first vs. Extreme programming

During many years I had the feeling that I programme too slow. Yes, I thought I have this disadvantage against some other programmers I know. I devote the people who is writing a solution when I am still reading the problem.

But during this lasts weeks of more calm development, I realize that I was not taking into account another factor on this equation: bug fixes.

Almost all the written code would requires some maintenance. In my case, I have realized that the faster, the often. I mean, often the things that I wrote too fast I had to review and fix. Or even worst, a hard refactorization when the time goes in a secondary term.

I understand that in some moment a hackish can be a necessary tool, but does someone measure this as a cost? In many consultant companies where I have work, they measure how fast you write and almost never how good you think.

I will always remember the day that I have received a warning from the project leader to explain why my code has less lines that yesterday: "Easy, I found a way to optimize main method of the scheduler task" (ingénu). The thing goes worst when he orders me to undo this optimization. The final solution was to have two methods and the compiler forgets the old/long because is not called.

After this personal battle that I hope is not bothering you too much, I go back to the origin of this post. There are programmers who are better codifiers under extreme programming environment, others (I think my case) codes better under circumstances that allows to think in the solution before.

Probably is a thing to measure in an abstract way and do some statistics, but how is the bug-pattern? The thinkers can try extreme programming, but can be satisfactory the other way around? How the codes evolve in terms of bugs and patch releases?

Finally, I think programming is a team activity (or the project is small enough) and a good boss, more than recruit the best ones, must recruit a good balance of extreme programmers and thinkers. Thinkers some times can decay in "never release" because some improvement can be added.

Or perhaps I am confuse and wrong in what I am saying...

No comments: