Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
Rate it:
20%
Flag icon
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.
20%
Flag icon
“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”
21%
Flag icon
Mark Schwartz points out in The Art of Business Value,
21%
Flag icon
Westrum’s description of a rule-oriented culture is perhaps best thought of as one where following the rules is considered more important than achieving the mission—
21%
Flag icon
Westrum’s theory posits that organizations with better information flow function more effectively.
21%
Flag icon
First, a good culture requires trust and cooperation between people across the organization,
21%
Flag icon
Second, better organizational culture can indicate higher quality decision-making.
21%
Flag icon
Finally, teams with these cultural norms are likely to do a better job with their people, since problems are more rapidly discovered and addressed.
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
in complex adaptive systems, accidents are almost never the fault of a single person who saw clearly what was going to happen and then ran toward it or failed to act to prevent it.
22%
Flag icon
the way to change culture is not to first change how people think, but instead to start by changing how people behave—what they do”
22%
Flag icon
Lean management, along with a set of other technical practices known collectively as continuous delivery (Humble and Farley 2010), do in fact impact culture,
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.
23%
Flag icon
Build quality in.
23%
Flag icon
Work in small batches.
23%
Flag icon
Computers perform repetitive tasks; people solve problems.
23%
Flag icon
Relentlessly pursue continuous improvement.
23%
Flag icon
Everyone is responsible.
23%
Flag icon
A key objective for management is making the state of these system-level outcomes transparent, working with the rest of the organization to set measurable, achievable, time-bound goals for these outcomes, and then helping their teams work toward them.
23%
Flag icon
Comprehensive configuration management. It should be possible to provision our environments and build, test, and deploy our software in a fully automated fashion purely from information stored in version control.
23%
Flag icon
Continuous integration (CI).
24%
Flag icon
Continuous testing.
24%
Flag icon
No one should be saying they are “done” with any work until all relevant automated tests have been written and are passing.
24%
Flag icon
Continuous delivery requires that developers and testers, as well as UX, product, and operations people, collaborate effectively throughout the delivery process.
25%
Flag icon
teams that did well at continuous delivery achieved the following outcomes: Strong identification with the organization you work for (see Chapter 10) Higher levels of software delivery performance (lead time, deploy frequency, time to restore service) Lower change fail rates A generative, performance-oriented culture (see
25%
Flag icon
improvements in CD brought payoffs in the way that work felt.
25%
Flag icon
investments in technology are also investments in people,
25%
Flag icon
proxy variables for quality: The quality and performance of applications, as perceived by those working on them The percentage of time spent on rework or unplanned work The percentage of time spent working on defects identified by end users
25%
Flag icon
all measures were correlated with software delivery performance.
26%
Flag icon
continuous delivery predicts lower levels of unplanned work and rework in a statistically significant way.
26%
Flag icon
High performers reported spending 49% of their time on new work and 21% on unplanned work or rework.
26%
Flag icon
Unplanned work and rework are useful proxies for quality because they represent a failure to build quality into our products.
26%
Flag icon
The Visible Ops Handbook,
26%
Flag icon
reducing what he calls failure demand— demand for work caused by the failure to do the right thing the first time by improving the quality of service we provide.
26%
Flag icon
keeping system and application configuration in version control was more highly correlated with software delivery performance than keeping application code in version control.
26%
Flag icon
put automated tests that are not reliable in a separate quarantine suite that is run independently.
26%
Flag icon
Developers primarily create and maintain acceptance tests, and they can easily reproduce and fix them on their development workstations.
26%
Flag icon
having automated tests primarily created and maintained either by QA or an outsourced party is not correlated with IT performance.
26%
Flag icon
the code becomes more testable when developers write tests.
26%
Flag icon
when developers are responsible for the automated tests, they care more about them and will invest more effort into maintaining and fixing them.
37%
Flag icon
where code deployments are most painful, you’ll find the poorest software delivery performance, organizational performance, and culture.
37%
Flag icon
While deployment pain can be an indication that software development and delivery is not sustainable
38%
Flag icon
comprehensive test and deployment automation; use continuous integration, including trunk-based development; shift left on security; effectively manage test data; use loosely coupled architectures; can work independently; and use version control of everything required to reproduce production environments decrease their deployment pain.
38%
Flag icon
Put another way, the technical practices that improve our ability to deliver software with both speed and stability also reduce the stress and anxiety associated with pushing code to production.
38%
Flag icon
First, software is often not written with deployability in mind.
38%
Flag icon
Second, the probability of a failed deployment rises substantially when manual changes must be made to production environments as part of the deployment process.
38%
Flag icon
Finally, complex deployments often require multiple handoffs between teams, particularly in siloed organizations where database administrators, network administrators, systems administrators, infosec, testing/QA, and developers all work in separate teams.
39%
Flag icon
Burnout is physical, mental, or emotional exhaustion caused by overwork or stress—
39%
Flag icon
stressful jobs can be as bad for physical health as secondhand smoke (Goh et al. 2015) and obesity (Chandola et al. 2006). Symptoms of burnout include feeling exhausted, cynical, or ineffective;
49%
Flag icon
Building trust with your counterparts on other teams.