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
- 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
- Sprint Refinement — the time where the User Stories are discussed, negotiated and estimated with the Product Owner. Tip: use Story Points: https://planitpoker.com
- 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
- 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
- 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".