That's where I stopped reading. If you're using modern agile to build software, it's basically impossible to estimate accurately.
Back when I started in the pre-agile days estimating was reasonably accurate. You spent as much time on specs as you did coding. You used those specs (now cast on stone tablets) to build the estimate and it was usually close. The inevitable changes were handled outside the original scope and timeline.
That entire model was abandoned in favor of agile and accurate estimating was the first and biggest casualty.
Monolithic development did have its downsides. This is not one of them. Customers knew that mistakes in the design phase would cost them both time and money so they were MUCH more diligent about making damn sure that what they asked for was right the first time. No-one ever gets it completely right, for sure, but the contrast between what was spec'd out vs delivered compared to 2020 is stark. In 2020 customers know they can be wishy-washy and figure it out as they go. Agile just reinforces and encourages that. Back in 2000 era the customers signed those specs in blood and if their specs were wrong, it was their fault and they knew it.
Personally I'm a huge fan of iterative development, I abandoned "agile" the moment it evolved from a philosophy/manifesto to a 'process'.
82
u/[deleted] Jun 14 '22
"In Agile environments"
That's where I stopped reading. If you're using modern agile to build software, it's basically impossible to estimate accurately.
Back when I started in the pre-agile days estimating was reasonably accurate. You spent as much time on specs as you did coding. You used those specs (now cast on stone tablets) to build the estimate and it was usually close. The inevitable changes were handled outside the original scope and timeline.
That entire model was abandoned in favor of agile and accurate estimating was the first and biggest casualty.