Accelerate (book)
   HOME

TheInfoList



OR:

''Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations'' is a
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
book co-authored by Nicole Forsgren, Jez Humble and Gene Kim. The book explores how software development teams using Lean Software and DevOps can measure their performance and the performance of software engineering teams impacts the overall performance of an organization. The work in the book contains research conducted by
Google Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
's ''DevOps Research and Assessment'' (DORA) team for ''State of DevOps Reports''. Before being acquired by Google, DORA conducted this research for the DevOps company
Puppet A puppet is an object, often resembling a human, animal or Legendary creature, mythical figure, that is animated or manipulated by a person called a puppeteer. The puppeteer uses movements of their hands, arms, or control devices such as rods ...
and later became an independent team (with Puppet continuing to produce reports by a new team).


Four Key Metrics

The authors examine 23,000 data points from a variety of companies of various different sizes (from start-up to enterprises), for-profit and not-for-profit and both those with legacy systems and those with modern systems. The four metrics identified are as follows: * Change Lead Time - Time to implement, test, and deliver code for a feature (measured from first commit to deployment) * Deployment Frequency - Number of deployments in a given duration of time * Change Failure Rate - Percentage of failed changes over all changes (regardless of success) * Mean Time to Recovery (''MTTR'') - Time it takes to restore service after production failure The authors further measure how various technical practices (like
outsourcing Outsourcing is an agreement in which one company hires another company to be responsible for a planned or existing activity which otherwise is or could be carried out internally, i.e. in-house, and sometimes involves transferring employees and ...
) and risk factors impact performance metrics for an engineering team. These metrics can be crudely measured using psychometrics or using commercial services.


Criticism

The computer scientist
Junade Ali Junade Ali is a British computer scientist known for research in cybersecurity.CEng registration number ''673221''. https://www.engc.org.uk/regcheck Ali studied for a Master of Science degree aged 17 and was awarded Chartered Engineer status b ...
has criticised the research work in Accelerate (and the work in the DORA State of DevOps Reports) on multiple grounds. Research conducted by Ali and the British polling firm
Survation Survation is a Opinion poll, polling and market research agency based in London, England. Survation have been conducting research surveys since 2010. Surveys are conducted via telephone, online panel and face to face as well as omnibus research ...
found that both software engineers (when building software systems) and public perception (when using software systems) found other factors mattered significantly more than the outcome measures which were treated as the "Four Key Metrics" (which ultimately measure the speed of resolving issues and the speed of fixing bugs, and are used to create the findings in the book), and risk and reward appetite varies from sector-to-sector. Additionally, Ali criticised how the research relies upon subjective measures to evaluate performance without controlling for
cognitive bias A cognitive bias is a systematic pattern of deviation from norm or rationality in judgment. Individuals create their own "subjective reality" from their perception of the input. An individual's construction of reality, not the objective input, m ...
(despite prior research showing software engineers overpredict performance) and methodology flaws which can lead to respondents rating factors in software quality and delivery speed as optimal on the basis that they are happy at their workplace (rather than critically evaluating the performance in particular domains). Ali has also criticised the research on the basis that reputable opinion polling firms who comply with the rules of organisations like the British Polling Council should publish their full results and raw data tables, which the DORA team did not do - and additionally that the sponsors of the polling (Google Cloud and previously Puppet) create products which have a vested interest in having software engineers deliver faster (despite research indicating high levels of burnout amongst software engineers), which the results of the research ultimately supported. Despite the authors arguing that speed of delivery and software quality go hand-in-hand, Ali has offered several counter-examples; including the comparatively high quality of aviation software despite infrequent changes, contrasted with
rapid application development Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
being pioneered in the software that resulted in the British Post Office scandal and
agile software development In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ad ...
being used in the software responsible for the
2009–2011 Toyota vehicle recalls The 2009–11 Toyota vehicle recalls involved three separate but related recalls of automobiles by the Toyota Motor Corporation, which occurred at the end of 2009 and start of 2010. Toyota initiated the recalls, the first two with the assistance ...
. The software developer Bryan Finster has also discussed how, as
correlation does not imply causation The phrase "correlation does not imply causation" refers to the inability to legitimately deduce a cause-and-effect relationship between two events or variables solely on the basis of an observed association or correlation between them. The id ...
, organisations who are considered "high performing" in the research are not high performing because they focussed on the DORA metrics, but instead focussed on delivering value to users and arguing the metrics should be used as "trailing indicators for poor health, not indicators everything is going well".


24 Key Capabilities

The authors outline 24 practices to improve software delivery which they refer to as “key capabilities” and group them into five categories.


Continuous Delivery

* Use Version Control for all Production Artifacts * Automate Your Deployment Process * Implement Continuous Integration * Use Trunk-Based Development Methods * Implement Test Automation * Support Test Data Management * Shift Left on Security * Implement Continuous Delivery (CD)


Architecture

* Use a Loosely Coupled Architecture * Architect for Empowered Teams


Product and Process

* Gather and Implement Customer Feedback * Make the Flow of Work Visible through the Value Stream * Work in Small Batches * Foster and Enable Team Experimentation


Lean Management and Monitoring

* Have a Lightweight Change Approval Processes * Monitor across Application and Infrastructure to Inform Business Decisions * Check System Health Proactively * Improve Processes and Manage Work with Work-In-Process (WIP) Limits * Visualize Work to Monitor Quality and Communicate throughout the Team


Cultural

* Support a Generative Culture * Encourage and Support Learning * Support and Facilitate Collaboration among Teams * Provide Resources and Tools that Make Work Meaningful * Support or Embody Transformational Leadership


References

{{Reflist


External links


Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (IT Revolution)

QCon Plus (May 17-28): Stay Ahead of Emerging Software Trends Q&A on the Book Accelerate: Building and Scaling High Performance Technology Organizations
Computer programming books Computer books