More on this book
Community
Kindle Notes & Highlights
Read between
September 6 - November 6, 2020
Software and technology are key differentiators for organizations to deliver value to customers and stakeholders.
DevOps emerged from a small number of organizations facing a wicked problem: how to build secure, resilient, rapidly evolving distributed systems at scale.
31% of the industry is not using practices and principles that are widely considered to be necessary for accelerating technology transformations,
47% of CEOs face pressure from their board to digitally transform
DevOps is accelerating technology, but that organizations often overestimate their progress
executives are especially prone to overestimating their progress when compared to those who are actually doing the work.
understanding the right things with a focus on capabilities—not on maturity.
maturity models focus on helping an organization “arrive” at a mature state and then declare themselves done with their journey, whereas technology transformations should follow a continuous improvement paradigm.
maturity models are quite often a “lock-step” or linear formula, prescribing a similar set of technologies, tooling, or capabilities for every set of teams and organizations to progress through.
capability models focus on key outcomes and how the capabilities, or levers, drive improvement in those outcomes—that is, they are outcome based.
maturity models define a static level of technological, process, and organizational abilities to achieve.
By focusing on a capabilities paradigm, organizations can continuously drive improvement. And by focusing on the right capabilities, organizations can drive improvements in their outcomes, allowing them to develop and deliver software with improved speed and stability.
Measuring performance in the domain of software is hard—in part because, unlike manufacturing, the inventory is invisible.
we should reward developers for solving business problems with the minimum amount of code—and it’s even better if we can solve a problem without writing code at all or by deleting code (perhaps by a business process change).
Velocity is designed to be used as a capacity planning tool;
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.
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.
our measure should focus on outcomes not output:
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.
Lead time is the time it takes to go from a customer making a request to the request being satisfied.
there are two parts to lead time: the time it takes to design and validate a product or feature, and the time to deliver the feature to customers.
We measured product delivery lead time as the time it takes to go from code committed to code successfully running in production,
Reducing batch sizes reduces cycle times and variability in flow, accelerates feedback, reduces risk and overhead, improves efficiency, increases motivation and urgency, and reduces costs and schedule growth
deployment frequency as a proxy for batch size since it is easy to measure and typically has low variability.
reliability is measured as time between failures.
How quickly can service be restored? We asked respondents how long it generally takes to restore service for the primary application or service they work on when a service incident (e.g., unplanned outage, service impairment) occurs, offering the same options as for lead time (above).
what percentage of changes to production (including, for example, software releases and infrastructure configuration changes) fail.
Cluster analysis is a foundational technique in statistical data analysis that attempts to group responses so that responses in the same group are more similar to each other than to responses in other groups.
these results demonstrate that there is no tradeoff between improving performance and achieving higher levels of stability and quality.
the false assumption that moving faster means trading off against other performance goals, rather than enabling and reinforcing them.4
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.
“in pathological and bureaucratic organizational cultures, measurement is used as a form of control, and people hide information that challenges existing rules, strategies, and power structures. As Deming said, ’whenever there is fear, you get the wrong numbers’”
culture is intangible; there exist many definitions and models of culture.
Organizational culture can exist at three levels in organizations: basic assumptions, values, and artifacts
At the first level, basic assumptions are formed over time as members of a group or organization make sense of relationships, events, and activities.
The second level of organizational culture are values,
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
The third level of organizational culture is the most visible and can be observed in artifacts.
sociologist Ron Westrum.
Pathological (power-oriented) organizations are characterized by large amounts of fear and threat.
Bureaucratic (rule-oriented) organizations protect departments.
Generative (performance-oriented) organizations focus on the mission.
organizational culture predicts the way information flows through an organization.
good information: It provides answers to the questions that the receiver needs answered. It is timely. It is presented in such a way that it can be effectively used by the receiver.
this definition of organizational culture predicts performance outcomes.
the Likert scale is used to measure people’s perceptions by asking them to rate how strongly they agree or disagree with a statement.
Discriminant validity: making sure that items that are not supposed to be related are actually unrelated
Convergent validity: making sure that items that are supposed to be related are actually related
Reliability: making sure the items are read and interpreted similarly by those who take the survey.