DEV Community

Discussion on: The Impossible Bar of a Professional

jorgecc profile image
Jorge Castro • Edited on

It is because we usually don't know the "name of the game".

I explain. Let's say that our user (if not the company that we worked) is a Knight, if it is a Knight then we are a blacksmith.

Now, some ogres attacked a village and our knight must fight them back.

The knight says:

  • Hey blacksmith, I need a shield and a sword right now (or, I need it for yesterday I have hear it tons of time).

So, we could give it a fast-but-cheap shield and sword but at least the knight could do its job, or we could say "yes, I will give you the best one but it will take a month". Of course, a month means that all villagers will be dead. Some knights even improvise with their own resources (while they are waiting for proper equipment), some even throw rocks because they are accessible and they know how to use it (Ms excel).

So we do what we can (with our limited resources) and we hope it for the best.

Our ethics suffer if we do a poor job. However, maybe our ethics (or ego) is intact if we take the time to build a better tool but, our usability is compromised (we are useless!) and finally it is the same. So we usually should balance time and quality but we could have them all, we should read the "mood" of the project.

Some developers refuse to release a rushed project. 9/10 ogres prefer this kind of blacksmith

Now, the software has a duration date, right now is around 3 years, it could be extended two cycles (6-7 years) but anything over it is insane. This doesn't mean that there are not systems and programs around here that aren't older than 7 years (aka legacy) but they are costly. It means that if we took 3 years to develop a system, then the end result borns outdated.