Is it possible to be agile in an environment where timelines, budget and scope are fixed
Is it possible to be agile in an environment where timelines, budget and scope are fixed
Do you think that agile delivery is possible when the quality of the work performed becomes variable? Shouldn't the quality of each increment be assured?
Agile is a mindset. If we internalize the manifesto and think about it for a bit, how might "responding to change over following a plan" be in conflict with fixed scope? Timelines such as a sprint are timeboxed, and if your team size doesn't change to often, then having a fixed labor budget isn't such an issue.
The environment that you are introducing Agile and frameworks such as Scrum will raise up organizational impediments such as fixed scope. Are there any other Scrum Masters in your organization who you can work with on these challenges?
All the best,
Chris
If the environment is TRULY in fixed timelines, fixed budget and fixed (and clear) scope and you TRULY have capable resources, the easiest way is waterfall.
Unforunately, it sounds to good to be true.
If you look back into the history of Waterfall, RUP, XP, Agile, and Scrum, you will find they were introduced to handle uncertainties and to embarce changes. It is what the real world is.
Coming back to your question, if eveything is fixed in the environemnt, I believe you can implement Agile, but why bother? :)
I agree that Agile is a mindset and a framework provided to achieve quality stuff. Even with a budget or timelines. It can still evolve to bring the best out of the developers to achieve that singular synergy among themselves.
Agile is not designed to meet fixed timeline or budget. It is very likely to get over budget and exceed timeline, particulaly in the commercial software vendor-client context.
If you follow the traditional Project Management approach, the "Project Mangement Triangle", "Triple Constraint" or "Iron Triangle" (they're all the same thing) is an overly simplistic view of project management that states quality is derived from Scope, Schedule, and Cost. In the last 5 years or so, PMI has been making efforts to pull away from this model, but it's still a good high-level view and very prevalent in project management structure.
So with that in mind, I'd ask a different question than Ian, with the same intent. If quality If the Quality of each increment is fixed, because the Cost, Schedule and Scope are fixed, where is there room for agile to add value? Isn't your delivered value always going to be fixed?
That's not to say firm projects aren't able to benefit from agile practices; a daily Scrum or test-driven development can still improve the efficiency of the team and help bring things in under cost or under schedule. But I'm not sure full-on adoption of an agile framework in such a tightly controlled project would work.
1. if the project size is small, or it is more volume than complexity, then it is easy for normal humans to visualize and be in control of the project all the time. You may not need to give increments to business to test. Make sure the waterfall has good plan around early demo and prototypes.
2. For Big and long running project define what is scope, if it is mere requirement gathered from business then that is huge risk. If your scope includes solution signed off by business, after all the POCs and prototypes, leaving no room for uncertainty, you can follow waterfall.
In 2nd case there is value to deliver prod like increments to business for testing.
Finally many of us confuse scrum with Agile. Read 12 principles again and see which one you can follow.
Because of the empirical feedback an agile team learns what customers really need and in complex environments that is probably not in agreement with the original scope. Timeline and budget don't limit the agility but because of the fixed scope i would answer no.
I had the pleasure of attending a lecture of Jon Kern - one of the authors of the agile manifesto - recently. When asked a similar question from the audience he replied:
Either you'll tell me what you want and I'll tell you when it'll be done or you'll tell me when you want it and I'll tell you what you'll have.
For Agile to work you only can fix two things and adjust the other based on measurement. The two things that can be readily measured is the scope and time. After measuring the velocity, you will know how long it takes. Now the client has the option to increase the capacity (pay for one more team = BUDGET) or forward the deadline (from what was estimated from the velocity projections = TIMELINE). you measure or agree for two and adjust the other based on empirical evidence.
Another example: Let's say the client has a given budget, now the client can figure out how much the team can achieve per sprint and how much backlog is there and what can be expected for the total cost. If he wants to reduce the time line he can spend the same money in less time by hiring two teams instead of one for the same product backlog, but increasing the number of teams increases the complexity and reduces the overall efficiency of product burn down, usually.
I will try to answer for every item in the list separately
Timeline - Nothing wrong with this. Even better. During the allocated time, you are going to have as much quality driven product as you can possibly get. The constant reprioritization and the PO will maximize the return value of the product for said timeline. Timeline IS a reason to be agile and use Scrum.
Budget - Even better. Along with timeline you will be able to also limit the resources and account for the parallelism that can be achieved.
Fixed Scope - Do you have the exact requirements written in stone (no you don't most probably)? So it is a guessing game. How much time do you need to make me a millionaire? Is this just a fixed scope requirement as this is my vision... The real answer is what Uma-Venkata Ratna-Kumar Lekkala replied, but I would like to elaborate on this a little.
- Check if the problem requires such a thing. For example some legislations need to be implemented in a specific timeline with fixed scope. If that's the case "someone" needs to extend budget. That someone will be the company requesting the change by adding teams/paying overtime or the developers (Scrum definition) who will contribute more time because of the unrealistic commitment.
Never forget, Scrum requires organizational change. Since I have yet to acquire a good enough response of how to have all three I assume that there isn't one yet in place. So you need to accept that for the time being you can only have the two fixed.
Agile is a state of constant Change or flux and continuous improvement. Is another way of executing projects/ developing products of complex environments in which there is more uncertainty of the requirements, technology and people exists.
Given the state of the environment of fixed scope, budget and timelines which means that there is no uncertainty/ variability expected Plan driven (water fall model) will be better to execute.
However implementing agile with an understanding of iterative/ incremental approach can be executed mechanically but it won't give the results and it is not efficient.