Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
Rate it:
4%
Flag icon
Their evidence refutes the bimodal IT notion that you have to choose between speed and stability—instead, speed depends on stability, so good IT practices give you both.
5%
Flag icon
Common traps were stepped in—like trying a top-down mandate to adopt Agile, thinking it was one size fits all, not focusing on measurement (or the right things to measure), leadership behavior not changing, and treating the transformation like a program instead of creating a learning organization (never done).
11%
Flag icon
The key to successful change is measuring and understanding the right things with a focus on capabilities—not on maturity.
13%
Flag icon
Once utilization gets above a certain level, there is no spare capacity (or “slack”) to absorb unplanned work, changes to the plan, or improvement work. This results in longer lead times to complete work.
13%
Flag icon
Queue theory in math tells us that as utilization approaches 100%, lead times approach infinity—in other words, once you get to very high levels of utilization, it takes teams exponentially longer to get anything done.
13%
Flag icon
A successful measure of performance should have two key characteristics. First, it should focus on a global outcome to ensure teams aren’t pitted against each other.
14%
Flag icon
Second, our measure should focus on outcomes not output: it shouldn’t reward people for putting in large amounts of busywork that doesn’t actually help achieve organizational goals.
14%
Flag icon
In our search for measures of delivery performance that meet these criteria, we settled on four: delivery lead time, deployment frequency, time to restore service, and change fail rate.
14%
Flag icon
Lead time is the time it takes to go from a customer making a request to the request being satisfied.
17%
Flag icon
The fact that software delivery performance matters provides a strong argument against outsourcing the development of software that is strategic to your business, and instead bringing this capability into the core of your organization.
19%
Flag icon
The second level of organizational culture are values, which are more “visible” to group members as these collective values and norms can be discussed and even debated by those who are aware of them. Values provide a lens through which group members view and interpret the relationships, events, and activities around them. Values also influence group interactions and activities by establishing social norms, which shape the actions of group members and provide contextual rules
20%
Flag icon
Culture enables information processing through three mechanisms. First, in organizations with a generative culture, people collaborate more effectively and there is a higher level of trust both across the organization and up and down the hierarchy. Second, “generative culture emphasizes the mission, an emphasis that allows people involved to put aside their personal issues and also the departmental issues that are so evident in bureaucratic organizations. The mission is primary. And third, generativity encourages a ‘level playing field,’ in which hierarchy plays less of a role”
22%
Flag icon
What they found instead was that “who is on a team matters less than how the team members interact, structure their work, and view their contributions”
22%
Flag icon
Human error should, instead, be the start of the investigation. Our goal should be to discover how we could improve information flow so that people have better or more timely information, or to find better tools to help prevent catastrophic failures following apparently mundane operations.
23%
Flag icon
Continuous delivery is a set of capabilities that enable us to get changes of all kinds—features, configuration changes, bug fixes, experiments—into production or into the hands of users safely, quickly, and sustainably.
24%
Flag icon
high- performing teams keep branches short-lived (less than one day’s work) and integrate them into trunk/master frequently.
25%
Flag icon
26%
Flag icon
What was most interesting was that keeping system and application configuration in version control was more highly correlated with software delivery performance than keeping application code in version control.
27%
Flag icon
Teams that did well had fewer than three active branches at any time, their branches had very short lifetimes (less than a day) before being merged into trunk and never had “code freeze” or stabilization periods.
27%
Flag icon
We conducted additional research and found that teams using branches that live a short amount of time (integration times less than a day) combined with short merging and integration periods (less than a day) do better in terms of software delivery performance than teams using longer-lived branches.
27%
Flag icon
High-performing teams were more likely to incorporate information security into the delivery process. Their infosec personnel provided feedback at every step of the software delivery lifecycle, from design through demos to helping with test automation. However, they did so in a way that did not slow down the development process, integrating security concerns into the daily work of teams.
29%
Flag icon
larger even than test and deployment automation—is whether teams can: Make large-scale changes to the design of their system without the permission of somebody outside the team Make large-scale changes to the design of their system without depending on other teams to make changes in their systems or creating significant work for other teams Complete their work without communicating and coordinating with people outside their team Deploy and release their product or service on demand, regardless of other services it depends upon Do most of their testing on demand, without requiring an integrated ...more
29%
Flag icon
The goal is for your architecture to support the ability of teams to get their work done—from design through to deployment—without requiring high-bandwidth communication between teams.
30%
Flag icon
The goal of a loosely coupled architecture is to ensure that the available communication bandwidth isn’t overwhelmed by fine-grained decision-making at the implementation level, so we can instead use that bandwidth for discussing higher-level shared goals and how to achieve them.
30%
Flag icon
However, there is a downside to this lack of flexibility: it prevents teams from choosing technologies that will be most suitable for their particular needs, and from experimenting with new approaches and paradigms to solve their problems.
31%
Flag icon
Furthermore, many developers are ignorant of common security risks, such as the OWASP Top 10,1 and how to prevent them.
32%
Flag icon
This means infosec experts should contribute to the process of designing applications, attend and provide feedback on demonstrations of the software, and ensure that security features are tested as part of the automated test suite.
33%
Flag icon
Rugged DevOps is the combination of DevOps with the Rugged Manifesto.
34%
Flag icon
We found that external approvals were negatively correlated with lead time, deployment frequency, and restore time, and had no correlation with change fail rate.
34%
Flag icon
Our recommendation based on these results is to use a lightweight change approval process based on peer review, such as pair programming or intrateam code review, combined with a deployment pipeline to detect and reject bad changes. This process can be used for all kinds of changes, including code, infrastructure, and database changes.
36%
Flag icon
To be effective, experimentation should be combined with the other capabilities we measure here: working in small batches, making the flow of work through the delivery process visible to everyone, and incorporating customer feedback into the design of products.
38%
Flag icon
In particular, be aware that if deployments have to be performed outside of normal business hours, that’s a sign of architectural problems that should be addressed. It’s entirely possible—given sufficient investment—to build complex, large-scale distributed systems which allow for fully automated deployments with zero downtime.
40%
Flag icon
Investing in training and providing people with the necessary support and resources (including time) to acquire new skills are critical to the successful adoption of DevOps.
40%
Flag icon
This also means creating space for employees to do new, creative, value-add work during the work week—and not just expecting them to devote extra time after hours.
42%
Flag icon
This is a significant finding, as research has shown that “companies with highly engaged workers grew revenues two and a half times as much as those with low engagement levels. And [publicly traded] stocks of companies with a high-trust work environment outperformed market indexes by a factor of three from 1997 through 2011” (Azzarello et al. 2012).
Xavier Spriet
Maybe people feel better about working for a company with stronger financials.
42%
Flag icon
The extent to which the organization collects customer feedback and uses it to inform the design of products and features
43%
Flag icon
Our key hypothesis in asking these questions was that teams implementing continuous delivery practices and taking an experimental approach to product development will build better products, and will also feel more connected to the rest of their organization.
Xavier Spriet
WE KNOW!!!
43%
Flag icon
continuous delivery and Lean management practices, which contribute to a stronger sense of identity,
Xavier Spriet
???
44%
Flag icon
It is also important to note that diversity is not enough. Teams and organizations must also be inclusive. An inclusive organization is one where “all organizational members feel welcome and valued for who they are and what they ’bring to the table.’ All stakeholders share a high sense of belonging and fulfilled mutual purpose” (Smith and Lindsay 2014, p. 1). Inclusion must be present in order for diversity to take hold.
44%
Flag icon
91% Male 6% Female 3% Non-binary or other
45%
Flag icon
We have not extended our research into people with disabilities yet, but hope to in the future.
Xavier Spriet
I want to know what we can do to prepare to integrate developers with disabilities into our teams. Tools, processes, etc
45%
Flag icon
Despite all of these clear advantages, organizations are failing to recruit and retain women in technical fields.
45%
Flag icon
Women are leaving tech at a 45% higher rate than men (Quora 2017), and the outlook for minorities is likely similar.
45%
Flag icon
Women and underrepresented minorities report harassment, microaggressions, and unequal pay (e.g., Mundy 2017). These are all things we can actively watch for and improve as leaders and peers.
46%
Flag icon
Leaders have the authority and budget to make the large-scale changes that are often needed, to provide air cover when a transformation is underway, and to change the incentives of entire groups of technical professionals— whether they are in development, QA, operations, or information security.
46%
Flag icon
Vision. Has a clear understanding of where the organization is going and where it should be in five years. Inspirational communication. Communicates in a way that inspires and motivates, even in an uncertain or changing environment. Intellectual stimulation. Challenges followers to think about problems in new ways. Supportive leadership. Demonstrates care and consideration of followers’ personal needs and feelings. Personal recognition. Praises and acknowledges achievement of goals and improvements in work quality; personally compliments others when they do outstanding work.
48%
Flag icon
leaders cannot achieve goals on their own. They need their teams executing the work on a suitable architecture, with good technical practices, use of Lean principles, and all the other factors that we’ve studied over the years.
48%
Flag icon
48%
Flag icon
Knowledge is power, and you should give power to those who have the knowledge.
48%
Flag icon
Set up internal hack days, where cross-functional teams can get together to work on a project.
« Prev 1