How do you go about developing an Agile business strategy to make Agile work for your business? Many Agile coaching and consulting companies take what I would call a “developer-centric” approach to Agile:
- The effort is heavily focused on team-level capabilities and is primarily oriented around improving the development process
- There’s nothing wrong with that, in itself. However,
- People often make the mistake of assuming that whatever is good for the development process must be good for the business as a whole, and
- That is not necessarily the case
When you apply Agile to a business at an enterprise level, a balance between two approaches is needed:
- A bottom-up “developer-centric” approach and
- A top-down “business-centric” approach to Agile
How to Develop an Agile Business Strategy
Making Agile work for your business is a real challenge:
- There is widespread knowledge that exists about almost every possible aspect of how to optimize an Agile development process at a team level; however,
- The knowledge about how to make Agile work at an enterprise level is much more limited.
- There have been numerous failures in trying to make Agile work at an enterprise level and there are some significant misconceptions behind these failures
Another big challenge is aligning the overall business strategy and the development strategy:
- At the business level, the approach should be designed around what makes the most sense for the company’s business
- That may or may not be exactly the same as the approach used to manage projects at the development level
- The people designing the enterprise-level strategy need to be able to understand the business strategy as well as the development strategy and fit the two together
- It isn’t necessarily just a matter of forcing the entire company to become more agile
Many people have the belief that:
- Any kind of traditional management approach is bad,
- Agile is good, and
- There is a binary and mutually-exclusive choice between the two approaches
That over-simplifies what I believe is a much more complicated decision. The result of that is that people often try to force-fit a company’s business to an Agile approach
- The right solution is to go in the other direction and fit the approach to the company’s business
- Sometimes that may require blending an Agile approach with a more traditional management approach
How Do You Determine the Right Approach?
Becoming agile for the sake of becoming agile may not be an appropriate goal for all companies. You have to ask:
- “What problem will it solve?” and
- “How will it really benefit the company?”
The answer to those questions may be very different depending on the nature of the company’s business.
A pure Agile approach is best suited for:
- A company that is in the business of producing some kind of software product. An example would be Intuit and TurboTax or Quicken or
- Where the software plays a very direct role in leveraging the company’s primary business (an example would be Amazon.com).
Where that is not the case and the company’s business is only indirectly leveraged by the Agile development process,
- It can be a lot more difficult to implement an Agile development process and
- More adaptation may be required to fit the Agile development process to the company’s business environment
An example would be an internal IT application development project)
How the company handles financials and business decisions is a key difference. An Agile development approach is very well-aligned with a product development approach. Here’s an article with more detail on that difference:
How Do You Develop a “Business-centric” Approach?
The key to developing a more business-centric approach is to recognize that the overall approach must be designed to satisfy the critical success factors of the company’s business.
- A good model to look at to understand this better is the idea of “value disciplines”. Check out my article on “Agile and Corporate Culture” for more on that.
- For example, a company like McDonalds is in a business that demands “operational excellence” as the primary value discipline
- In that environment, one of the most important critical success factors is going to be reducing costs
- How does an Agile development approach contribute to achieving that objective? The answer isn’t necessarily obvious.
What Is Needed?
What’s needed in this situation in many cases is:
- More of a “top-down” business analysis to identify potential areas for process improvement
- Aligning those initiatives with the critical success factors that are most important to the company’s business
That should be one of the first steps in an Agile transformation for this kind of company:
- Before you jump to the conclusion that Agile is a good solution to any problem the company might have,
- Its important to understand how its going to make the company more competitive in the business that they’re in
Enterprise-level Agile Transformation Strategies
There are a number of different potential strategies at an organizational level for implementing an Agile transformation:
- Some organizations may choose to implement a relatively complete top-to-bottom Agile transformation for their business.
- Dean Leffingwell’s Scaled Agile Framework (SAFe) is an example of such a model. However, that can be a very ambitious and gut-wrenching change for many organizations and it also may not be the best solution
- Fortunately, there are other alternatives companies can select to fit an Agile approach with their business
Organizations typically have different layers of management as shown in the diagram below. And, at each level, there is a choice of:
- Taking more of an Agile approach or
- More of a traditional, plan-driven approach:
Business Process Reengineering
It doesn’t necessarily require throwing out any existing management processes that the company may have:
- There may be a legitimate reason for some of those management processes
- Those processes may be already well-aligned with the critical success factors in the business, and
- It may require some compromise to adapt an Agile development approach to that environment
The approach for doing that analysis is actually similar to a Business Process Reengineering initiative. Check out this article for more on that:
The important things to recognize are that:
- This is not a “one size fits all” decision. What is the right approach for one company may not be the best approach for another
- It’s also not an easy thing to do and “cookbook” solutions don’t generally work
It’s kind of like a chess game to choose the fit the right strategy to each level of the organization as shown in the diagram below:
You have to consider an Agile development process in the context of the business it operates in. And, many times you need to adapt an Agile development process to fit the business environment.
- Within the development process itself, the process may be largely the same
- The differences may be at a higher-level such as the project portfolio management layer that wraps around the project
- Those higher-level layers could also be Agile, but
- That kind of complete, top-to-bottom Agile transformation just doesn’t work in all business environments
The following are some related articles on the topic of Agile Business Management: