Many organizations are struggling to apply agile software development methods within enterprise environments. In some cases it’s because they haven’t sufficiently invested in training and coaching, but often it’s because agile strategies that work well in simple situations fall down in the greater complexity found in enterprise environments. This complexity arises from having an existing legacy infrastructure, an existing organization structure that covers far more than just software development, and people with a range of belief systems than often differ from the agile mindset.
The Disciplined Agile Delivery (DAD) framework, which grew out of observing both challenged and successful enterprise agile implementations, promotes a robust view of agile. The following values summarize critical aspects of the greater discipline required for successful enterprise agile:
-
Delivery over construction. Agile teams will often invest time doing a bit of up front planning and modeling, sometimes referred to as “populating the backlog”, they will spend time on construction activities, and they will spend a bit of time at the end of the lifecycle deploying their solutions into production (or the marketplace). Disciplined agile teams adopt a full delivery lifecycle that explicitly addresses the full range of tasks they face, not just a lifecycle that only addresses the construction activities in the middle.
-
Consumerable solutions over shippable software. Although “potentially shippable software” has a nice ring to it, it is easy to empirically observe this isn’t sufficient. A solutions focus recognizes that in addition to software we also sometimes need to upgrade the hardware infrastructure, produce deliverable documentation, evolve the business process, and even evolve the organization structure. Furthermore we should produce solutions that people want to work with, solutions that are consumable and desirable to use, not just potentially shippable.
-
Pragmatism over prescription. Any given agile team finds itself in a unique situation and therefore should tailor its approach to meet the context they face. Yet many methods prescribe a single way of working, for example to manage change Scrum prescribes the use of a product backlog. A more pragmatic approach is to provide teams with options and to help them to choose the most effective option, which DAD does via process goals. For example, to fulfill the goal Address Changing Stakeholder Needs DAD teams will choose from product backlog, work item stack, work item pool, or even formal change management.
-
Enterprise awareness over team awareness. A strength of agile is its promotion of a team-based mindset. Unfortunately this has led some teams to produce silo applications that meet the immediate needs of their users but which do not reflect the overall goals of their organization. Disciplined agile teams are enterprise aware, striving to work closely with enterprise professionals such as enterprise architects and operations staff so that they can leverage and enhance assets within their organizational ecosystem by following common guidance and enterprise roadmaps.
-
Govered self-organization over self-organization. Agile teams have gained significant benefit from self organization, but once again we need to do better in an enterprise setting. Because disciplined agilists are enterprise aware they realize that they are being governed (hopefully well) and therefore act accordingly. They recognize that they are constrained by the existing IT infrastructure, that someone will be keeping an eye on the financial aspects of their efforts, that someone will monitor the quality and value being produced, and that senior management can actually streamline their solution delivery efforts when given the chance to. In short, disciplined agilists embrace good governance.
- Names
-
Scott Ambler and Mark Lines
- Biographies