Consequences of Inadequate Tools and Design

Mahmudur R Manna
3 min readMay 9, 2023

What happens when you build the right thing based on the wrong tools or design or engineering?

Initially, it may please you but it will soon become your liability. There is a nice term for that — Technical Debt. And most of the time it asks for a Rewrite.

Managerial Misconceptions in the IT Industry

Serving as an architect for a long time, my main frustration in the IT industry is this: many managers with authority consider themselves architects or at least capable of building a product if they have a few engineers and can decide on the best technology for the project. Despite not having written any code or conducted core technical analysis in perhaps ten years, they believe they know it all by merely reading tech articles and attending vendor presentations.

Disregarding Architecture and Technical Analysis

Some even think it is a waste to invest time in architecture and technical analysis, opting instead for an extreme approach. Some are very confident that if they can write good user stories, that is good enough to deliver a good product. And these managers are highly tagged with technology vendors’ pre-sales guys. And interestingly, these pre-sales people call themselves Solution Architects. We have willingly created such an ecosystem, which appears to me to be writing our own death.

Learning from Ancestors and Regional Differences

I think there are some regions where I found they have learned from their ancestors’ mistakes, and most of them value this technical analysis and design part significantly

In the South Asian region, there is no long history of developing products, which means there has been less opportunity to learn from suffering. As a result, people in this region are easily convinced by new trends or articles written by someone with a big title. For example, they might be swayed to follow the Twitter architecture or imitate what Netflix has done.

Misinterpretation of Agile and Technology Adoption

Agile encourages you to reduce unnecessary documentation, but that does not mean eliminating the architecture, technical analysis, and necessary design artifacts from SDLC. Microservices are suitable for certain cases; that does not mean you also need them as a status label. Serverless may be effective for batch/job processing, but that does not mean you have to deploy all your web apps and APIs with serverless. Functional programming is beneficial; that does not mean all your code needs to be written that way. Generative AI is the latest advancement; that does not mean the rest are outdated or going to be abandoned.

Disclaimer: The views reflected in this article are the author’s views and do not necessarily reflect the views of any past or present employer of the author.

--

--

Mahmudur R Manna
Mahmudur R Manna

Written by Mahmudur R Manna

Engineer | Author | Entrepreneur with over two decades of experience across the globe at the intersection of technology and business

No responses yet