|
|
|
|
|
by jcl
6326 days ago
|
|
And to again quote the article: "Programmers often take refuge in an understandable, but disastrous, inclination towards complexity and ingenuity in their work. Forbidden to design anything larger than a program, they respond by making that program intricate enough to challenge their professional skill." The article points out that programmers instinctively look for ways to make their jobs more interesting, and that many of these approaches end with solutions that are unusable or unmaintainable. There may well be no interesting and effective way to specify that Arizona and Texas need documents SR008-04X and SR008-04XI. |
|
I don't think developers look for a way to make a project "interesting" just for kicks. At least in my experience, there is a genuine desire to improve the process, to automate everything that can be automated, to invent and create something that's much better than the original.
And sure, they might not get it right on the first attempt, but that's why you attempt to fail early. There is this odd notion that code is sacrosanct; that once created, it must never be discarded, that we should never change our initial ideas, no matter how wrong they may be. I'm of the opinion that this is not a good way to solve a problem. If you're heading in the wrong direction, then you turn around. You don't keep driving, hoping for the best, yet this is exactly what most software projects seem to do, and why they ultimately end up in disaster.
The ingenuity of the developers is not necessarily at fault; rather its that they or their managers are afraid to fail early, so they fail when it's too late. We shouldn't shy away from ingenious solutions because of this. The corporate world is too short of ingenuity as it is, and no more so than in the field of software development.