Software and Common Sense
August 14, 2006
I completely agree that it takes great developers to produce great code regardless of methodology, and that crap developers produce crap software, even with the best intent.
However, there is a part of Alex’s post that bugs me. He states:
“… no amount of clever gimmickry and prescribed methodologies is going to help us. Only plenty of experience and plenty of common-sense can lead us out of that conundrum.”
Maybe I’m taking this the wrong way, but I don’t think this provides a better answer than the concepts he takes issue with: there are plenty of developers who have plenty of experience, and depend on common sense and intuition to really foul up their projects. “Common sense” is what makes gimmicks and methodologies so appealing!
So, instead of experience and common sense, I think a great developer (or manager) is one who thinks critically about a given scenario, and applies the appropriate techniques to complete it successfully. The solution comes out of critical thought and a large toolbox of techniques, developed through experience and analysis — applying methodologies and determining why they succeeded or failed. Were they incompatible to begin with? Were they a good fit for the development team? What indicators can I look for in my future projects and interactions?
The critical approach takes a lot more work and is decidedly less sexy than appealing to common sense, but it reliably produces the best results, and that’s what we’re shooting for. Right?