Management requires measuring effectiveness and efficiency. To measure efficiency, we need some metrics. Metrics are used to demonstrate if an initiative is succeeding or failing. Metrics are also used to measure how one person is performing against another. Metrics make comparisons data driven and objective. The first challenge is finding the right set of metrics. …
Category: Software Engineering
Supply chain risks with plugin ecosystems
Batteries included vs Plugin based systems A good platform is often batteries included. It has support for most of the frequent use cases for its users out of the box. But there are many systems which only support a robust but shallow core. It depends upon an ecosystem of third party plugins or libraries to…
The Best of Times, The Worst of Times
Charles Dickens opens A Tale of Two Cities with one of the most quoted passages in literature: It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was…
Reading Culture
Why Writing Culture Fails Without Reading Culture Most modern software companies pride themselves on their writing culture. Amazon, for instance, is often cited as the gold standard here. And they are right: writing has immense value. Well-written documents sharpen the writer’s thinking, align diverse stakeholders, and make communication asynchronous. Each reader can absorb the content at…
Programming And Mental Model
In the software industry, people move from project to project and company to company. A programmer working on a project for a long time is generally very productive with the codebase. If another developer joins to replace them, there is a period of low productivity and risky outcomes. We can call this the transition time. During…
Effective Code Review
Code review is very essential in developing quality software. I have blogged about my code review experience before. Code review helps us to find defects in code. It helps us in sharing knowledge and establishing a common convention in the code base. Still problems in code review comes due to use of primitive tools, poor processes…