9. DevOps & accountability framework Flashcards
What is accountability framework?
Accountability framework is one way to sustain the collaboration
It defines roles and
processes for building and
using the digital platform
- Exploiting and coordinating their different talents
- Combining individual components
- Developing digital offerings depend not on standardized processes, but rapid
innovation – from instruction to empowerment - Empower people to identify, create, and manage digital offerings – and coordination of
team efforts»_space; design accountabilities to meet corporate business objectives
”This goal of empowering people while coordinating their individual efforts is why
companies need an accontability framework (…) Companies avoid chaos by developing
an accountability framework, which we can define as distribution of responsibilities for
digital offerings and components that balances autonomy and alignment”
(Ross et al:2019:78-79)
What includes in building an accountability framework for a dynamic working environment?
Making someone acountable - they have to answer to what they did do or did not do
- What needs to be done
Responsibility
- Internal goal
- Do this cause you think its the right way to do it
- How is the task done
Balance between alignment and autonomy
External and internal goals
What are key mechanisms in accountability framework?
Source: Ross et al.
Mechanisms you need to be able to have a good accountability framework
Missions: what will my tema do?
* Establish metrics,
* Define processes,
* Assess outcomes
Formalized knowledge sharing
- for collaboration and trust
Modular Architecture
- continuous code release - experiments
Empowered teams (in the middle)
- A component owner team throughout the life of the component: you made it, you own it (‘mini-CEO’)
Key software components and
digital offerings: Living
(changing) assets with a life
cycle – and updates to
components
What are the 8 principles for the accountability framework?
Source. Ross et al. (2019), p. 82
- Component owners - not project managers
- Mission - not structure
- Metrics - not directives
- Experiments - not major launches
DevOps environment
5. Continuous release - not scheduled releases
6. Fully resourced - not matrixed
7. Collaboration - not hierarchy
8. Trust - not control
“In short developing an accountability framework involves a major cultural change” (p. 93)
There is continuous change in accountabilities as new digital offerings emerge or disappear and missions are updated
How to develop an Accountability Framework?
Source: Ross et al (2019)
- Distinguish responsibility for internal processes from responsibility for new offerings
operational backbone/DP) - Implement gradually – IT, seperate digital units/organisations – codify the principles of AccF
- Create coaching roles
- Rethink governance, teams should demonstrate value (MVP’s)
”It may take time for people accustomed to
fairly stable organizational structures to
become comfortable with constantly evolving
accountabilities (Ross et al:2019:99)
GETTING IT RIGHT – LOOK AT YOUR CASES
Consider what would be your case company’s first step on the journey of making an
accountability framework:
Situation: if they have a digital platform/ would build one
Issue/focus: how do they work with digital offerings, experiements now?
Possible next steps: (Getting Accountability Right: p. 99-100 in Ross et al., 2019)
- assigning ownership for living assets/ adoption of agile methodologies
- empowering teams through clear missions to minimize team interdependencies
- fully resourcing teams working with digital innovation – financial commitment
- start small and allow for learning
- coaching is the new management core competence, not hiearchical decisions; help your people to become good coaches
What is the fundamental of DevOps?
DevOps is more like project management philosophy - not a fixed set of tools
The fundamental principles of DevOps as generally agreed upon by the most influential
early members of the DevOps community, were summed up in the acronym “CAMS.”
CAMS = Culture, Automation, Measurement, Sharing
Jez Humble later suggested adding an “L” to the acronym, changing it to “CALMS.”
Culture
Automation
Lean
Measurement
Sharing
How does DevOps work?
Business Analyst –> pass requirements
Requirements collection, documentation, design of product, etc.
Application Development –> pass code
Agile teams, application developers, software engineers, etc.
SW testing and QA –> pass approved code for release
Testers, QA people, programmers write new code which performs tests to make sure everything that has been developed works OK
Release Engineering/ Development –> pass final product
Release engineers, technicians who bridge Application Dev (created) and IT environment (live)
IT Operations (infrastruct.) –> product finally makes it to the users or customers
Sys admin, network engineers, technicians responsible for keeping everything up and
running and fix it if it breaks
What is lean about?
Lean is about moving waste?
Two of Lean’s major tenets include:
1. Manufacturing lead time is best predictor of quality, customer satisfaction and
employee happiness.
2. Best predictor for short lead times is small batch sizes of work.
What are agile key principles?
“Deliver software frequently, from a couple of months to a couple of weeks, with a
preference to the shorter timescale”.
- Small batch sizes
- Incremental releases
Emphasis on small, self-motivated teams working in a high-trust management model.
What are DevOps foundations?
- Lean movement (manufacturing lead time; small batch size; system thinking)
- Agile movement (deliver frequently; small batch size ; incremental; motivated small
teams; trust-management) - Continuous Delivery Movement (linking development with deployment in pipeline)
- Improvement Kata (continuous self-improvement)
What includes in DevOps?
High-trust, high- performance culture
- Unified mission; aligned incentives across departments and teams; little
fear/failure/blame, high quality of work life
IT capabilities = strategic assets, not cost centers
- Projects, features and work flow through fast cycles times, systems are “antifragile,”
IT processes & capabilities are aligned with overarching organizational needs
Highly automated processes; mature deployment pipeline
- Technical phases of projects supported by common tools and automation processes,
collaboration replaces handoffs, codebase/IT infrastructure is agile and functional by default
Continuous delivery of software and IT value
- Features, projects and IT work follow a regular, iterative flow. Cycle time is short,
workflow favors small frequent changes
Commitment to continuous learning & improvement
- Disciplined feedback loops quickly travel back upstream for inclusion. Tools for
monitoring, measurement and alerting implemented & effective. Shared knowledge
repositories.
What does the DevOps team do?
Business Analyst:
Helps with requirements not just for the end product but also for automated tests as well as infrastructure requirements.
App Developer:
Develops code for the end product, but responsibility does not end with submitting code –>continuous support. Helps all the way to the successful deployment.
SW tester and Q&A:
Is no longer a separate department from development, but works jointly to setup automated tests (quality gates) for developers to check their work automatically for immediate feedback
IT operations:
No longer the “final step” for a product, but part of the team. Infrastructure matches the
development environment.
What do Ops see?
- Fragile applications are prone to failure
- Long time required to figure out which bit
got flipped - Too much time required to restore services
- Too much firefighting and unplanned work
- Planned work cannot be completed
- Frustrated customer leaves
- Market share goes down
- Business misses shareholder promises
- Business makes even larger promises
What do Devs see?
- More urgent date-driven projects put into the
queue - Even more fragile code put into production
- More releases have increasingly turbulent installs
- Release cycle slow to catch up with cost of
deployments - Failing deployments difficult to diagnose
- Fewer IT resources due to cut-backs
- Ever increasing backlog of infrastructure projects
- Ever increasing amount of tension between Dev
and Ops