There is nothing quite so useless as doing with great efficiency something that should not be done at all – Peter Drucker
Many IT organizations adopt agile in an attempt to do things better, faster and cheaper and they are often disappointed.
Agile can help you do things better if your team adopts the engineering practices often associated with extreme programming.
Agile can help you deliver things faster and cheaper if you take the opportunity to cut out processes that you don’t really need to do and you continuously improve.
IT organizations are often disappointed because things don’t get as better, faster and cheaper as they were hoping or were lead to believe.
You can see benefit from improving how your team works together and how you develop, test, and deploy software. You won’t see true benefits until you figure out how to deliver the right thing and not deliver everything else.
The agile frameworks (Scrum, Extreme Programming, SAFe) don’t provide practical guidance on how to determine the right thing to deliver. They punt that responsibility to a role without any suggestion on how to make that happen.
You need to supplement the agile mindset and an agile framework with practices that help you understand the need you’re trying to satisfy, the solution you’re going to use to do that, and a way to make decisions along the way.
The set of practices you use is based a great deal on your context. Chris Matts suggested that you can use an understanding of the cynefin model to determine which of these sets of techniques you should use.
If You’re Customer Facing – Product Management
If you’re doing something customer facing, such as a website or mobile app, then the practices you should apply can be found in the product management realm.
You may not have a clear understanding of your customers’ needs or even if there is a need to satisfy. Once you identify the need you may not have a clear idea of the best solution because your customers have a choice of whether they use your product. You are in the cynefin complex domain.
Product management is primarily focused on clearing away the uncertainty around customer needs and discovering appropriate solutions to address those needs that your customers will actually use.
There has been a lot of work in the product management space on interviewing and understanding customers and users which can be helpful for people working on a website or mobile app.
If You’re Internal Facing – Portfolio Management
If you’re doing something internally focused such as CRM, ERP, or any other TLA (Three letter acronym) system imaginable, you probably need portfolio management.
You need to think about how things line up with your organization’s strategy – which of course should be based on ultimately satisfying your customer’s needs.
You are aware of the problem, and probably have a good idea about the solution as well, although you may not be sure how much of the solution you need to provide to address the solution, or the best way to implement that solution. You’re in the cynefin complicated domain.
Portfolio management techniques provide ways to make decisions that allow you to focus. Not trying to do everything – but honing in on the important things to do right now, which things to delay, and which things to not do at all because they don’t align with your organization’s strategy and your customer’s best interest.
Whether Product or Portfolio, you need to Learn
Whichever way you chose, you need to incorporate learning in determining the right thing to deliver.
With customer facing you want to learn about the need and the solution. Many product management techniques are built around understanding customers, users and their needs. You’re also not guaranteed to know for sure if people are going to use the item, so you need to find ways that verify your customers and users have the problem you’re trying to fix and would use your solution to address it.
If you are internal focused, you want to learn how well the solution you landed upon will address the need you’re trying to satisfy. It’s possible to know the need as long as you looked for it and didn’t take your users request for granted and treat them explicitly as feature requests.
Ultimately, you need to be adaptive, but you need to get enough done to actually have validated learning. That means it doesn’t do you any good to shift direction in mid stream without a good reason.
Resources
I’ve included five resources below that I’ve found helpful to make sure I’m delivering the right thing. These techniques generally work good whether you need to supplement agile with product management or portfolio management.
Decision Filter
Decision filters are simple questions that help organizations distribute decision making by sharing strategy with those who have to act to make them happen.
When you use decision filters appropriately they help you weed out the things you just should not do.
Purpose Based Alignment
The Purpose Based Alignment Model, created by Niel Nickolaisen, is a method for aligning business decisions and process and feature designs around purpose.
The power behind the purpose based alignment is to help you figure out the approach you take to various products. The most valuable thing I’ve gained from the use of the purpose based alignment model applies to internal products such as CRM, or ERP. In the most practical sense it has taught me in those situations to avoid customization as much as possible with product you buy off the shelf.
Opportunity Assessment
The internal product opportunity assessment is based off the product opportunity assessment by Marty Cagan. They help product people determine if a product is worth it.
These sets of questions guide your exploration of a new idea to make sure you have a shared understanding of what outcome it’s trying to accomplish and whether there’s any value in delivering that outcome.
Problem Statement
The problem statement is a structured set of statements that describe the purpose of an effort in terms of what problem it’s trying to solve.
This is a technique I like to use to quickly determine if your team has a shared understanding about the problem they are trying to solve and build up that shared understanding.
Value Based Decision Making
Value-based decision making is a method for making critical organizational decisions in an informed and timely manner. Use this tool to identify the most critical decisions you face, determine when to decide, and figure out what information you need to best make those decisions.