https://martinfowler.com/articles/building-infrastructure-platform.html
Transistional Architecture
Simple Architecture
Trunk-Based Development vs. GitHub Flow
“Even after finding that trunk-based development practices contribute to better software delivery performance, some developers who are used to the “GitHub Flow” workflow remain skeptical. This workflow relies heavily on developing with branches and only periodically merging to trunk. We have heard, for example, that branching strategies are effective if development teams don’t maintain branches for too long – and we agree that working on short-lived branches that are merged into trunk at least daily is consistent with commonly accepted continuous integration practices. […] We should note, however, that GitHub Flow is suitable for open source projects whose contributors are not working on a project full time.”
Accelerate by Forsgren, Humble, Kim, et al. 2018
Outsourcing Software Development
“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. […] Distinguishing which software is strategic and which isn’t, and managing them appropriately, is of enormous importance.”
Accelerate by Forsgren, Humble, Kim, et al. 2018
Dream teams
“Over two years we conducted 200+ interviews with Googlers (our employees) and looked at more than 250 attributes of 180+ active Google teams. We were pretty confident that we’d find the perfect mix of individual traits and skills necessary for a stellar team — take one Rhodes Scholar, two extroverts, one engineer who rocks at AngularJS, and a PhD. Voila. Dream team assembled, right?
We were dead wrong. Who is on a team matters less than how the team members interact, structure their work, and view their contributions. So much for that magical algorithm.”
https://rework.withgoogle.com/guides/understanding-team-effectiveness/steps/introduction/
A typology of organisational cultures
Pathological | Bureaucratic | Generative |
---|---|---|
Power oriented | Rule oriented | Performance oriented |
Low cooperation | Modest cooperation | High cooperation |
Messengers “shot” | Messengers neglected | Messengers trained |
Responsibilities shirked | Narrow responsibilities | Risks are shared |
Bridging discouraged | Bridging tolerated | Bridging encouraged |
Failure leads to scapegoating | Failure leads to justice | Failure leads to inquiry |
Novelty crushed | Novelty leads to problems | Novelty implemented |
https://qualitysafety.bmj.com/content/qhc/13/suppl_2/ii22.full.pdf
Measuring Productivity
Utilization is defined as the amount of an employee’s available time that’s used for productive, billable work, expressed as a percentage. An employee’s utilization rate is a critical metric for organizations to track.
(Source: Google)
Queue Theory in math tells us that as utilization approaches 100%, lead times approach infinity. [Lead Time is “how fast work can be completed”]
(Source: Accelerate by Forsgren, Humble, Kim, et al. 2018)
So, be a good employee and ring the bell soon enough and take some slack time!
Adding is favoured over subtracting in problem solving
Measure your team’s software delivery performance in less than a minute!
Compare it to the rest of the industry by responding to five multiple-choice questions. Compare your team’s performance to others, and discover which DevOps capabilities you should focus on to improve. We don’t store your answers or personal information.
State Of DevOps
Maximizing Developer Effectiveness
After commitment, measurement and empowerment comes scaling.
https://martinfowler.com/articles/developer-effectiveness.html
Working environment
“When we look into these scenarios, a primary reason for the problems is that the engineering organization has neglected to provide developers with an effective working environment. While transforming, they have introduced too many new processes, too many new tools and new technologies, which has led to increased complexity and added friction in their everyday tasks.”
Micro Feedback Loops
“I recommend focusing on optimizing these loops, making them fast and simple. Measure the length of the feedback loop, the constraints, and the resulting outcome. When new tools and techniques are introduced, these metrics can clearly show the degree to which developer effectiveness is improved or at least isn’t worse.”
“The key loops I have identified are:
Feedback Loop to: |
---|
Validate a local code change works |
Find root cause for defect |
Validate component integrates with other components |
Validate a change meets non-functional requirements |
Become productive on new team |
Get answers to an internal technical query |
Launch a new service in production |
Validate a change was useful to the customer |
”
“It is hard to explain to management why we have to focus on such small problems. Why do we have to invest time to optimize a compile stage with a two minute runtime to instead take only 15 seconds? This might be a lot of work, perhaps requiring a system to be decoupled into independent components. It is much easier to understand optimizing something that is taking two days as something worth taking on.”
In der Verwaltung Überleben
“Verwaltungen sind auch eine Arena für Machtkonflikte und erinnern mitunter an “organisierte Anarchie”. Wer dies versteht und weiß, dass das innerhalb gewisser Grenzen auch normal ist, dem bleiben im Umgang mit und im Leben in Verwaltungen einige Frustrationen erspart.”
Wolfgang Seibel, Verwaltung Verstehen, S. 26
Verwaltung als Tätigkeit des Staates
“Die Verwaltung ist Thätigkeit des Staates zur Ver-
wirklichung seiner Zwecke. Sie bildet als solche den Gegensatz zur
Verfassung, welche den Staat erst fertig stellt, damit er thätig
werden könne.”
http://www.deutschestextarchiv.de/book/view/mayer_verwaltungsrecht01_1895?p=23
Andere Tätigkeiten des Staates:
Gesetzgebung, Rechtssprechung und Regierung.
Verwaltung und Herrschaft
“Denn Herrschaft ist im Alltag primär: Verwaltung.”
Max Weber, Wirtschaft und Gesellschaft
Verwaltung Verstehen
“Verwaltung gilt bestenfalls als uninteressant, jedenfalls als Expertenangelegenheit. Das ist paradox, schon deshalb, weil die öffentliche Verwaltung im demokratischen Staat Angelegenheit der Bürger sein sollte, und das kann sie nur sein, wenn diese die Möglichkeit haben, sich über ihre Eigenheiten zu unterrichten und sie wenigstens ihren Grundzügen nach zu verstehen.”
Wolfgang Seibel, Verwaltung verstehen, 2. Aufl. 2017.