Jeff Atwood posted some interesting blog posts too:
The Ultimate Software Gold Plating
Gold Plating
Just in case you are not familiar with the concept of YAGNI: You Ain't Gonna Need It!
For the sake of pants, I'll coin a new term developmestruction:
Developmestruction occurs when a lack of details or developer foresight causes development to become a destructive force towards time and money constraints, as well as posing a succinct threat towards project goals and client patience.
In short: Destructive Gold Plating = Develop-Me-StructionAs stated before, the first childhood signs of a developer causing developmestruction is when planning isn't done appropriately.
The simplest example of this would be:
As a company you are running seminars - each of these seminars have their own prerequisites in terms of the target audience and some business logic factors.
Developmestruction approach: Create an entirely dynamic way of adding/creating new seminars via multiple crud and management forms, totally avoiding the problem field at hand.
YAGNI approach: Hard code the majority of the logic and allow only some logic to be configured.
Sometimes we as developers need to stop what we are doing and sit back, relax and consider for a moment what we are trying to accomplish.
I believe it's quite wonderful how many accronyms there are in software development (one day, perhaps soon I'll write a reference post).
In reality, gold plating can be avoided if we can GRASP the concepts in play. Laziness just leads to more work!
And remember KIS - Keep It Simple!
No comments:
Post a Comment