Here is my unpopular perspective on story points. Story points are just a number. Don’t get me wrong though, it’s a good information to know for the team so that they can predict their velocity and commit to deliverables. #agile#scrum#developer#storypoints
The use of story points has always been a huge topic for debate. Some say it is useful for agile software development teams, others say it is of no use for business. Both of them are correct.
But here is where I have a strong opinion, as someone who has worked in many software development teams, both as a software developer and an engineering manager in the last two decades of my career. Story points are a bad measure for a software developer’s performance.
Here are the reasons why I think story points are a bad indicator for performance?
- Not all story points are equal
- Story points are the measures of complexity relative to the knowledge of the person or team giving an estimate.
- Larger story points don’t mean a bigger impact (In software development, simple is beautiful.)
- Story points give away too much flexibility and encourage less accountability
And here is an even more unpopular opinion: The worst thing about story points is that it enables software engineers to avoid committing to any date.
I understand many software engineers do not generally want to commit to a deadline in case they discover any unknowns but not setting expectations on when something will be done, or not having any milestones is purely irresponsible.
So there you have it, my open, transparent, unfiltered thoughts on story points.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
The value of a feature can be determined by three variables:
Effort required (the lower, the better)
Alignment with company’s goals (the more aligned, the better)
Shelf life (the longer, the better)
Let’s compare two examples below:
A - A landing page that is going to take 5 weeks to build but will only be available for a week. The reason for the page is to announce a new product offering, as per company’s goals
My take is that when you’re starting out in your career, you need to be a generalist. It will allow you to find a job quicker, get into your desired industry easier and you’ll generally have more choices.
As you get more senior in your career, you will need to start thinking about going deep and picking a specific niche.
While there is no set number of years, generally, 5 - 7 years in a software engineer role is what most engineering managers have before they take on the management path.
Some tech companies put senior engineers on the same level as their engineering managers for this very reason. Engineering management is a linear and alternate career track to software engineering.
Sometimes, I like to ponder on what I have been doing in my career and whether I am living the life that I want. I've often been labelled as an ambitious go-getter (in the nicest way, I think!). Some might even consider my career history as a success story.
But for me personally, I don't consider it as a success story. Allow me to explain...
Software engineers are makers by nature but they tend to lose this creative side as they begin their corporate careers, be it at startups or fortune 500 companies. Some say you can’t have everything in life — you can’t be an employee and an entrepreneur.
But I challenge that, and I say, you can have you cake and eat it too. Just because you’re working for someone doesn’t mean you hand over your creativity. There are many ways to create as a developer, aside from your full-time job as an employee.
- Start your day early. If you have an early morning appointment, get up at least an hour before that.
- Practice critical thinking. Don't just take things on the surface value.
- Bias towards action. When you're stuck, when you're given a new piece of information, or when you're feeling dissatisfied being in your comfort zone, take an action, however small that action may be.