Essential Engineering Principles

Engineering principles give teams a practical foundation for how to build and operate software. They guide decisions, shape behaviours, and help groups stay aligned even as systems grow in complexity. Instead of being abstract ideas, principles work best when they’re simple, clear, and used every day. Good principles remove guesswork. They set a shared baseline for what “good engineering” looks […]

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 […]