Developers And The Distraction of Barking Dogs
Nice to have requirements are the ultimate distraction
You will never reach your destination if you stop to throw stones at every barking dog Winston Churchill
If you stop to add every requirement you can think of, you will never finishing building the software. Until Software is in production and being used, it’s all cost and no benefits.
When creating software you have to stay focused on building only what is required and put everything else on a nice to have pile that you can come back to later.
When the first steps of creating software are
- Simplify the software required to make it seem easy
- Over estimate benefits of software
- Exaggerate the ability of the software development team
- Create an optimistic plan with the desired timeline and cost
- Add nice to have features
Many of the steps, mistakes, and decisions are driven by emotions. The desire to succeed and dreams of career progression.
The over estimating of the development team and underestimating of the work is done when making a plan. It's easy to make an unrealistic plan and most people are rewarded for creating it (win the contract, get the project approved, get the lowest price).
It takes discipline and professionalism for software development teams to focus on priorities.
Distractions come in many guises, from nice to have requirements to changing plans and unnecessary meetings.
Software projects are not late they underestimated because of optimism and lack of detailed requirements. Despite the initial estimates being a rough guide, the law of numbers in software development means they are never forgotten.
The balance of power
Customers have power during the bidding process. They use the auction to get competing companies to push the price down. Customers find the tables turn and now the power has shifted to the delivery/development team.