Reorganizing teams for agile development

Microservices are changing the way software is designed (Image Aquir / iStockPhoto)

Re-aligning organizational structure is one of the key steps that companies need to take if they want to transition their application development to microservices.

“Leadership needs to rethink the way the company is organized – physically as well as virtually,” said Mike Amundsen, director of architecture, API  Academy at CA Technologies.

Amundsen, quoting from Apple Fellow and inventor Mel Conway, added that a system’s design is a copy of the organization’s communication structure.

“Several companies we’ve talked to apply Conway’s Law to help them compose a team structure that is meant to reflect the kind of software and infrastructure they want to see. In other words, you start your work of architecting software by architecting the team themselves,” he said.

Changing the internal organizational culture is a way of integrating people into the microservices approach, according to Robert Merlicek, CTO, Asia Pacific and Japan, Tibco Software.

“Establish a team-member structure that identifies the who, what, where, when and how of integration specialists, application and departmental developers as well as the all-important digital citizen,” he said.

Taking small steps

Companies are advised to take things slow when they start developing microservices-based applications.

“What we see in most successful organizations is start small, take small steps, and be prepared to ‘back up and do it again’ a few times in order to learn the most and gain the most from the process,” said Amundsen.

The ideal approach would be to work on a small product or software element within an organization that, while measurable, has no critical impact on the daily business operations.

“Essentially, you want to be able to use this non-critical system as a proof-of-concept for your new microservices strategy,” said Amundsen. “You also want to start with a small team. That means you need a software product or project that can be handled – from design to deployment – by a team of five to 12 people. Any larger team may add too much complexity to the experiment,” he added.

Rebuild IT infrastructure from the ground up 

Meanwhile, Merlicek said that to fully leverage the benefits of a microservices architecture, enterprises need to be able to build – or rebuild – their IT infrastructure from the ground up.

“Splitting monolithic applications into smaller, independent applications is not a task most teams are able to perform in a reasonable amount of time while maintaining existing code and continuously building new features and functionality,” he said.

He added: “For most teams, this will be an iterative process to slowly replace existing systems as they go – only fully leveraging microservices for new

Merlicek said the success of a microservices approach is strongly dependent on implementation.

“But with tools like solid API management, cloud integration and distributed service descriptions, engineering teams can put themselves on the right path towards microservices success,” he said.