DEV Community

Discussion on: Making it simple in software development is a principle, did you know?

Collapse
 
ghost profile image
Ghost

The problem is that is like saying live well and you'll be happy, the goal is not the hard part, is the how; the SW industry seems desperate to find "absolute truths", "catch phrases" that will solve everything; sadly and gladly is not that simple; you can't replace experience and good old common sense, which is hard to get and not common at all. Some decisions I've taken in the beginning of projects had taken an extra hours and avoided weeks of work later; can I always be that wise, hell no, blindly work just foreseeing the next 2m will not take you to anywhere close to the top of the mountain. Those principles are useful to keep in mind, not forget that they are important, but they are not rules, simple today sometimes is extra complex tomorrow, cheap and fast today can lead to a dead end, a very expensive and time consuming end. What is the secret to know what is what, well, no idea, and I really distrust anyone who claim they know. Like almost everything is about balance.

Extreme YAGNI can lead to the need to re-write everything for every new feature or change and extreme KISS can lead you to the st terminal, that being so extreme in that, ended very lacking in features, unnecessarily annoying to use and consuming more RAM doing much much less than more feature rich terminal emulators.

I know that balance is a non-answer but I don't think there are an answer, just experience, earned and learned; no shortcuts, no cheats, no recipes. Keep the principles in minds, follow them as you see fit.