Working with a distributed setup can be a challenge and many problems are harder to solve. Since 2004 I have been working in different companies with focus on establishing a global effective delivery structure or improving existing structures. I also have had the great opportunity to work with many different companies either helping them getting started with distributed development or solving some of their many problems. It has been with larger teams (up to 100 people) and smaller and high effective teams with just 2-3 people. I have been working with interesting cases and got many stories and learning with focus on countries like India, Bangladesh, Ukraine, Russia and Pakistan.
It has been a continuously changing journey with many experiments and trying an amazing number of different things to improve the systems and understand problems later to be solved. After some years I have started to see the same challenges across different customers, different offshore locations and different type of work. I started to analyze and reflect on all the data end experiences, and tried to formulate some patterns on what need to be in place for an effective global delivery system to work better. The first result was 8 related patterns and a number of recommendations and some years ago it was extended with a pattern about “Management System”. One could argue that it could (should?) be part of the “Global Structure”, but my experience has been that seeing the whole Global Structure as one system is not that easy to follow for many people. Especially not from a traditional management point of view.
The 9 patterns (also in the picture), are:
- Global Structure and Processes
- Global Rhythm
- Global Requirement Management
- Global Communication Protocols
- Global Technical Infrastructure
- Global Development Practices
- Global Domain Knowledge
- Cross Cultural Understanding
- Management System
For the last 10-15 years I have been a strong advocate of Lean and Agile thinking and used many agile practices in different companies (also before someone coined them with a specific name J) and I have been inspired by Lean Principles and Systems Thinking. I have worked quite a lot with processes from CMMI, RUP, APLN, ITIL and my experience is that even though they are based on some kind of best practices, very often they are too detailed and used by people as the “one truth”. In companies having very prescriptive processes I see that often people see it as the one standard cut in stone they need to follow without thinking, or they don’t follow it at all.
Since 2006, Scrum practices and the thinking behind those have been a huge part of my daily work. The patterns have been created and continuously improved base on my own experience and a blend of Scrum, Agile Principles and Practices and Lean Thinking.
I will start to write posts about each pattern, so stay tuned.