How to Measure Progress in a Software Project – By Adam Ard
The article highlights the Agile Manifesto's emphasis on working software as the primary measure of progress, criticizing a trend of reverting to traditional estimation methods that undermine Agile principles.
Read original articleThe article by Adam Ard discusses the importance of measuring progress in software projects through the lens of the Agile Manifesto, which emphasizes that "working software is the primary measure of progress." This perspective challenges traditional methods that rely on estimates, projections, and backlog items, which often lead to project overruns and budget issues. Instead, Agile promotes a focus on the actual state of the software at any given moment, allowing for frequent delivery and customer feedback. This iterative process encourages developers to code, receive feedback, and adjust their work accordingly, ensuring that they are building what the customer truly needs. However, the author notes a troubling trend where Agile practitioners have reverted to old habits of estimating and projecting, which undermines the core principles of Agile. This shift back to traditional metrics like product backlogs and burn-down charts risks repeating the failures of past software development methodologies.
- Agile emphasizes working software as the key measure of progress.
- Traditional estimation methods often lead to project delays and budget overruns.
- Agile promotes iterative development with frequent customer feedback.
- There is a concerning trend of reverting to old estimation practices in Agile.
- Maintaining focus on actual software state is crucial for project success.
Related
"Agile Signaling" Is Gaslighting the Tech Industry [video]
The video discusses agile development's evolution and misconceptions in software. It emphasizes authentic agile methods for adapting to changes and cutting costs without sacrificing predictability. It highlights agile's relevance amid AI integration for managing industry disruptions efficiently.
Scrum is the Symptom, not the Problem
Adam Ard critiques Scrum as a micro-management tool that undermines developer productivity, arguing that corporate processes prioritize control over empowerment, necessitating engineers to seek ownership or freelance opportunities for true change.
Software estimates have never worked and never will
David Heinemeier Hansson argues that software estimation has failed for medium to large projects due to unclear requirements, advocating for a budget-based approach that allows flexibility and adaptability in development.
Software estimates have never worked and never will
David Heinemeier Hansson argues that traditional software estimation fails for medium to large projects, advocating for a budget-based approach that allows flexibility and trade-offs for better software delivery.
Software estimates have never worked and never will
David Heinemeier Hansson argues that traditional software estimation fails for complex projects, advocating a budget-based approach for flexibility and better outcomes, emphasizing trade-offs and adjustments during development.
Predictability is the oil that makes nearly every software business run efficiently and smoothly. It affects everything from software development to product roadmap to financial efficiency and profitability. Startups need to know if they have the ability to implement critical functionality before they're out of runway; big companies need to be able to coordinate product development, contracts, delivery dates, product launches across many disparate teams with interconnecting dependencies. Even deciding whether or not something is a roadmap priority requires some concept of how quickly you can implement it.
So yes, productivity theater, as it exists in many project management processes today is unnecessary overhead and wasted time/money. But unless you are id software in the late 90s—flush with cash and sitting on a couple of products that only you can bring to market—you can't rely on "it'll be done when it's done" or "you'll know when it's ready when you see it" and expect to remain competitive for long.
EDIT: Mobile typos.
However, the client is going to want to know (A) how much it’s going to cost, and (B) how long it’s going to take. These are extremely reasonable questions in most cases/industries. To answer these questions with a shrug is a nonstarter. The client is working with a time budget and a financial budget, and they need to have some sense of the numbers.
If the Waterfall and Agile methods are opposite ends of a spectrum, somewhere in between is where I’ve found an acceptable middle ground for both developers and clients.
And if you have a defined endpoint, you will get the "is it far? Are we there yet?" question. For good reasons.
Maybe your software needs to hit at a certain point, or a lot of money will be losts (ask e-commerce folks about Black Friday). That means you'll need to try to course correct as soon as possible if you take the wrong road - "IDK, but we made progress in the last two weeks" isn't helping.
Maybe your software needs a marketing push. The buy for that is months ahead of when it happens. You better know if you can make that date.
Maybe other teams depend on you delivering working software at a certain point.
"We make progress every sprint" is a nice feeling. It doesn't help you in any of those situations. Especially large-scale efforts need some planning and estimation to work out.
I wouldn't say my idealism failed all at once, but through death by a thousand cuts. There are lots of scenarios where trying to bootstrap development into agile is simply more difficult without any clear gain...at least when it comes to principles around measuring progress.
In all my time in the industry, I've never met someone who lived true agile for more than a year that wasn't in a very small startup.
in particular i think of Black Triangles https://rampantgames.com/blog/?p=7745 which has been discussed here previously.
Related
"Agile Signaling" Is Gaslighting the Tech Industry [video]
The video discusses agile development's evolution and misconceptions in software. It emphasizes authentic agile methods for adapting to changes and cutting costs without sacrificing predictability. It highlights agile's relevance amid AI integration for managing industry disruptions efficiently.
Scrum is the Symptom, not the Problem
Adam Ard critiques Scrum as a micro-management tool that undermines developer productivity, arguing that corporate processes prioritize control over empowerment, necessitating engineers to seek ownership or freelance opportunities for true change.
Software estimates have never worked and never will
David Heinemeier Hansson argues that software estimation has failed for medium to large projects due to unclear requirements, advocating for a budget-based approach that allows flexibility and adaptability in development.
Software estimates have never worked and never will
David Heinemeier Hansson argues that traditional software estimation fails for medium to large projects, advocating for a budget-based approach that allows flexibility and trade-offs for better software delivery.
Software estimates have never worked and never will
David Heinemeier Hansson argues that traditional software estimation fails for complex projects, advocating a budget-based approach for flexibility and better outcomes, emphasizing trade-offs and adjustments during development.