Team size is just one complexity factor in enterprise software development
In enterprise environments with tens of thousands of software development team members scattered across the globe. Beyond the large numbers, the development teams often come from at least a few acquisitions. In fact, one very large enterprise client had acquired an astounding 158 companies within a 15-year period!
Enterprise software development complexity factors go far beyond team size
There is typically significant diversity of software development languages, tools, cross-enterprise teaming, executive support, corporate culture and trust. The teams' maturity in embracing lean and agile principles, values and methods can vary substantially across the business.
- Green field development teams are often working beside teams maintaining legacy applications that have decades-long histories.
- Teams can vary in size from two people to hundreds of developers coordinating on releases.
- Software developers on enterprise teams may be coordinating with business partner developers, outsourcers and contractors.
- Some teams are co-located in a bullpen, while other teams are scattered across buildings, cities, countries and continents.
- Some teams are working on software with high-levels of compliance requirements (HIPAA, Sarbanes Oxley) while others within the same enterprise have fewer constraints due to their development focus.
- Teams can be working on everything from deeply complex and sensitive financial domain transactions to more straightforward Web site development for the same enterprise.
- The need for consistency, enterprise architecture and reusability can also vary within the same enterprise, from teams that are developing solutions and suites for external customers versus development teams delivering one-off solutions for internal use.
- Organizational culture across the business can impact the level of agility that teams can embrace. In some enterprises, smaller subteams are quite agile in their development approaches, though silos, executive and management styles, and enterprise hierarchies can prevent them from progressing even more in their agility.
The Agile Scaling Model, first introduced by Scott Ambler at least ten years ago, is still an excellent summary of the dimensions of complexity in the enterprise environment.
The key to enterprise agility is learning from others and continuous improvement
Because of the diversity of teams, there is no "one size fits all" improvement path for teams. However, by analyzing the principles, values, practices and approaches that similar teams have found to be beneficial, enterprise teams can establish their own personalized continuous improvement plans in order to increase their agility.