The 12 Key Reasons Companies Adopt Agile

3
The 12 Key Reasons Companies Adopt Agile Written by Mike Cottmeyer So… I’m starting to see a pattern here… Snowmageddon in Atlanta and I go on a ‘flurry’ of writing… get back into the groove of working, and I can’t seem to manage a post or two. I’m going to have to figure out how to muster some serious selfdiscipline if this book is every going to get written. Dennis and I got together the week before last and created an outline for SectionTwo. That content will show up as another series of lists over the next few weeks. For today, I want to go back a bit and talk through something I think we might have left out… why people want to do agile in the first place. A few of my clients recently have me noodling on the reasons that organizations and teams decide to go down this path in the first place. I’ve mentioned several times that no one really cares about agile… all they really care about is better business results. That said, I think the idea of ‘better business results’ can be broken down a little bit. That got me thinking about creating a list of the main reasons I hear from my clients they decided to go agile. So here it is… the 12 Key Reason Companies Adopt Agile. 1. Faster time to market – Lots of folks that decide to go agile are pretty fed up with 18 month delivery cycles that quite often deliver the wrong products to market… one’s that our customers just aren’t interested in buying. The idea of two week delivery cycles and quarterly release cadences is pretty appealing. Our markets and our competition are just moving too fast… we’ve got to get better at getting working product out the door faster. 2. Early ROI – The other day I was onsite with a team that was struggling to see the value in thin slicing their user stories. After missing a few sprints, the team decided to give thin slicing the old college try. They didn’t nail the sprint, but were successful delivering an increment of working software that was of value to the business. Here is a paraphrase of their Product Owner’s reaction: “Even though you may have thought it was less efficient to splitting stories, it makes a real difference to the business. I can show the output of this sprint to an external customer and sell business based on this.” <<< Very cool! 3. Feedback from real customers – One of my customers told me that over 50% of the features they’ve built have not ever been used by their customers. That’s pretty consistent with other industry stats I’ve seen recently. Just imagine if we could take all that time we use to spend building stuff our customers didn’t want, and focus it on building stuff they’ll actually use. I hear arguments all the time that sprint

description

Agile benefits

Transcript of The 12 Key Reasons Companies Adopt Agile

Page 1: The 12 Key Reasons Companies Adopt Agile

The 12 Key Reasons Companies Adopt Agile 

Written by Mike Cottmeyer 

So… I’m starting to see a pattern here… 

Snowmageddon in Atlanta and I go on a ‘flurry’ of writing… get back into the groove of working, and I 

can’t seem to manage a post or two. I’m going to have to figure out how to muster some serious self‐

discipline if this book is every going to get written. Dennis and I got together the week before last and 

created an outline for Section‐Two. That content will show up as another series of lists over the next few 

weeks. For today, I want to go back a bit and talk through something I think we might have left out… 

why people want to do agile in the first place. 

A few of my clients recently have me noodling on the reasons that organizations and teams decide to go 

down this path in the first place. I’ve mentioned several times that no one really cares about agile… all 

they really care about is better business results. That said, I think the idea of ‘better business results’ can 

be broken down a little bit. That got me thinking about creating a list of the main reasons I hear from my 

clients they decided to go agile. So here it is… the 12 Key Reason Companies Adopt Agile. 

1. Faster time to market – Lots of folks that decide to go agile are pretty fed up with 18 month delivery 

cycles that quite often deliver the wrong products to market… one’s that our customers just aren’t 

interested in buying. The idea of two week delivery cycles and quarterly release cadences is pretty 

appealing. Our markets and our competition are just moving too fast… we’ve got to get better at getting 

working product out the door faster. 

2. Early ROI – The other day I was onsite with a team that was struggling to see the value in thin slicing 

their user stories. After missing a few sprints, the team decided to give thin slicing the old college try. 

They didn’t nail the sprint, but were successful delivering an increment of working software that was of 

value to the business. Here is a paraphrase of their Product Owner’s reaction: 

“Even though you may have thought it was less efficient to splitting stories, it makes a real difference to 

the business. I can show the output of this sprint to an external customer and sell business based on 

this.” <<< Very cool! 

3. Feedback from real customers – One of my customers told me that over 50% of the features they’ve 

built have not ever been used by their customers. That’s pretty consistent with other industry stats I’ve 

seen recently. Just imagine if we could take all that time we use to spend building stuff our customers 

didn’t want, and focus it on building stuff they’ll actually use. I hear arguments all the time that sprint 

Page 2: The 12 Key Reasons Companies Adopt Agile

planning or writing tests slows the team down… does anyone ever consider how much building the 

wrong product slows the team down? 

4. Build the right products – This may end up just collapsing this with #3, but for now it feels slightly 

different to me. Even if we are building the exact features that our customers are asking for, incremental 

delivery helps us build them the way our customers will actually use them. When we deliver in smaller 

increments, we have the opportunity to let our customers see the emerging product, respond to it, and 

tweak it as they go. Agile helps the customer and the team converge on the best possible outcome. 

5. Early risk reduction – Agile doesn’t treat risk as a separate area to be managed… agile is risk 

management. By delivering early and getting feedback, we reduce the risk of building the wrong 

product. By focusing on architectural risk in the early sprints, we reduce the risk that we won’t have a 

solution that can be build in time… at least we’ll know it early. By continuously integrating and building 

defect free software, we reduce the risk that our stuff wasn’t built right just before we need to bring it 

to market. Wasn’t it Tom DeMarco that said “Risk Management is Project Management for grown‐ups”? 

6. Better quality – Developers are generally tired of building crap and our customers are universally 

tired of getting crap. When businesses fix time, cost, and scope… the only thing developers have left to 

manage is quality. Agile fixes time, cost, and quality… and gives us the tools to vary the business and 

technical scope of the solution. You might not get everything you hoped for, but you can trust what was 

delivered. 

7. Culture and morale – Some folks want to adopt agile because the culture in their organization just 

sucks. Agile is a pretty hot topic, and most developers get pretty excited about giving it a try. Agile holds 

the promise of creating teams of empowered individuals… teams full of people working on the highest 

priorities of the business with a shared sense of purpose. When agile is done well, it creates really fun 

places to work… there is nothing quite like being part of a team of people working hard toward shared 

goals. 

8. Efficiency – I almost titled this one “reducing waste”… but that’s not how the folks I work with usually 

communicate it, so I chose to call this efficiency. People know that the big up front plans usually turn out 

useless in the long run. People know that the people in their functional silos aren’t working very well 

together. They know that the ‘throw it over the wall’ handoffs result in churn and back and forth 

behavior. Agile holds the promise of helping us eliminate the stuff we don’t need and get down to the 

business of building working software. 

9. Customer satisfaction – Building products our customers can use makes them happy. Being able to 

frequent add new features based on their feedback makes them happy too. As a software customer, I’m 

not sure there is anything worse than investing in a product that doesn’t work, doesn’t do what we need 

it to do, and not being unable to see any path forward for making it better. I’m willing to buy a first 

iteration product if I know it is going to do nothing but get better over time. As a matter of fact, it can be 

fun seeing the product emerge as the development team gets more feedback. Agile helps us build this 

kind of partnership with our customers, one where we are working together to get problems solved. 

Page 3: The 12 Key Reasons Companies Adopt Agile

10. Alignment – I want to explain this one a bit becuae I don’t think it’s immediately obvious. When we 

are organized in functional silos, when our teams are not organized around either products or other 

business objects, when our technology infrastructure is owned in more than one place… that’s being out 

of alignment. Agile suggests that we have cross‐functional teams that support products. This is really a 

simple expression of alignment and folks get it… they want it. In practice, sometimes though, the ‘one 

team‐one product’ relationship isn’t possible. The trick is to determine how to align the organization 

when the simple pattern breaks down. People don’t usually ask for ‘alignment’, but they want 

connection between effort and real business results. 

11. Emergent outcomes – Some folks aren’t trying to deliver against a fixed time, fixed cost, fixed scope 

plan… some folks don’t know what they want to build or how to build it. Some people are building 

products for markets that don’t exist yet using technologies that are brand new and cutting edge. Agile 

is a great way of building software when you have to explicitly account for the fact that you’ll have to 

learn as you go. Build a little product, learn something from your customer, adapt your vision, build a 

little more software, and ultimately create something that is better than you could have ever planned in 

a vacuum. 

12. Predictability – Most development shops are pretty bad giving the business any idea of when they 

are going to be done, and what they are going to get for their money. The business has gotten to the 

point where they almost don’t care how fast you build something… they just need you to get predictable 

doing it. It’s become a mantra of mine lately… I tell teams all the time that I need them get good at 

making and meeting commitments and stabilizing their velocity over time. In the absence of 

predictability, I don’t care about speed. In the absence of predictability, I have no idea what to tell my 

customer. In the absence of predictability, I have no idea how to coordinate and align the other parts of 

the business. At some level I have to be able to make and meet a commitment. 

13. Because someone told me to – This is a last minute addition… I guess we have a baker’s dozen of 

sorts.  I initially left this out because I don’t think it’s a real reason. At the end of the day, the person in 

power has some sort of reason, most likely driven by one of our previous 12.  The challenge though is 

that sometimes you get teams where this is the only reason they care.   If you are faced with a team that 

doesn’t buy it, and are only going through the motions because someone told them to, it will definitely 

influence your adoption and transformation strategy. 

Okay… so those are my top 12 (13)… I’d love to hear what you guys have to say. What have I left out? 

Why else do people decide to adopt agile practices and transform their organizations?