Enterprise software delivery
We sat down with Alan Brown, IBM Rational CTO for Europe, and asked him about the experiences with customers that drove him to write his new book, “Enterprise Software Delivery: Bringing Agility and Efficiency to the Global Software Supply Chain”, on the CIO summer reading list.
Agile practices are really a key part of the way most organizations are trying to change these days. Agility means more flexibility and provides freedom, but that that kind of flexibility must come with discipline and rigor to give an organization the chance to put some control around this.
The mainstream agile discussion focuses on the construction of straightforward software by small, co‑located teams that are typically working in ideal conditions. But, the reality is that most teams are delivering more complex products in more complex environments. So how can agile principles be applied for these teams?
In the last few years I've been working with a lot of large organizations, medium‑sized organizations and even some small organizations that are starting to struggle with the adoption of agile techniques. It’s not because they're not seeing value in small‑scale integrated teams, it's because they're trying to scale the ideas of agility to the broader community that they serve. They have teams in many locations and they have supply chains with other organizations in order to create software or to deliver parts of their system. That gets very complex in any kind of software delivery situation.
So they've started to look at new techniques and new ways of thinking about how they can adopt agile practices as they start to scale. I have been looking at this over the last few years thinking, what's really going on here? What kind of issues are we seeing? What kinds of confusion and tensions are really creating this inability for organizations to scale?
One interesting thing I’ve found is that there is a fundamental change going on that is making a difference in how organizations can move. Not only move faster but also to be more efficient in how they deliver software. From this observation, I wanted to try to create a fundamental base of ideas that could give people the framework, the concepts that they'd need in order to move forward in an agile process.
One of the key themes that links the book together is this clash between the idea of going faster and being efficient. We all want to move faster, and we all want to deliver more value to clients more quickly. But we also want to be effective and efficient. From management’s point of view, we want to be responsible for what we deliver.
These concepts are more than a clash; it's a paradox between these two very different ways of thinking and working. To address and understand this paradox, we take a number of approaches that I've seen and analysis that I've done in some large accounts and some recently complex teams and extract these themes in ways that people can adapt to their particular situation.