Even though Decision Management technologies are built upon agile development principles, implementation projects frequently get bogged down in traditional approaches. Let us embark on a journey in the hopes of Finding Agile in those murky waters.
Decision Management Technologies are Center Stage
Most of the new advances in technology are aimed at making the systems more intelligent by having them do more knowledge work. These collection of technologies are the Decision Management technologies – that includes business rules, analytics and optimization. Since decision-making is amongst the most fluid aspects of an organization and the logical place to plug knowledge in, all related technologies are experiencing a surge in demand.
As decision management technologies start making larger footprints in enterprise technology landscapes, there is a need to adjust traditional implementation methods so that the promise and benefits of these new technologies can be leveraged without sacrificing necessary enterprise governance and controls. Agile development approaches, in particular, need to be blended into the overall decision management implementation methodology.
Decision Management cannot but be Agile
Agile development for decision management should not be considered an add-on concept – agile is almost the definition of decision management. In systems development, Agile Methodology is frequently considered a response to the long, complex and uncertain system development. Decision Management knows nothing else besides the principles espoused by Agile Methodologies.
Decision requirements gathering is a collaborative and iterative exercise among business and technology users. Formal, graphical notation for decision requirements modeling allows a diverse set of subject matter experts to participate as the models are gradually built out towards a consensus. Decision Model and Notation (DMN) is the powerful and useful standard for capturing decision requirements to a point that technology and business teams can agree to the same picture.
Implementing decision automation using business rules, analytics and optimization is a series of incremental configurations that require continuous collaboration, demonstration, verification and correction. This form of development cannot be handled beneficially using traditional system development techniques. Agile approaches are a core requirement for successful decision management implementations.
Decision Management translated for Agile Approaches
While developing decision management components in an agile approach
- Sprint planning can be done using Automation Boundaries on Decision Requirement Models
- Each decision on the Decision Requirements Model is a self-contained Story while a section of the Decision Hierarchy is an Epic, if needed
- Story Points for effort estimation are formalized by taking into account the number of decisions, info sources, knowledge sources and their complexity – all available on the Decision Requirement Models
- Joint Application Development (JAD) sessions are the Decision Discovery and validation conducted as collaborative efforts among business and technology users
- Project delivery can easily be tracked through sprints and burn down charts
The agile team can deliver fully-functional decision components within each sprint if they are working in a supportive agile environment. One key element is that Decision Requirements need to be modeled in the formal DMN notation and then implemented using agile development techniques that emphasize incremental production delivery with business user participation.
So, why do Decision Management projects stumble?
Decision Management technologies are designed to allow rapid changes to business rule configuration but they still need to be embedded in the relatively stable technology architecture. This dual objective is achieved by allowing flexible configuration within the Decision Management software component, but only after the mechanics of external technology integration have been thought through.
This integration aspect is the long pole in any implementation and the effort involved can vary significantly depending on the systems environment in place. Typically there are two areas of integration required – data integration to get information into the decision management component, and application integration with the system that is going to raise the question and consume the answer that the decision management component will provide.
Again, the key is to recognize that while an integrated solution is needed, the three components – decision management, data integration and application integration – need distinct treatments and should not be forced into a one-size straight jacketed delivery approach.
Enterprise Projects need to work within the Enterprise Framework
Even though decision management components are designed to be agile and business-friendly they are part of the overall enterprise landscape and need to play nice with every one. The usual enterprise technology challenges need to be addressed.
- Big picture view of architecture should be in place
- Data provisioning and integration needs to be designed and implemented
- Application integration and Application enhancements need to be coded
- Severs, Networks and other Infrastructure needs to be setup
- Integration points with existing infra need to be defined and established
- Authorizations and entitlement profiles need to be reviewed and updated
Overall Project Management for Decision Management has to thread together agile and traditional techniques for project delivery.
Need for a Hybrid Project Plan
Most Decision Management projects will have the following four tracks.
- Decision Management Tech Components
- Data Staging
- Enterprise Systems Integration
- Organizational Change Management
All four tracks need to be planned and implemented concurrently but the work involved has significantly different levels of cadence. Decision Management Tech component track needs to be managed as an agile process while the other tracks may or may not follow agile techniques depending on organizational standards.
Trying to implement Decision Management systems using templates from Transactional systems or Enterprise Resource Planning systems will straitjacket the effort to the point where most advantages of the new technologies would have been nullified.
In order to make the project manager’s tasks a little easier it is important to understand the technology architecture. Decision Management Technologies essentially deliver a standalone component that needs to be ‘plugged into’ the enterprise technology platform. This decoupling allows the DM implementation a certain element of independence once the integration points have been identified.
Managing a deliverable that has elements of Agile and Traditional approaches is possible as long as these differences have been recognized up front. At that point it is relatively easy to set up independent work streams with the right levels of synchronization and project controls.
Decision Management is here to stay
Decision Management technologies are not a flash in the pan that can be addressed through ad-hoc implementation methods. Organizations have to build out the capabilities to bake in the Agile approaches required to leverage this exciting new flavor of enterprise technology.