Estimation is the process of finding an estimate, or approximation, which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable.
We, as programmers, are constantly being asked 'How long will it take'?
And you know, the situation is almost always like this:
The requirements are unclear. Nobody has done an in depth analysis of all the implications.
The new feature will…
In agile methodologies (e.g. SCRUM), the complexity/effort needed for user stories are measured in Story points. Story points are used to calculate how many user stories a team can take in an iteration.
What is the advantage of introducing an…
I seem to be repeatedly stuck in a situation where release dates are set not based on anything technical, but because someone in Sales has committed to a customer by then. Based on discussions with friends in development at other companies, the…
At a previous employment, a project manager (PM) wasn't satisfied with the delivery time of the code on a project I was on. I was told by my project lead that that the PM was considering having me sign a contract to lock-in my time estimates I gave…
Recently I started working on a project where a very old monolithic application is being migrated into microservice-based architecture.
The legacy codebase is very messy ('spaghetti code') and often an apparently-simple function (e.g named as…
One of the most basic and widely accepted principles of software development is DRY (don't repeat yourself). It is also clear that most software projects require some kind of management.
Now what are the tasks that are easy to manage (estimate,…
A recent project I worked on was proven to be severely underestimated by the architect. The estimate was out by at least 500%.
Unfortunately I was brought onto the project after the estimate had been signed off with the customer. As senior dev, I…
I don't want to make life hard for management. I really don't. They're nice enough guys, but every time I am assigned a new project or task and get asked "how long do you think it will take to do this" I end up sputtering off ridiculous…
We are in a small company with around 10 developers. I am the team leader and responsible for the development process.
Supervisors and salesmen are close to us since we are a small team, but have no clue on how software is developed.
When they ask…
Almost every developer has to answer questions from business side like:
Why is going to take 2 days to add this simple contact form?
When a developer estimates this task, they may divide it into steps:
make some changes to the Database
optimize DB…
While it is relatively possible for an experienced developer to estimate how long it will take to implement code when the pattern and problem the code is solving is well understood, how can you make a good estimate when, while the end goal is well…
We're using Scrum and occasionally find that we can't quite finish a User Story in the sprint in which it was planned. In true Scrum style, we ship the software anyway and consider including the User Story in the next sprint during the next Sprint…
It seems like it is nearly impossible to get close because you could run into any number of issues and things not first anticipated. How close can we be expected to reasonably estimate? Our PM wants to be able to have things like Gant charts and…
I suck at estimates. When someone asks me how long something will take, I don't even dare to make a guess since I will be completely off the mark. Usually I'm way too optimistic, and should probably multiply my guess with some large X factor...
How…
I'm a recovering perfectionist.
According to my colleagues, I am also a good software engineer, but one of the feedback I have often received is that I tend to dive too deep too soon.
Suppose I start working on a new feature that requires going into…