Distributed Development: Introduction

from on 24.11.2014
0
186965116-web

One year ago Zühlke Serbia (ZERS) started the operations with the goal to become the Group’s competence center for agile distributed software development. During this period we worked on various interesting projects for other Zühlke locations while some of them are still ongoing.

In this first post of the blog series on distributed development we will give a brief explanation of what it is, the need for it and the benefits it brings to Zühlke and its customers, the history of ZERS and the overview of the posts that will follow.

Distributed Development

Distributed development is project or work done across multiple physical locations. There are three types:

  • Pure virtual – teams only meet in virtual world: i.e. communicate via email, video conference calls, etc.;
  • Outsourcing – requirement engineering is done on one and development on another location: separation of responsibilities is achieved by introducing roles;
  • True (full) distribution – cross-functional team(s) working at distributed locations that meet from time to time developing the product.

Variety of software development methodologies can be applied depending on the type of distribution. Our setup requires agile software development with total team integration since our projects require one team, even while being distributed across locations.

The need and the benefits

The need for agile distributed development setup (ADDS) arises from the problems that became obvious for Zühlke, like:

  • Finding skilled engineers in our existing locations;
  • Scalability on Group level;
  • Target large multi-national enterprises where distribution (and globalization) is already a commodity – win projects we could not win otherwise
  • Stay competitive in a highly globalized market (specific experts, cost structures)

The benefits that we gained by implementing ADDS are:

  • Increased scalability on a Group level by allowing flexible team size and focus shift per project phase
  • Zühlke can provide the best experts for the project, regardless of their location
  • As a unique value proposition of Zühlke we always provide co-located experts which also act as a “proxy” to cope with the coordination overhead, which means there is no additional effort for our customers.

History of ZERS

Several customers and some competitors were already gaining experience with nearshoring or even offshoring when we started our project back in June 2012. Although we already had plenty of know-how gained in various projects, we never applied it so far within Zühlke. In the beginning we discussed several options how to tackle the field: evaluate a partner company, build-up an own affiliate, acquire an existing company or do nothing at all.

We started signing a framework agreement with two different companies to gain first experiences for the short term but decided to go with an own affiliate in the medium term. The location evaluation started in 2012 and included several visits to various cities in Eastern Europe. In the finals, Belgrade won over Warsaw in May 2013. Only six months later, Zühlke Serbia started its operations in Belgrade with four engineers.

Now – exactly one year later – Zühlke Serbia employs 15 engineers and is growing steadily. The utilization is high and we are working in an agile, distributed manner for challenging projects in cooperation with all other Zühlke locations.

Belgrade cityscape on Sava

Belgrade cityscape on Sava

Blog Series Overview

Each blog in the series will be focused on a different set of topics that regard to project and team setup, daily business routine, team feeling, tooling, infrastructure and collaboration. The findings are gathered from various projects we worked or are still working on, with different team and project sizes and setups, for various Zühlke locations. We will explain common issues and solutions and approaches that helped us overcoming some of them.

Every new distributed project brings new challenges, but it is also very important to revisit the current setup in a project regularly. This is an ongoing process for all of us because every project is a living entity that changes over time.

Write a comment

Your e-mail address will not be published or shared with third parties. Fields marked with * are required.