Enterprise awareness is one of the principles of the Disciplined Agile (DA) tool kit. The observation is that DAD teams work within your organization’s enterprise ecosystem, as do all other teams. There are often existing systems currently in production and minimally your solution shouldn’t impact them. Better yet your solution will hopefully leverage existing functionality and data available in production. You will often have other teams working in parallel to your team, and you may wish to take advantage of a portion of what they’re doing and vice versa. Your organization may be working towards business or technical visions which your team should contribute to. A governance strategy exists which hopefully enhances what your team is doing.
Enterprise awareness is an important aspect of self discipline because as a professional you should strive to do what’s right for your organization and not just what’s interesting for you. Teams developing in isolation may choose to build something from scratch, or use different development tools, or create different data sources, when perfectly good ones that have been successfully installed, tested, configured, and fine-tuned already exist within the organization. Disciplined agile professionals will:
- Work closely with enterprise professionals, such as enterprise architects and portfolio managers.
- Adopt and follow enterprise guidance.
- Leverage enterprise assets, including existing systems and data sources.
- Enhance your organizational ecosystem via refactoring enterprise assets.
- Adopt a DevOps Culture.
- Share learnings with other teams.
- Adopt appropriate governance strategies, such as the ones described here , including open and honest monitoring.
Enterprise awareness is important for several reasons:
- You can reduce overall delivery time and cost by leveraging existing assets. In other words, DAD teams can spent less time reinventing the wheel and more time producing real value for their stakeholders.
- By working closely with enterprise professionals DAD teams can get going in the right direction easily.
- It increases the chance that your delivery team will help to optimize the organizational whole, and not just the ”solution part” that it is tasked to work on. As the lean software development movement aptly shows this increases team effectiveness by reducing time to market.