Because Product is not always a quest for perfection: Advocating "quick and dirty" approaches
I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself “Dijkstra would not have liked this”, well, that would be enough immortality for me.
-- E. W. Dijkstra
- The ethics of virtue, or excellence. This is where we focus on the search for perfection. Let’s try to craft the best possible algorithm under current constraints.
- The ethics of principles. Everything is led by the principles that lead my life, or my company. Whatever I am implementing must follow those principles.
- The ethics of utilitarianism. My focus is to understand the final goal and act accordingly. to achieve it
- An MVP where the quality of the algorithm is less important than measuring the thirst of your potencial customer for having it.
- A proof of concept, a demo, where showing the "what" is key. Showing the "how" in detail may come later.
- Non-critical aspects of production environments where, in some specific cases, having a so-so version is still much better that not showing anything. It can be as utilitarian of having a feature that your competitor already has so you get a “check” in your potential customer’s competitive landscape checklist.
- people in the organization may think this is the standard way of building products. Being able to build a demo in a few days or a PoC in a few weeks may give the impression that "this thing of building products is not that difficult". It is part of the Product Manager's job to clearly articulate and explain the difference between building the core software architecture of the product and, again, enabling the sales team to show a possibility to the customer.
- the second is obvious: quick and dirty code should not stay long in the codebase. This may cause an increase of technical debt. Under pressure to save the burn rate, many teams will feel pressed to just run and forget. This will bring problems in the long term, as many of us have experienced.
Some people in the organization may feel frustrated by quick and dirty as part of our toolbelt. The ethics
of virtue is very strong in some. I tend to go that path sometimes, I
admit - I have a few academic papers to show it-. But the same way a
chef may eat a sandwich once in a while, we need to accept that in some
situations, quick and dirty saves our day.