Pulling the Plug from a Project

Every project starts with high hopes to deliver one or more business values. The team begins with the requirement analysis and then carries on with design and development. On the journey, many obstacles appear. The team tackles one. Later another one shows up. It seems the project is going nowhere. Sounds familiar? Stagnating projects isn’t new. I’ve seen in the […]

Addressing Technical Debt

Tech debt occurs when we solve a software problem with our limited understanding of the business at the time. We start building a solution to get feedback as early as possible. By the time we deliver the software, we might have accumulated some burden. The debt metaphor comes into play. Instead of spending additional time on business requirements, we prefer […]

Building a Technical Vision

A technical vision is the compass of an engineering organization. It sets the long-term direction. I believe it should define the “why” and “where” behind the technical choices that would follow. At its core, a technical vision should answer three questions. What outcome do we want to achieve? By when? And through which actions will we get there? Without those […]

Manager as a Service

What would a manager as a service look like? What kind of systems a manager would resemble? How can you describe a manager’s responsibility through various systems? Here’s my take. A good engineering manager is like An integrated development environment (Idea, Visual Studio, Xcode). S/he helps to maximize engineer productivity. S/he is highly technical and provides guidance where the engineer […]

Service Overload Strategies

Service overload happens a lot. If you haven’t seen one, count yourself lucky. The first time I watched it take a system down, I realized how serious it’s to get the basics right and implement mechanisms to avoid it. I remember how it brought down our social services to its knees in the early 2010s. There was no autoscaling, we […]