Agile Development Has Been Misrepresented

Understand the constraints, plan and prioritize

03/29/2023 - Peter Unsworth

I want to suggest that Agile development has been misrepresented, partially due to its implementation and partially due to its slow growth and inability to… dare I say it, to be Agile in itself.

I don’t believe a project can truly be Agile without budget transparency at every level. The ultimate goal of Agile development should be to launch something, learn from it and deliver the next phase without blowing the budget. It is important to be accountable to what can and should be delivered. To accommodate this, everyone needs to understand the inevitable constraints.

If budget and / or time are constraints, then prioritization of work is mandatory on a daily basis. Continuously redefining the overall project objective helps focus development on what really matters, “how can we get this in users hands in order for them to tell us what they want”.

I would also like to stop suggesting a developer should estimate their tasks based on complexity. Increased complexity often results in increased development time, but let’s not kid ourselves in thinking that estimating development effort is not entirely time based. Executives need numbers, and numbers are ‘time and material’, not complexity. If development tasks are associated with time, then it is clear to understand where a project will land in or out of budget.

If project scope can’t be reduced to within budget, the project is set up to fail.

If budget is not a deal breaking concern, then time should be. A project cannot aimlessly continue without a launch, so define the project that is achievable within the set time and stick to it. If tasks take longer than estimated, revisit and limit the project scope.

Throwing additional resources at a problem is not always a reasonable solution. If time is the only constraint, it may seem logical to increase development resources, but this only works with proper planning. Don’t waste money on busy work, plan the project and reprioritize tasks to build velocity and to maximize efficiency.

I could ramble on about Agile development to the ends of the earth, but luckily for you I won’t. Agile works… just selectively.

– Understand the constraints, don’t ignore them.
– Plan effort based on time… this is money.
– Continuously Prioritize.

Developers’ time is valuable and burnout should never be an issue. If a project can’t work due to the constraints, don’t manipulate the boundaries, readjust expectations.