The intersection of technology and leadership

Category: Performance

Book Review: Accelerate

I first heard about this book when I saw Jez Humble (@jezhumble) keynote at OOP earlier this year. You will get significant value from this book. Jez has already made many contributions to our industry. He introduced Continuous Delivery (CD) and the Lean Enterprise. He also helped shape the field of DevOps, as we know it today.

The Science of DevOps: Accelerate Book

Think about this book as a very readable academic paper, based on the long-running State of DevOps report.

Rigour in its research method

The book describes how the authors gathered vast data and their research methods. They discuss their observations and lead you to their conclusions, with concrete examples. The author shared how some of their assumptions turned out false. An example is the study showing how there is a positive correlation with Trunk-Based Development (TBD) and quality. This technical book is a rare gem based on rigorous research methods. Nicole Forsgren obviously had a large impact on the book

I’m amazed at how rich their raw dataset is. The authors draw on four years of data from many responses around the world. Their sample size towers over many academic studies. Many academics rely on student control groups instead of real industry data. Rarely academics also get to study a few companies or teams within a single company. The wealth of the raw data gives more weight to the report’s authenticity and credibility.

Martin Fowler highlights one point in the Foreword which I agree with. Even though the survey raw data comes from many sources, it is still self-assessed. Self-assessments are naturally biased by Dunning-Kruger effects.

Strong guidance and good advice

Our industry struggles with useful performance measures in IT. Metrics are either irrelevant or drive poor behaviours. This book debunks false prophets like Gartner’s Bi-Modal IT. Spoiler: You can got fast AND have quality, unlike normal assumptions. The book, Accelerate, gives strong suggestions for useful KPI measures. The authors present convincing conclusions that any modern technology firm should take on. This book gives many ideas to improve software and organisational architectures, and processes.

Many studies such as this focus only on the technical practices (such as CD or TBD). Many experience people realise a focus on technical practices is not enough. They realise organisational processes or structures constrain the value technical practices bring. To make the most of technical practices, management must look at their processes and structures. (Disclaimer: We address this topic in our book about Building Evolutionary Architectures). Maybe it’s confirmation bias, but the chapter on Transformational Leadership is super important.

Here’s an simple example why. Imagine you have an organisation with a Head of Development and Head of Operations. Each have hundreds of people with different reporting structures and processes. If the Heads do not support new initiative like DevOps, collaboration won’t move very far.

Conclusion

I found this book extremely easy to digest. I wanted to read more about their research methods. The authors convinced me of their conclusions and made them come to life with concrete examples. I highly recommend this book for any technology executive in the modern world. Accelerate sets the standards for measuring the performance of technology firms in 2018.

Upcoming Speaking Engagements

I’ve been terribly busy the last couple of months and it reflects by the lack of any blog posts. So sorry for that. Here’s a short post talking about upcoming speaking engagements.

My first one is for the Collaboration Track at Orevdev in Malmo next week. Titled, “Tightening the Feedback Loop”, I’ll be exploring how interpersonal feedback can be so much more effective. The programme for Oredev looks amazing so I look forward to contributing and participating in the conference.

The second speaking engagement is for the Skills Matter Agile, Lean & Kanban Exchange talking on their “Leadership, Value and Visibility Track”. I’ll be covering, “Making ‘Management’ Work with Agile.

BCS London Presentation

Thanks to all the people that came along to the BSC London presentation I gave last Wednesday. Despite the threat of weather potentially cancelling our, previously snow-canned, presentation, it went ahead much to my delight. I hope that you all got something out of it. I’ve uploaded the slides here if you’d like it.

Speaking at Agile 2009

Presenting at Agile 2009I’m excited to announce that I will be running my workshop again, Climbing the Dreyfus Ladder of Agile Practices at the Agile 2009 conference in just over a week’s time. This is the same workshop that I hosted at XP2009 in Italy. In addition to this, my great colleague Alistair Jones and I will also be co-presenting an experience report, Top ten secret weapons for performance testing in an agile environment. Hope you can make it to one of these. I’m really excited to be sharing some lessons I’ve learned along the way.

I’m keeping a page from the session here.

Performance tuning garbage collection

Our current project has a heavy emphasis on throughput and latency, and our team spent a good amount of time building up the infrastructure to be able to performance test our application. We’re currently in the middle of performance tuning, and got to a point where garbage collection is a significant enough problem for us to start looking at options. I’ve never really had to do this low level tuning before and it’s amazing to see how many options you can tweak. Here’s a few links I’ve found that have been helpful. Please leave a comment if you think there’s more that would be of use and I’ll update the list.

  • Tuning Garbage Collection for Java 5 – A good background and explanation about some of the basic concepts and terms you need to understand before tuning.
  • Hotspot FAQ – A long list of questions (some of them quite funny too), with some decent answers.
  • HotSpot Options – A list of all (?) configurable parameters related to behaviour, performance and debugging.
  • BEA recommendations for garbage collection – A simple example of what values you might consider setting for a production application server.
  • A summary for JDK1.4.2 options – Providing a brief summary for an older version of the JVM.
  • List of all JVM options for Java 6 – Apparently a more complete list of options for Java 6.
  • Another list of JVM options – Though I’m not sure how up to date this one is. The author also makes mention that the list was compiled with Solaris OS in mind.
  • Blog entires about tuning – A blog detailing greater performance tuning options and details about some of them.

Please note that we’re using Sun’s JVM in production, and hence performance tuning against that JVM.

© 2024 patkua@work

Theme by Anders NorenUp ↑