Distributed teams, i.e. teams, whose members are not present onsite for the whole length of the project, have become rather widespread in the last several decades. The main advantage of this model is the ability to find qualified team members not only locally but to tap into a much broader geographical talent pool. Remote team members can be located in other regions of the same country, throughout Europe (so-called nearshoring) or even on different continents (offshoring / farshoring). Another significant advantage is the cost saving of the nearshoring / offshoring teams, in comparison with the onsite option.
Why are so many customers skeptical when it comes to distributed teams?
Still, multiple companies have got rather negative experience while working with such teams (especially in case of the farshoring model). The main pain points and concerns are:
- Can distributed teams achieve effective collaboration and communication with the customer?
- Is it possible to perform such communication without a high coordination overhead at the customer’s side while still preventing the feeling of loss of control?
- Are the distributed teams able to deliver high-quality results on a tight schedule?
- Can they provide not only technical but also product expertise (i.e. work on the product discovery / requirements management, product design, user experience, etc.)?
- Can an efficient know-how transfer between the team and customer be organized?
- Is it possible to overcome cultural and linguistic barriers as well as time-zone gaps?
I would like to share our recent experience of a project which was delivered by a distributed team (the team members were spread over four cities in two countries) and how we could overcome these concerns and deliver excellent results on a very tight schedule.
Volker Höhler, Team Leader Application Development, Aareal Bank AG:
“We are delighted with the progress of the project and the delivered results. In my opinion, the most crucial success factors were the high quality of the codecentric’s personnel, the speed of the decision-making process, and the team spirit regardless of the geographical distribution.”
Last year the Aareal Bank (located in Wiesbaden) started to work on a new, highly scalable platform which consisted of multiple Kubernetes clusters and managed services such as Elasticsearch, Kafka, RDBMS, and much more. The customer wanted to create a self-service tool with an intuitive user experience to allow its product teams to manage their microservices applications. To comply with the strict banking regulations, the new application should have supported an approval workflow, strict authorization rules, an audit log, etc.
The project (called ANTS Cockpit) had a tight three-month schedule. The team would be responsible for the whole product delivery process including the product discovery (incl. requirements management), planning, implementation, QA, and operations. The ANTS platform required expertise in the modern microservices development stack and runtime (Kubernetes).
The Distributed Team
Based on our previous, very positive experience with the high-performing distributed teams, we offered the customer to tap into our company-wide talent pool and build a distributed team with members located both in Germany and Bosnia. Aareal Bank decided to give the distributed team model a try and use this experience as a case study for the future projects.
Time to market and cost: Working with a distributed team would allow the project to start as soon as possible with an experienced, already well-functioning team. Moreover, this would provide the opportunity to save costs compared to a completely onsite team.
Project’s liftoff and building the team spirit: To enable an efficient project start, all team members spent the first three weeks of the project onsite in Wiesbaden. This time allowed the whole team to communicate directly with the customer and end users on a daily basis. Working side by side and socializing (incl. the customer’s team members) allowed us to build a strong team spirit which was then retained throughout the entire remote phase.
During the project liftoff we clarified all parties’ expectations and assumptions regarding the project as well as the the shared team purpose, values and rules. Besides, we organized a series of product discovery and planning workshops (see below).
Onsite PO: After the initial three-week phase, one of the codecentric team members (Proxy Product Owner) remained present onsite with the customer while the rest of the team worked remotely. The full-time Proxy PO allowed to continue effective product discovery activities and direct onsite communication with the end users.
Communication tools: Modern communication tools (video and audio conferencing, screen sharing [Zoom], messaging [Slack] as well as remote whiteboards [Realtime Board]) helped create very efficient communication channels, almost completely eliminating the communication barriers. It provided collaboration and communication experience comparable to a collocated team.
Cultural compatibility: Cultural barriers can easily prevent an effective collaboration. Here I mean not only cultural differences between countries but also cultural differences between companies and employees. Language barriers and time gap pose threats as well.
To enable a shared culture, all team members (including those working in Bosnia) are full-time time codecentric employees. They enjoy the same conditions as employees in Germany, including the 4 + 1 Model (20% of the working time is reserved for personal development and projects), active participation in national and international conferences, very high levels of self-organization and autonomy, etc. Employees from all 15 codecentric’s locations (in Germany, Netherlands, Bosnia, and Serbia) cooperate on the daily basis within and outside of common projects which allows us to build a shared high-performing culture.
Product Discovery and Delivery
Cross-functional agile team: We provided the customer not only with our technical expertise but also were responsible for the project planning, requirements management, and product design. To achieve optimal results we used modern product discovery techniques such as:
- Design Thinking, Lean UX and Personas to put the end user and his needs in the spotlight of the project and to generate and validate multiple solution ideas within a short period of time
- Impact Mapping to allow the project stakeholders to set clear business goals and to communicate the product vision/strategy
- User Story Mapping to improve the project planning and transparency and to preserve the big picture vision
- Scrum to organize the product discovery and delivery based on the 2 weeks iterations
We were responsible for the QA and operations of the product as well. Such a cross-functional team composition allowed us to work with a high level of autonomy and to minimize the communication overhead on the customer’s side. At the same time it allowed us to have a close alignment with the customer’s business needs and strategy.
Clean Code and DevOps: The team actively used Test Driven Development and code reviews to guarantee the high-quality delivery standards. Continuous delivery practices made it possible to quickly prototype and validate new ideas and helped minimize the idea-to-production and feedback times.
Know-how transfer: An essential part of the project was the know-how transfer of modern development methods and technologies to the Aareal development team which enabled the customer to support the ANTS Cockpit application after the project’s end.
Kevin O’Brien, Product Owner, Aareal Bank AG:
“The team could get up to speed on the complex subject of the project and the corresponding technology stack in the shortest possible time. It allowed us to achieve outstanding progress very fast. The codecentric’s team members brought a large number of improvement proposals to the project including in the area of usability. A critical success factor of the project was the excellent team coordination done by the codecentric’s Product Owner and Scrum Master.”
All the factors mentioned above allowed us to deliver the product on a tight schedule while fully meeting the customer’s expectations. This experience convinced the customer that distributed teams could deliver excellent results, provide efficient collaboration and deliver high-quality products.
The codecentric Team
- Slawa Giterman, Product Owner and Scrum Master, Karlsruhe, Germany
- Milos Brdar, Doboj, Bosnia and Herzegovina
- Senjin Hajrulahovich, Doboj, Bosnia and Herzegovina
- Branislav Lazic, Doboj, Bosnia and Herzegovina
- Nikola Bunic, Banja Luka, Bosnia and Herzegovina
Aareal Bank AG is a leading provider of financing solutions and services, with a focus on the property industry, to customers in North America, Asia, and Europe – be it office buildings, hotels, shopping centers or logistics and residential properties. Its state of the art banking and software solutions and innovative digital services help its customers to manage their properties in an efficient and service-oriented manner.