Metrics
A DevOps team needs to measure everything, they are responsible for everything, so they need to know about performance. Performance of the application they are responsible for. Performance of the team to be able to improve. And performance of their delivery of value to the customer. Here are some basic metrics I think are important to measure.
- Lead time of a change: how long did the change live before it was put into production?
- Mean time to recover: how long do most outages take to be resolved and availability is restored
- How predictable is the team: prognosed work / delivered work (the closer the numbers, the better).
Security
A DevOps team owns the security aspects of the application, no one else is responsible. Things like static code analysis, OWASP Top 10, basic thread modeling and service accounts should be understood.
Testing
Testing is not the job of one person in a DevOps team. All disciplines must have a fair understanding and even an implementation of testing. Think about the testing pyramid and accompanying strategy. Think about unit testing on at least all new functionality. And least but not last; knowledge of disaster recovery or use of chaos engineering.
Transparency
Being transparent as a team means to show what you do and what you didn't do. It is about communication with all the stakeholders, including the DevOps team itself and management. A visible backlog and open review sessions are key to transparency.
Learning
In order for a DevOps team to be successful and stay successful they need to learn. While the world keeps moving, a team cannot stand still. Any lack of learning will result in a form of debt. New technologies appear, team members can change, the organisation will change and dependencies change, just to name a few. DevOps teams actively need to learn and develop their skills as they do their applications.
This is just the tip of the iceberg about what a DevOps team needs to be able to do, there are many more. But on a basic level you need to understand and own the above. With an increases autonomy that comes with being a DevOps team also comes more responsibility of doing the right things right.
What are the most important capabilities for your team?
No comments:
Post a Comment