I keep seeing it posted in various places in the agile development community that story point estimation is difficult for some agile teams to grasp. As an agile coach I help people understand it by explaining that we do it every day. It is the intuitive computer we all have within us.
For example, when I go to the grocery store to buy food for a party, I don’t come up with formulas for doing it, I just intuitively pick things based on knowing the general size of the party and comparing it to previous parties I’ve held. How about you, I’ll bet you have examples of this in your everyday life. It’s the same thing!
When applying this ability to agile software development estimation, we naturally consider things like complexity, effort, doubt, and other variables when sizing things intuitively. The beauty of intuitive processing is that we assemble and recognize patterns and don’t deal with each specific variable separately. That is why relative point estimation goes so much faster than detailed bottom-up estimation, yet is amazingly accurate (obviously depends on number of patterns accumulated through experience
Additionally, it levels the estimation process across different functional focuses on an agile team, so estimates are not just Dev based but can factor in considerations from testing, UI, Tech Writing and others, providing a much richer result. And don’t forget having better buy-in for the estimate across the team.
If you’re having trouble with folks not getting relative point estimation, try using a non-work related scenario to explain it. For instance, I like using the metaphor of painting a room. You could measure the room to get the exact size, come up with a formula for how many strokes it will take with a brush to get coverage on the wall, figure out based on paint transparency in coverage how many coats you’d need, etc….. OR… just ask, “Have you painted a room before? How big was it compared to this room? How long did that take?” Adjust for comparison, and you’re done.
One of the things I’ve noticed during my 25+ years in systems and software project development is that many of the best patterns we utilize are direct abstractions from nature… object orientation (biological systems) and even agile (see evolution). Why not use what has evolved over millions of years? Intuitive processing / pattern recognition is a survival trait, especially in mammals, why not leverage it