Working in distributed teams

The art of thinking independently together

All Blog Entries

Fixed price or T&M?

What is the better order option?

Working in distributed teams: the art of thinking independently together

 

Distributed teams are a norm today in many organizations, but they can be challenging to be run effectively. For us, from the nearshore perspective, working remotely is like a guided tour through a foreign city, always expect something new to learn. We’ve been trying many methods to get to the shape we have now, and here is what I want to share with you.

 

We share the same vision with our customer, and act accordingly with our culture values, using different Agile practices and techniques that are described below.

 

But first of all let me describe the picture and the name:

Productivytree is a new agile method to develop an idea to a finished product. The word consists of two words, productivity and ivy tree. Maybe readers ask themself why we invented this „new” name and picture? Whenever someone googles information on agile and Scrum, you find tons of circles showing the Scrum process. Scrum is helping us a lot. However, I think it mainly focusses on the process, but in addition to process we also introduce soft facts and align on practices for a successful project. Furthermore, the typical pictures on Scrum don’t show the ultimate goal of a project, which is a new product, a new application or a website.

 

Here is our productivytree on how we envision the product delivery process

Productivytree

Productivytree

From the customers product idea, we create/adopt practices to reach the final shape of the desired product.

 

Envisioning is a workshop where the team and the client stay in the same location to write together product features (epics) that are big buckets of the next functionality to be implemented.

We all take a look on them, add high-level estimations (T-shirt size) and place them on a timeline (roadmap). Now we start to break them down and add them to the backlog.

The product owner (independent or with the team) prioritize the backlog using MoSCoW technique.

MoSCoW — Must, Should, Could and Won’t.

We go back to our “homes” and we start the first Sprint.

Sprint — iteration used in Scrum that is timeboxed, for us is 2 weeks.

 

Practices in Scrum

  1. Daily Standups used for all the Scrum team in the first part of the day to synchronize and collaborate all together to remove blockers. Tip: Everyone turns on the webcam
  2. Sprint Refinement — the time where the User Stories are discussed, negotiated and estimated with the Product Owner. Tip: use Story Points: https://planitpoker.com
  3. Sprint Planning — 1st part: ask PO to prioritize the backlog items. 2nd part: check team velocity and availability for the next 2 weeks and see what’s the capacity for the upcoming sprint. Tip: Create a goal for the sprint with the team
  4. Sprint Review — demonstrate the product to the client and all stakeholders Tip: Prepare agenda ahead, everyone is accountable for their work to present it the best way
  5. Sprint Retrospective — close the iteration and discuss what was good, what was not so good in the sprint that we closed and how we can improve. Tip: Use diverse techniques

 

During the cycles, we care a lot about collaboration, inspection, and adaption and for this, we use different techniques:

 

 

Brainstorming — create the frame (meeting rooms + video conference) in both locations and start storming about what can be enhanced at our product

 

 

Tech Talks — share a technical subject that one of us studied/worked with it and understands it; debate about it — and of course eat pizza

 

 

Pair Programming — constantly doing it remotely or in the same location

 

 

Brown Bags — take Virtual lunch together, each one brings his lunch go to a conference room, turn on the web cam and make a call with your teammates

 

 

Guided City Tour — at least once go to the other city and country and use your colleagues for a city tour.

 

 

Feedback Culture — we always share feedback at the retrospective, but we care much about the other teammates' performance, so we are happy to remotely coach or mentor each other

 

 

Maybe you want to scroll up quickly and have a look at the picture again before you continue to read. Ready?

 

While the tree will grow and new soft facts and practices emerge, the roots that represent our company values firmly anchor the tree into the soil.

 

What makes us successfully work together in distributed teams in different countries?

When we look back to the beginning of our collaboration, we mainly had an “us” and “them” relationship. Our best practice in our early years was to cut a project into various pieces. E.g., while Cluj was working on front-end and testing, Munich was developing the back-end part and designs and we tried to avoid any dependencies between the locations. We thought that this was the best and safest way of working together. However, it turned out that this was not true. We learned a lot from that time and little by little we created a new foundation for our collaboration that is now fully integrated, sustainable, productive and brings a lot of joy. We are working in mixed teams now, we embrace the “we” relationship and cover all roles in both locations. This is what we also recommend to those of you considering to open a nearshore location. Whatever you do, always think of "us together" rather then "them" and "us".