Software Mantra #2
Here’s another mantra that can be used to inform decision making, whether for development processes or tech choices (or anything, really).
What is everyone else doing?
Why?
Is it working?
Most of the problems your team or company are having have been encountered, and solved, by others already. This mantra pairs well with laying down sensible defaults for tech choices, and trying to prevent Not Invented Here Syndrome from developing.
Hopefully your company has a unique business proposition to offer the world, but not all of your challenges require bespoke solutions. Try to figure out if others have run into similar problems, be it scaling, product definition, UI look-and-feel and just go with what works unless there’s s driving reason not to.
Maybe this sounds so simple as to be cliché? In concept yes, but if you have never had a conversation internally about “why can’t we just run this on Postgres?”, you might not have experienced it in practice. Unless your organization has discipline about maintaining Architectural Decision Records, there might not be any known reason why some service is running on C# while everyone else is using Go, or why Dynamo was chosen despite the costs creeping up every month.
Using this mantra can help assess how far off the baseline your organization is, but perhaps more importantly, it can reveal whether or not your company is capable of being self-critical without becoming defensive. Previous decisions should always be up for blameless re-evaluation, and you can use that process to better document why the chosen solution is still preferable.