top-tips-header
Operations Planning

Top Tips: Organising successful DevOps teams

Andrew Norman is a Principal Architect at BJSS, the award-winning delivery-focused IT consultancy. With over 20 years’ experience of leading development teams on programmes of all sizes, Andrew has developed applications for multiple business sectors, including financial, telecommunications, government and military agencies, and has experience in the design, development, maintenance and on-going evolution of products and bespoke applications.

Andrew provides his top tips for organising successful DevOps teams to ensure the best possible results are delivered for a business.

Getting the right balance: DevOps brings together developers and operations to work closely together to benefit the business; when combined with a lean and agile approach it increases staff morale, productivity and leads to improved project success. However, many DevOps teams tend to be light on process and reliant on a flexible team that is emotionally and technically intelligent.

The agile DevOps process places more pressure on delivery teams than a project that runs along more traditional lines. The process is characterised by continual measurement, frequent demonstration and regular milestones, with constant approval or rejection. It’s an environment where people who are egoless, talented and engaged will thrive.

Build an egoless team: Roles within DevOps teams are defined by tasks rather a tightly specified role description. This offers a number of benefits, such as giving people the opportunity to experience different problems, taking on various perspectives and gaining a better understanding of the software development lifecycle. For example, a project manager (PM) on one project may be a development manager (DM) on another, while a technical architect (TA) on one project may be a solutions architect (SA) or team lead on another, and so on.

It’s vital all senior team members in any project buy into this egoless approach. This means senior people are able to play many roles, while supporting less experienced staff, and acting as enablers and mentors to teams.

In any project it’s important team members understand their role. However, in an agile DevOps project the problems to be tackled, and therefore the resource profiles required, vary as the project progresses. To illustrate this point, SA and TA roles are often held by the same person, but in larger projects where each position is full time, they would ideally allocate 80:20 effort per role. This approach ensures good peer review, guaranteeing all key decisions are sense checked while allowing for a degree of fault tolerance.

Form the team early in the project: The nucleus of the team should be formed at the start of a development with the combination of a manager and senior technical person working to shape the project, engagement with the client and the outline of the solution.

During the next phase the workload increases. For large scale projects, it’s essential to make as much of the on boarding of new team members as efficient as possible. As new individuals join the team, any useful new information they learn should be retained in a sufficient way.

This project elaboration is an intense discovery phase, where the senior member of the team will have many tasks to prioritise based on risk. However, it’s important attention is given to establishing the culture of the group, as well as building strong relationships both within the team and in the interface with other related projects.

Having a reproducible on boarding process also assists with the inevitable team change that will happen from time to time on any project.

Share the work load: One of the most important lessons for the PM/DM is to ensure the most experienced staff have time allotted to non-core tasks such as meetings, coaching and mentoring junior staff.

For example, in the construction phase of a large project, the TA could be expected to spend 50% of their time on identified project tasks, with the remainder being focused on supporting the development process and team.

Organise the team for the project: How a team is organised depends on the project but should always be based upon the principles discussed above. Team organisation must reflect the need for efficient communication, reducing the need for lengthy discussions, while increasing efficiency.

By also avoiding the silo mentality, often found in waterfall projects, a DevOps team can work together to ensure the project is completed with little wastage. Two team members working on a section of the project together will likely make fewer mistakes, or notice the mistakes as they are being made and correct them quickly, without the error being seen in the testing phase further down the line, which can be far more costly to the project. 

By following these tips, DevOps teams will not be inefficient, divisive and damaging to the business and in turn, ensure the best possible results are delivered.

PREVIOUS ARTICLE

« Back to school: Should we ditch it for virtual learning?

NEXT ARTICLE

How London Fashion Week and technology collide »
author_image
IDG Connect

IDG Connect tackles the tech stories that matter to you

  • Mail

Recommended for You

How to (really) evaluate a developer's skillset

Adrian Bridgwater’s deconstruction & analysis of enterprise software

Unicorns are running free in the UK but Brexit poses a tough challenge

Trevor Clawson on the outlook for UK Tech startups

Cloudistics aims to trump Nutanix with 'superconvergence' play

Martin Veitch's inside track on today’s tech trends

Poll

Is your organization fully GDPR compliant?