If you have ever wondered what to do with the growing number of features in your software applications, you are not the only one. There is some useful guidance from The Standish Group survey quantifing that only 20% of all delivered software features are “often or always used.” For a team under the pressure of today’s economy to do more with less, here is a way to conceptually cut 80% of your effort and still deliver the high-value essentials. But wait it gets better. If you do not completely elaborate, build, test or document these features, you save once. But you also save again: with the future maintenance costs, the training users, the bug fixing and the regressing these features would have required. This is clearly the biggest lever for cutting software development costs using Agile. And yet it seems to be the hardest to attain.
This pairing back to the simple, important few takes tons of discipline and that level of discipline is only be made easier as your agility maturity increases. Most agile books and coaches will call this the discipline of “Brutal Prioritization.” The folks from 37Signals call it: “Getting Real.” In either case, brutal prioritization means two things:
- Not letting the fat slip into the backlog
- Keeping the backlog prioritized by value and risk
First, lets talk about fat or wasteful features. Please note, fat or wasteful features come from all directions from the business and customers, but also from developers, support, and product owners. Your features may be fat or wasteful if they:
- Do not help the most important user persona in your domain achieve breakthrough results or competitive advantage
- Have not be proven to work and are based on a hopes and prayers
- Look like pets that someone is protecting
- Are weak features that degrade the product because they are not complete enough to meet minimum expectations
So if you are in the customer role or customer proxy role such as the Scrum product owner role, the technical product management or a business analyst role, it is your job to control yourself and help the team to keep the fat off the backlog. If you are on the agile team, it is your job to keep these roles honest about WHY these features are so valuable. This leads right to ranking the items into a prioritized backlog. (A few comments in this area would be really helpful – let’s hear what you use to spot fat features?)
To spot and eliminate fat and waste, you have to focus on value and risk. In prioritizing the backlog, rank items based on the value they bring or the risk they address. Here are some examples of value we use for ranking at Rally:
- A major new or strategic opportunity has committed to buy the software with that feature in it
- Our customer Feature request board has this voted into the top 10
- We have proven it decreases manual errors and we can quantify the savings
- A competitor is beating us with that feature and we can quantify the losses
- It is shown to be the root cause of costly bugs and non-functional bottlenecks (i.e. performance, exceptions, long downtimes/migrations)
- It is broken
- It is proven innovation that has been prototyped and tested
- It opens a new market that is quantified and targeted
To make this prioritizing process easier at scale, product and demand management solutions like Rally’s Product Manager correlate and normalize these value and risk ratings. This aids the product owner prior to and during release planning and kickoff meetings. Once you are disciplined enough to declare, track and show the rankings it is easier to fend off fat and waste. You and your “product council” just have to compare “hot” new requests to business value of existing items in the backlog. (So, what other value indicators do you use that I have missed here?)
We know agile teams cut costs by keeping the fat off of thier software and not writing code. Tell us about your team success in keeping the fat off early and through the development process. Or, comment and tell me about the biggest piece of fat you have ever seen in commercial software.
About the Author: Ryan Martens is an avid outdoorsman, founding board member of the EFCO, and Founder and CTO at Rally Software Development. Subscribe today to get free updates by email or RSS.



A good companion to Ryan’s analysis is The Lean Startup presentation by Blank and Ries. See http://ow.ly/t8T for details.
Sure! I agree! And the solution to the failing 80% is not better requirement specifications, more testing and QA, talented architects, or not even agile methodology. In most cases there are simply no business case. And Nicholas Carr is right: “IT doesn’t matter”. On the other hand “IT keeps people busy”. What “agilistas” might not agree:
* Cutting those 80% of functionality will also affect “agilistas” employment
* In those cases IT actually matters architecture, city plans, foreseeing maintenance issues is needed as well as agile management
Anders,
I agree, it takes some form of business case, project charter or product vision to set the value scale or “theory.” Without them, more requirements management and development will not help, it will hurt. It is a garbage in and garbage out flow. To me the discipline to “charter” the effort is key. I believe the adoption of agile tends to “pull” this discipline into the team. Jim Collins likes to show agility and discipline as a dance from “Good to Great.”
We see this in teams adopting agile. The first discipline tends to come in removing overhead. (See Jean’s recent posts on Overhead.
Typically, moving from an agile beginner to an agile intermediate, flow to pull in our words, increases the discipline in “chartering” releases.
What is really cool is that teams that get to the agile intermediate level now have more “slack” time to spend talking to users, prototyping, and thus can greatly increase the accuracy of “value” scores and ranking necessary to build the 20%. They can stop guessing at needs! It becomes a snowball affect and your team is now hooked on continuous improvement in agile practices and disciplines. It is a beautiful thing. The trick to not killing the continuous improvement is not to take all the agile savings from improvements in time-to-market, quality and productivity through cuts, but to let the team “invest” some in more improvement efforts.
An average software team is only spending 6% of their time working on value added tasks. Most average teams have a long way to go.
My friend Alex liked the pig. :- )
[...] Brutal Prioritization in Agile: cut costs by NOT building the fluff [Agile Blog] [...]
[...] Brutal Prioritization in Agile: cut costs by NOT building the fluff This entry was posted on Wednesday, April 8th, 2009 at 12:22 pm and is filed under Meetings, TaskBoard, User Stories, estimation, product. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. [...]