Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
Rate it:
Kindle Notes & Highlights
27%
Flag icon
INFORMATION SECURITY
27%
Flag icon
feedback at every step of the software delivery lifecycle,
27%
Flag icon
design through demos to helping with test automation.
27%
Flag icon
ADOPTING CONTINUOUS DELIVERY
27%
Flag icon
technical practices of continuous delivery have a huge impact on many aspects of an organization.
27%
Flag icon
Continuous delivery improves both delivery performance and quality,
27%
Flag icon
improve culture and reduce burnout and de...
This highlight has been truncated due to consecutive passage length restrictions.
27%
Flag icon
rethinking ev...
This highlight has been truncated due to consecutive passage length restrictions.
28%
Flag icon
The key pattern which connects these feedback loops is known as a deployment pipeline, see https://continuousdelivery.com/implementing/patterns/.
28%
Flag icon
ARCHITECTURE
28%
Flag icon
architecture of your software and the services it depends on can be a significant barrier to increasing both the tempo and stability of the release process and the systems delivered.
28%
Flag icon
applied to mainframe systems, firmware, or to an average big-ball-of-mud enterprise environment
28%
Flag icon
possible with all kinds of systems, provided that systems—and the teams that build and maintain them—are loosely coupled.
28%
Flag icon
TYPES OF SYSTEMS AND DELIVERY PERFORMANCE
28%
Flag icon
the type of system and team performance.
28%
Flag icon
Greenfield: new systems that have not yet been released Systems of engagement (used directly by end users) Systems of record (used to store business-critical information where data consistency and integrity is critical) Custom software developed by another company Custom software developed in-house Packaged, commercial off-the-shelf software
28%
Flag icon
Embedded software that runs on a manufactured hardware device Software with a user-installed component (including mobile apps) Non-mainframe software that runs on servers operated by another company Non-mainframe software that runs on our own servers Mainframe software
28%
Flag icon
custom software developed by another company (e.g., an outsourcing partner).
28%
Flag icon
Low performers were also more likely to be working on mainframe systems.
28%
Flag icon
no significant correlation between system type and delivery performance.
29%
Flag icon
packaged software and “legacy” mainframe systems—
29%
Flag icon
low performers were more likely to be using—or integrating against—custom software developed by another company underlines the importance of bringing this capability in-house.
29%
Flag icon
FOCUS ON DEPLOYABILITY AND TESTABILITY
29%
Flag icon
We can do most of our testing without requiring an integrated environment.1 We can and do deploy or release our application independently of other applications/services it depends on.
29%
Flag icon
It appears that these characteristics of architectural decisions, which we refer to as testability and deployability, are important in creating high performance.
29%
Flag icon
loosely coupled—that is, can be changed and validated independ...
This highlight has been truncated due to consecutive passage length restrictions.
29%
Flag icon
loosely coupled, well-encapsulated architecture drive...
This highlight has been truncated due to consecutive passage length restrictions.
29%
Flag icon
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
29%
Flag icon
Do most of their testing on demand, without requiring an integrated test environment Perform deployments during normal business hours with negligible downtime
29%
Flag icon
In teams which scored highly on architectural capabilities, little communication is required between delivery teams to get their work done, and the architecture of the system is designed to enable teams to test, deploy, and change their systems without dependencies on other teams. In other words, architecture and teams are loosely coupled. To enable this, we must also ensure delivery teams are cross-functiona...
This highlight has been truncated due to consecutive passage length restrictions.
29%
Flag icon
“inverse Conway Maneuver,
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
29%
Flag icon
requiring high-bandwidth communication between teams.
29%
Flag icon
Architectural approaches that enable this strategy include the use of bounded contexts and APIs as a way to decouple large domains into smaller, more loosely coupled units, and the use of test doubles and virtualiza...
This highlight has been truncated due to consecutive passage length restrictions.
30%
Flag icon
service-oriented architectures don’t permit testing and deploying services independently of each other,
30%
Flag icon
teams to achieve higher performance.3
30%
Flag icon
between teams, and we don’t mean to suggest teams shouldn’t work together.
30%
Flag icon
A LOOSELY COUPLED ARCHITECTURE ENABLES SCALING
30%
Flag icon
loosely coupled, well-encapsulated architecture with an organizational structure to match, two important things happen. First, we can achieve better delivery performance, increasing both tempo and stability while reducing the burnout and the pain of deployment. Second, we can substantially grow the size of our engineering organization and increase productivity linearly—or better than linearly—as we do so.
30%
Flag icon
number of deploys per day per developer.
30%
Flag icon
while adding developers to a team may increase overall productivity, individual developer productivity will in fact decrease due to communication and integration overheads.
30%
Flag icon
Low performers deploy with decreasing frequency. Medium performers deploy at a constant frequency. High performers deploy at a significantly increasing frequency.
30%
Flag icon
factors that predict high delivery performance—a goal-oriented generative culture, a modular architecture, engineering practices that enable continuous delivery, and effective leadership
30%
Flag icon
ALLOW TEAMS TO CHOOSE THEIR OWN TOOLS
30%
Flag icon
Reducing the complexity of the environment Ensuring the necessary skills are in place to manage the technology throughout its lifecycle
30%
Flag icon
Increasing purchasing power with vendors Ensuring all technologies are correctly licensed
30%
Flag icon
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.
30%
Flag icon
The benefits of a standardized operational platform are discussed at length by Humble
30%
Flag icon
Debugging problems with someone else’s code gets a LOT harder, and is basically impossible unless
30%
Flag icon
there is a universal standard way to run every service in a debuggable sandbox”