Enormous benefits follow when software engineers share a tech stack. Thus upon finding a fragmented ecosystem a newly arrived technical leader will experience great temptation to rush convergence. A gentle touch and an iterative approach, however, will likely yield the best results with the least resistance.
Instead of attempting to fast-forward to the desired end-state, consider layering in convergence with these stages:
- Shared component technology
- Shared implementation patterns
- Shared software libraries
- Shared managed services
Taking this iterative approach, one more evolutionary than revolutionary, not only allows incremental value capture along the journey, but also yields a groundswell of support and a multitude of use cases while minimizing risk and speculation at the earlier stages.
Consider the benefits that begin to accrue and subsequently compound:
- Local technical guilds
- Key-man risk reduction
- Employee/project mobility
- Operations support sharing
- Burn-out risk reduction
- Tool chain maturity
- Application feature focus
- Feature delivery acceleration
- Compliance burden reductions
- Disaster recovery robustness
Why not capture as many of these benefits as soon as possible? Continually enlist the help of others and you will be perpetually delighted at how fast your vision becomes reality. Accelerate that recruitment by showing people a better way and encouraging their willing participation.