The concept of shared services is prevalent in most large organizations. A centralized user experience or architecture group or services group can be commonly spotted. A lot of times, component team setups are given a flavor of shared services.
No matter how much dysfunction it causes, shared services continue to live for many reasons including:
- Organization’s inability or hesitation to make structural changes
- Fear of being exposed in getting outside of their comfort zone
- Fear of change in general
- Focus on local optimization
The fact remains that shared services are generally not economically viable due to associated communication overheads and increased cycle time to get work done, however; the idea of shared services will not go away anytime soon. So what are some of the ways to work with shared services setup in an agile organization? Saying that organizations need to completely change from a shared services structure to feature teams capable of delivering end to end functionality will sound lame and unrealistic. Below are some techniques that can help organizations work with shared services, trying to transform to the agile way of working:
- Vision – The environment in a shared services setup is generally chaotic as consumers always have a high priority need. At this time, it pretty much becomes a bidding game. The person or team that shouts the loudest or the person with the highest level of influence is able to get their work prioritized to the top. This is followed by the lengthy process of knowledge sharing where the member of the shared services team spends time in understanding what to build and why. This causes the shared services team member to take a very narrow approach to quickly build what is being asked without understanding the vision and move out to the next ask. This sounds pretty much like a robot in a manufacturing environment that just gets its work done without caring about the end result.
For agile teams, having a common understanding of the vision of the overall product or just a single release is of paramount importance to ensure that every single activity is focussed on achieving the vision. When working on large product backlogs, it is recommended that teams (I mean the whole team and all the teams) get together to create a common understanding of the functionality targeted in the next release. All teams involved should participate and help in sequencing the work to be done to be able to assess when the consumer will need something. This generally calls for investment of time from all teams but the outcome overshadow the cost.
Where there exists a clear vision and a clear understanding of what is needed from the teams, team members remain excited about what is being developed and look forward to their contribution and stay engaged
- Alignment – “Change is the only constant”. A sequenced backlog should not be treated as a project plan. Once a vision has been established and the backlog has been sequenced, all involved teams should come together on a regular basis to inspect the progress and resequenced their backlog as needed.
This will specially help the shared services teams to reprioritize their work to make sure that the next highest priority deliverable goes out quickly.
- Collaborate – Coming together frequently to align is part of collaboration. Additionally, having someone from the shared services team attend the consumer team’s daily Scrum and other Scrum events and vice versa will help both the shared services team and the consumer team to stay informed about the progress being made and plan their work appropriately.
- Service Level Agreements (SLAs) – Achieving discipline through working agreements is important when it comes to collaboration between teams. To use a metaphor, car manufacturers rely on multiple suppliers to provide various parts of the car to be able to assemble the end product. Each of the suppliers have to agree to certain processes and protocols to make sure that the assembly line does not come to a halt due to shortage of parts. Each part has a assigned reorder inventory level at which point the order system automatically places order for the next shipment. Not only is the vision of the system clear to each supplier, the suppliers ensure delivery of products on time and are also liable to penalty if the agreements are not adhered to.
The key focus agreements is to build the environment of collective ownership, collaboration and focus to ensure quality and timely deliverable while maintaining a flow.
- Use a tool – Tools can come in handy when it comes to collaboration and keeping shared services teams informed about their commitments. While I am a huge proponent of physical boards for Scrum teams, I do have to acknowledge that physical boards become a limitation when trying to keep shared services teams informed about the needs or the change in needs of the consumer.
Additionally, tools can be used by teams to generate metrics to assess their performance in being able to meet their SLAs, get notified about key milestones and provide data specifically targeted towards continuous improvement.
While I truly believe that structural changes are a critical part of a successful agile transformation, it is not always possible right from the word go. Organizations are generally resistant to radical changes fearing impact on running the business. While baby steps are taken to impact structural transformation, the above mentioned steps will help in the interim to help the organization get started on the journey of agile transformation.
If you have other ideas/techniques that you have used in your engagements, I would love to hear from you.