The goal of the book “Lean-Agile Software Development – Achieving Enterprise Agility” by Alan Shalloway, Guy Beaver and James R. Trott, is to propose a vision of Agile software development that goes behind the current practices, more specifically Scrum, to integrate the principles of Lean development. To achieve this objective, the authors draw on their own experience in Agile software development consulting.
The book starts with a presentation of Agile and Lean principles. The second part explains how Lean adoption can improve the usage of Scrum with an interesting table comparing Scrum and Lean accompanied by a list of practices to avoid. It devotes specific chapters to topics like release planning, visual control, quality assurance, product coordination and architecture. A final part is dedicated to more insight in the Lean approach. The book “Lean-Agile Software Development” is pleasant to read. Each chapter has an abstract and the beginning and a summary at the end with some questions and further reading recommendations.
Besides the sometimes-annoying references to the authors’ consulting firm, this book provides interesting material on specific aspects of Agile software development projects at an enterprise level. Its main difference with other books on the same topic is for me the treatment of the management aspects of software development, as the authors make their point for a stronger management role and intervention in Agile projects.
This book will therefore bring more benefits to project and development managers that work for large organizations where the control aspect is important and the words “self-organizing teams” could be a serious “career limitation” move.
“Lean-Agile Software Development – Achieving Enterprise Agility”, Alan Shalloway, Guy Beaver and James R. Trott, Addison-Wesley
What we need is a new attitude about process and how to manage process. Processes must be designed to assist the team in achieving management’s goal. Processes help the team get its job done: they represent accountability among team members about how they will work. […] Is this possible? Yes! Lean provides the principles we need to do this. And we will not follow these principles blindly.
We often think of software as the end goal. But it is not. Software is a means to an end – a way of getting value to the customer.
Agile project management done in isolation violates the Lean principle of optimizing the whole. […] There are other alternatives to Scrum, including Crystal, Feature-Driven Development and Kanban software development. They are good and they address specific challenges for teams. However, they, like Scrum, do not entirely address the bigger picture. By themselves, they do not address the entire value stream, which is what is needed.
While Scrum works well at the team level, using it as the primary method to guide Agility at the enterprise level has severe challenges.
Ken Schwaber and Mike Beedle define the Daily Meeting as composed only of team members, explicitly removing management from it – and subtly implying management is not accountable for deliverables.
Scrum works by exposing inadequacies or dysfunctions within an organization’s product and development practices. […] The Scrum community generally concedes that about three in four of organizations implementing Scrum will not succeed in getting the benefits from it that they hoped for. The explanation is that many organizations change Scrum in order to accommodate the inadequacies or dysfunctions of the organization rather than solving their organizational problems. The implication is that Scrum gives them the tools to see but not to change.