A cross-functional team is a team where all members have different backgrounds. It’s like a rock band: there is a singer, a guitarist, a bassist, a drummer, everybody has vertical expertise but all together they can perform great live 🤘!
What are the instruments of a DevOps team? I’ve recently found the DASA DevOps Competence Model that describes all skills and knowledge necessary for DevOps teams.
- Courage: Evangelism, coaching, self-confidence, proactivity, reflection, trust, open discussions, experimentation, fail fast, courage to change.
- Team-building: Understand the other’s point of view, collaboration, mutual accountability, common purpose, ability to integrally support the service/product.
- DevOps Leadership: Facilitating teams to high performance, humility, transparency, Service lifecycle mindset, Stakeholder management.
- Continuous improvement: Today we do our work better than yesterday, kaizen mindset, quality at the source, first time right, knowledge-sharing, ability to adapt.
- Business Value Optimization: Use of IT service in real life, including direct feedback loop of user comments to team, service level management, definition of “done”, business activity/performance monitoring, business case management.
- Business Analysis: Functional requirements, non-functional requirements, longer term development of business process (based on the translation of market developments), data analysis, and refinement.
- Architecture & Design: Ensuring fit between developments and current situation, overall service design, patterns & styles.
- Programming: Software engineering mastery, everything as code, data management.
- Continuous Delivery: Automated testing, deployment and release management, configuration management, version control, cloud, containerization, feature-driven delivery.
- Test Specification: Design of test cases, test concepts.
- Infrastructure Engineering: Technical monitoring, performance management (e.g load balancing etc.), capacity and availability management, reliability engineering, cloud, containerization.
- Security, Risk & Compliance: Security, service continuity planning.
This does not mean that we need 12 people on our team but each person should have a basic knowledge of everything and one or more expertise area.
For example in a team of four:
- Mario has strong skills in Business Value Optimization and Business Analysis
- Alessandro is great in Infrastructure Engineering, Continuous Delivery and Security, Risk & Compliance
- Francesca is powerful in backend programming and architecture & design
- Giovanna is an excellent full-stack programmer and write test specifications
Together they have all the skills needed inside a cross-functional team but everyone knows the fundamentals about other peoples subjects.
Courage, team-building, DevOps leadership and Continuous improvement are so important that every person in the team should be acquainted with them.
This approach avoids misunderstandings between people, everyone walks at the same pace, and the members will be more motivated.
The project managers can write better specifications, and the developers will develop meaningful products focused on business goals.
How to build a good team?
The first step is to understand every company member’s strengths and weaknesses. It is possible to administer tests and perform interviews with everyone. Is the project manager able to write a
SELECT query? Can the programmer
understand the impact of what is developing for the final customer? Does the Q&A engineer know what will be the volumes of business expected in one or two years?
Then everybody should have at least a minimum of knowledge of everything. It is important to establish a good learning path for each person to be sure that everyone is speaking the same language.
Then the training can continue to further grow the single and, holistically, the whole team.
Now it is easy to understand what profiles are missing and when is the moment to hire new people!
In the end
The team is the sum of the people that compose it, but this is not enough. Everyone should be able to understand the other people’s job.
Quoting the famous Italian actor Totó
È la somma che fa il totale