What makes agile agile?

People say they want agile but … more often than not … they don’t really know what that means.  Likewise, many people say they are agile, but … in reality … they aren’t agile and have no idea what agile really is.

When people tell me they want agile or want us to be agile, what they mean is that they want to drop a task, problem, or project on us with little to no notice and expect us to drop everything and jump on it immediately.

Or, they mean that they want us to put a rush on it, work insanely grueling hours, and not charge them any extra money.  Or, they mean they want to be able to change their mind and add new requirements but not affect the budget, timeline, or delivery schedule.

That’s not what agile is about.

What agile really means is that:

  • We focus on what is important and if time or money gets short, we ensure that what gets done and delivered is what was most important to you at the time.
  • Change is encouraged because we certainly don’t want to continue working on something that is obsolete or unnecessary when we discover something better and more important should be done.  However, change has an impact and you have to give something up.
  • There are 4 factors in agile project management: time, money, scope, quality.  Only one of these can be fixed or carved in stone.  And, for every one that is carved in stone, another one needs to be fluid.  Also, for every factor that is firm, there needs to be another factor that is flexible.

Quick example…

You describe a project that needs to get done. Perhaps it is a mobile app or maybe a web app or perhaps a kitchen renovation or summer vacation.  Whatever it is that you are planning, there are things you want done or to do.  This is your scope.

Usually, there is a cost to everything.  People, things, services, licenses, taxes.  Things cost money.  So, if you want a certain amount of things done then you need to expect it to cost a relevant amount.

Presumably, you also have some expectations for the quality or how you want things done.  If it is a website, perhaps you want it to be fast or fun or easy or pretty.  If it is a vacation, maybe you want a hotel that has clean sheets, sound proofed walls, and lots of extra pillows.  All this stuff relates to quality, usability, and your expectations or acceptance criteria for what you deem is acceptable or not.  It is the definition of done.

Finally, there is time.  Perhaps there is an absolute deadline – like a special holiday.  You absolutely have to be at grandma’s house on Thanksgiving Day even though the airline fares are twice as much as normal.  But, if you were “flexible” on the day of arrival then perhaps you could get it for less money.

Point is that we have four factors:

  • Cost
  • Timeline
  • Scope
  • Quality

And you have to decide what is most important and what you are willing to trade off as you discover more about what you really want and how to overcome obstacles that are unfortunate enough to get in your way.

Agile provides a mechanism for dealing with this.  If the cost if absolutely fixed, that’s fine but you may need to reduce some functionality (scope) or quality if things end up taking more time than expected or costing more than expected.

Likewise, if you discover something late in the game that needs to be added then you may need to decided what you can sacrifice in order to add that last minute item.

If you are really agile, then you will know, understand, and expect to be flexible in some areas to compensate for firmness or rigidity in other areas.

If you are interested in learning more about agile, give us a call, happy to help.