When a company engages in offshore outsourcing, one of the key challenges is to align the software team to same business goal as those of the in-house development team.
This is part due to lack of daily communication across team / suboptimal teams / lack of regular programs for sharing vision and key business goals
On top of it, most of such engagements have different teams adopting different approach and agile practices for different aspect of software development.
Most popular solution is an attempt to create virtual co-location. Investment on tools and technologies to promote daily collaboration among distributed teams. Such as
- Live video streaming and collaboration tools such as Movi, Smart board, software which support virtual visual managements
- Tools and process such as Github for code collaboration, Confluence for knowledge repository, artifact management tools etc
- Common communication cultures – by avoiding one-o- one or email based communication, and use of effective chat room for common and regular notification.
While above are important and obvious, true success of geographically distrusted agile delivery is more transformation in nature.
It is all about autonomy to pods (agile teams) by transferring authority of tactical decision making.
Agile value & principle emphasize a lot on trust, transparency, self organizing teams and simplicity. These are even more important values in case of distributed delivery.
In client-vendor work environment, where PO comes from client organization, while rest of teams (mostly operating at different locations then PO) comes from vendor / service providers
It is important and wise for PO to gradually transfer the authority of tactical decision making to pods / teams. In place of remote product owner, gradually (over a span of 6 months to 1 year) every team should have Proxy or local product owners.
Remote product owner would gradually transform into team stakeholder role, continue to provide and drive overall business goal from development standpoint.
Other Important success factors for distributed delivery –
To promote shared vision and uniform & standard approach across, need to focus on establishing a common framework and culture of distributed planning & retro events
Common Framework and mindset-
Adoption of a common framework across all team (e.g. for scaling SAFe or LeSS or DAD or Scrum at scale or any customer framework). Select whatever suits IT & business alignment, but then it should be common across locations and pods
Adoption of common mind set – Same training program across team preferably by same trainer
Distributed planning events
Properly prepared, orchestrated and facilitated distributed program events such as Program increment planning or cross team business goal meetings or inspect & adopt
Every framework has some or other such event. For example, PI planning in SAFe or Common planning and common retro in LeSS. You may have your own approach as well. Irrespective of what & how; it is important to emphasize on why.
Ideally, first such event should be face to face. Such travel is advisable. And subsequent event can be done remotely.
After few such distributed planning events; teams acquired much more confidence in open communication and maintaining transparency; translate into effective risk management and respond to issues.
Summary – four key success factors of distributed delivery are
- Pods autonomy / authority to make tactical decision
- Common framework
- Distributed planning and
- Tools for virtual co-location