Our industry has been thinking for years about ways to improve the way in which we deliver software projects. I've been a professional software developer for more than 15 years. At the beginning of my career, we were still deploying websites, or applications, by using FTP or using a copy command. Fifteen years later I can deploy a new version of a web application by just committing a new feature to the codebase. Needless to say, we came a long way in those fifteen years.
Over the years I have gained experience on how you can successfully do software projects. What practices are the most effective or which once the least? There is only one problem: it's my experience and my opinion, and it's not backed with data. Wouldn't it be great if we had data to validate which practices are effective or which once less effective? So our industry could do a better job with this data than we do today. Enter "Accelerate - Building and Scaling High Performing Technology Organizations" by Nicole Forsgren, Jez Humble, and Gene Kim. In the book, the authors present us with their statistical findings of why certain software teams deliver faster and better products than other teams. Not only do they share their conclusions but they also explain how they did their research.
The book is 257 pages and consists of three parts:
- Part I: What We Found
- Part II: The Research
- Part III: Transformation
In this blog post, I will discuss the three parts briefly.
What the authors found
What makes an organization high performant? Is technology relevant to being high performant or not? Should a development team choose their tools? Does the speed of deployments affect the stability of your product? These questions and many more are answered in this book. To gather the necessary data the authors used surveys. For me, this was the most exciting part of the book. Many things they found, confirmed my own experience(s). For example, I am convinced that when a manager who trusts his employees and gives them the best place to work, his employees will do the best work they possibly can. Happy employees will go that extra mile.
A couple of highlights of the survey :
- A loosely coupled, well-encapsulated architecture can be a good predictor for better delivery performance.
- Organizations treat people like expendable resources, but when organizations invest in their people and enable them to do their best work, employees will have a stronger identity with the organization and are willing to go the extra mile.
- Let teams use the right tools. The freedom of choosing the right tool outweighs the disadvantages.
- Teams with no approval process or utilized peer review achieved higher software delivery performance. Teams that required approval by an external body produced a low performance.
How the authors did their research
In the second part, the authors explain how they did their research. Collecting the data was done by using a Likert-type survey. This part gives you an introduction to different types of analysis. They explain why they used certain kinds. I'm no expert in statistics, but the way it's described makes me convinced that the quality of the research results is good. I believe some people will find this the most interesting part of the book as they can use it in their research while others will be more interested in the first part of the book. After reading part two of the book, I am convinced that the research described by the authors is solid.
How you can transform your organization
In the last part of the book, you will read about the ING bank on how they transformed the way they deliver software. This part of the book is rather short but gives you enough insights. Transforming a company culture is no easy task and will require much experimenting with what works and what not. You cannot just copy another company culture and hope that it will magically work. You can always learn from other companies, but in the end, you will have to create your own culture because there is no magical blueprint.
I am pleased that this book was written. For too long have we been discussing what works and what doesn't without the support of data. For this reason, this book is important, and I think you should read it. Software development changed a lot since I started and the coming years it will change even more.
Having a high-performance organization which can deliver software fast is critical. Existing organizations will need to change if they don't want to miss the future because in the next 15 years our industry will undergo significant changes.
I hope you enjoyed this post. Thank you for reading!
I came across this book after I read "The Phoenix Project" and "The DevOps Handbook." Gene Kim co-authors both books and I also recommend them.
The DevOps Handbook
The Phoenix Project
Hanselminutes - Accelerate: The State of DevOps with Dr. Nicole Forsgren