Ideal vs Necessary Evil

Someone confronted me about Ideal vs Necessary Evil in regard to coding to best practices. 
Today there was a loud debate among myself and two other developers regarding how to handle some legacy code. One developer wants the the legacy code refactored and testable the other wanted to modify the code quickly since the company plans to rewrite the application after the next deployment in a month.  I wanted to make a code branch of existing code then refactor as much as possible as long as the new functionality was working first.  At the end of the long discussion there was still no agreement. One of the developers sent me this email after the meeting. (yes I have his permission to post)

 

"In few years back, Dental flossing is Ideal, but now enough studies are done to prove it’s necessary now. But still some people with bad habits, (sometimes including myself), think that it’s  not necessary.
Whatever view we have, the reality of dental impact on the health doesn’t change. Same goes to SOLID principle in specific, agile practices, values in generals.
An agile developer expresses values through practices. Like daily dental flossing for health.  For some, dental flossing is ideal ( I used to have that view). Now I know enough, it’s not ideal for me anymore. My point is that you learn agile practices, principles till the point you see there are necessary for your professional development. The danger of view of Idealism where necessity is demanding is that as long as we have that conviction, our minds can trick us to give up easily in daily pressured activities. There were cases in my learning experience, I got tricked , and I paid for it. This is from my years of observation.  I am writing this to elaborate more on my point on ideal, and its impact on us. "
 
I was trying to find a way to refactor the code and to not break existing code.  Lesson learned: Making everyone happy makes no one happy it seems.
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
posted @ Tuesday, November 24, 2009 6:10 PM
Print

Comments on this entry:

# re: Ideal vs Necessary Evil

Left by jkhines at 3/16/2010 9:37 AM
Gravatar
Sounds like you're learning what it means to be a technical leader. Don't be discouraged when everyone else is unhappy, though. If you follow a consistent philosophy people will eventually realize that you are trying to make life better. Then the disagreement tapers off and things become easier.

Personally I would have advocated for what you suggested. There is absolutely no harm in getting things working first. And by doing the refactoring you may discover key information that would help with the rewrite. The only mitigating factor is if you have other, more urgent, priorities.

Your comment:



(not displayed)


 
 
 
 
 

Live Comment Preview:

 
«February»
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910