Development tip: never remove features

Posted on:April 17 2014

If I have learned something since starting developing and selling my own software, then it is to never, never, ever, remove a feature when creating a new version of your software. No matter how stupid or irrelevant or buggy you think the feature you want to remove might be. Because there will be people who use this feature. And who will absolutely be pissed about you removing that thing they need.
I think this is also one thing which Microsoft didn't get, when they decided to remove the start menu in Windows 8, and replaced it with the fucked up start screen, which doesn't even contain half of the features of the start menu.
If you need to remove something, then don't remove it completely, but hide it instead, so that if users who rely on this feature can at least find it and continue using it.
On a related note: One similar important thing I learned as freelance developer is this: although it might be tempting as programmer to rewrite a whole, old app or parts of it completely because it is now absolutely fucked up and not maintainable anymore, don't do it, for the same reason. People rely on the strange and probably even buggy features deep inside of old software, and you can never reproduce all of them easily in a rewrite.





Comments:


Oh yes, the blessing of having to write bug-compatible code...

It gets particularly annoying when stuff was officially declared as "buggy, incomplete, just to try out" and still people start depending on it, so the major overhaul planned will never come, and the crappy first incarnation sticks around forever...
xaos
Quote
2014-04-18 10:35:00


Amen brother. Same problem with alpha/beta-versions: "This feature was actually just for testing and/or debugging" - "But it was soooo useful...!"
KIENI
Quote
2014-04-22 11:31:00


Never removing useles, buggy features? Just like OpenSSL never did?
Tazo
Quote
2014-04-23 15:39:00


The problem is that you released the code in a faulty state to begin with and forced people to adapt to it instead of fixing the problems before they could do so. A broken feature is worse than a missing feature, not because it doesn't work right, but because people will get used to it being broken and forget that it's not supposed to work like that at all. And when you fix it, they'll just complain because they have to get used to it all over again. Do it right the first time or don't include it.
Render
Quote
2014-06-18 18:29:00


Render: Are you talking about something specific?
niko
Quote
2014-06-20 04:48:00


Add comment:


Posted by:


Enter the missing letter in: "Internationa?"


Text:

 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons