Is story point estimation mandatory for being Agile? Can we use Hours?

Photo by Zach Lucero on Unsplash

“Let’s use Story Points


We are following agile now

Yayy.. story points!

How many hours will these stories take?

But are we not using story points now?

Yeah, but we still need to plan. Hours are better for that. 1 SP = 5 hours. ok?”

Heard this story of story points and hours many times. It is important to understand

Why do we need Story Points?

Is it mandatory for being agile?

Are hours prohibited?

Purpose of Estimation

Hiring is complex and tedious work, but one of the most rewarding too

Photo by Michael LaRosa on Unsplash

I started my career in an early-stage startup. That gave early exposure to a few of the responsibilities which are sometimes bestowed after years of experience. One of such experiences was to be involved in the hiring process. I took my first interview in 2002. Being an early-stage startup, our focus was to hire engineers who have a good grasp of software engineering concepts so they can be productive soon and have a ‘can do’ attitude. The interview process was designed around these focus areas.

Evaluation for technical skills was easy with some specially designed questions around Core Java and…

The mind is a very powerful organ at our service, as long we know how to tame this beast, and are not letting it become our master.

Photo by Glen Carrie on Unsplash

This is an incident from my childhood. Back then, our daily routine used to start very early in the morning (4 am). I learned this habit from my mother and grandmother. They used to wake me up every day. At some point, I grew a wish to surprise them by waking up earlier than them. However, at a tender age, it was not easy to wake up that early without an alarm clock or without help.

I kept on thinking for many days. That wish was growing stronger and stronger. And to my surprise, one day I woke up earlier…

Write code that can be read like a story.


If someone asks me who is my Guru for Java, I would say ‘Sun Microsystem’ and ‘Apache Foundation’.

I am from a generation, where most of the programming learning was by reading Java source code. Internet was not a big store of many rich blogs or forums, and hence reading through code was the best resource to learn. Moreover, the kind of components we built, was not possible without understanding the behavior of the system that we were extending. Hence reading through the code of Java libraries and components was almost mandatory for building the right extension, and the products.


Let us also decode what is Architecture, what does Architect do


For long, I kept wondering what is Software ‘Architecture’. If Architecture is those nice diagrams to represent system components, layers, interaction and data flow, then what is ‘High Level design’. It took me long to find or to realize the answer.

Formally, Architecture has many definitions. However, commonly found terms are building blocks, fundamental structure, blueprints for design and so on. Which definitely reflects that it is something important for the product.

Gradually I realize, that Architecture is everything which is important for product, everything which can make product elegant, stable, abstract and easy to extend and evolve, if we…

Logs that can narrate the story of the system state in simple words


“In some ways, programming is like painting. You start with a blank canvas and certain basic raw materials. You use a combination of science, art, and craft to determine what to do with them.” — Andrew Hunt

My first lesson on the importance of logging was in 2001–02, from my manager and coach Puneet Agarwal. We were building a framework for Data Bound Swing Components which can be used to design any application dynamically using a Net Beans kind of IDE, to enable rapid application development.

The design was to extend Swing Components, attach metadata for data sources (and data)…

Context changes with time, which makes understanding the truth difficult. Let the truth be accessible easily to everyone, with effective documentation.

When I think about documentation in code, I think about a fellow developer reading it a couple of years down the line when I am not around. And that defines the test/quality criteria of documentation for me:

Will a developer who just understand the system domain, would be able to make sense of this code or not?

I have a short memory so I even forgot code written by me also after a couple of years or even in a much shorter span. Hence, I am a good test case for my code and documentation to see if I could…

Changes are difficult. Leaders lead the changes by setting the example, and by showing that it is possible

Photo by krakenimages on Unsplash

Albert Einstein once said “Setting an example is not the main means of influencing others, it is the only means.”

To complement this quote, let me tell you a story.

I started working as a shop supervisor back in 1998. It was a mechanical workshop with approx 25 technicians. Most of them were very experienced and were in the age group of the ’30s to ’50s.

It was a challenging job for a 20-year-old boy to manage the workshop with such experienced workers. Hence, for all the obvious reasons, I had various interesting experiences and learning during this job. …

Surprises are inevitable. Handling these early and gracefully helps both customers and developers.

This is the second article in the ‘Art of Clean code’ series. Refer to the first one here.

Error Handling is to accept that surprises are inevitable and to be prepared to manage any surprise gracefully with as minimal impact on customers as possible.

But isn’t error handling something which we do as part of coding normally. We use try/catch and throw the error. Let us try to understand what is more in Error Handling.

Surprises are Inevitable

Photo by Susan Yin on Unsplash

Microservices architecture bring us so many great benefits, as we discussed here. However, nothing comes free and so the benefits of Microservices. There are various challenges which are by-product of microservices, and it makes all sense to understand these well before beginning journey in new fancy world.

One of these challenges is the complexity of troubleshooting which comes with microservices pattern. We shall discuss this and its possible solution in this article.


Mohit Gupta

Enjoy building great teams and products, a learner, an explorer of matrix

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store