I wonder how much functionallity we don't really need that we still implement in the applications? Today at work I was talking to Keith the architect I'm wirking with now with the system design for a new application. We talked about just writing the functionallity we need. We want the design to be as simple as possible. When I came home I read about YAGNI, You Aren't Gonna Need It, from Extreme Programming and thought that this was exactly what we talked about.
YAGNI is about that even if you are absolutly, totally sure that you'll need a feature later, you shouldn't implement it now. If you implement the functionallity now there are two possible scenarios 1, you don't need the functionallity after all 2, the functioanllity that you actually need is different from that you thought.
If you live YAGNI you will save time by don't writing code you don't need and your code will be better because it don't contains not-used-code.
Of course you should write flexible systems it only means that we can't predict the future so don't desing for the things we don't know. Don't overdesign and consider things you can't know and don't design for something based on what you think you might need later on.
I found this quote "Always implement things when you actually need them, never when you just foresee that you need them" here.
Monday, April 23, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment