Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
sebastianNoe
Participant
A couple of years ago my former team and I faced the issue that we had to enhance an existing solution with additional functionality. The issue was that said solution spanned from Financial Transaction Creation, Maintenance, Valuation, Posting and Reporting with all the steps in between like Correspondence and such and we had to make sure that the required features are reflected in each of those steps – if required that is. But how to figure out which feature requires adaptions in which steps? How to make sure that the adaptions we do are correctly reflected in the following steps?

To overcome that challenge, I tried to figure out a tool that could help us to collaboratively visualize and work on the process. As a result of that the Enhance Existing Process Map tooling was created.

 

The target of the activity is to have technical and functional experts working together to make sure no required enhancement within the process is missed. Unlike User Story Mapping it is specialized towards enhancing an already existing complex solution.

 

Working on the Map should not be seen as a one-time activity, but instead it can be initially used for finding required changes, then for release planning, during the development phase to add missed points that were not spotted so far, and for testing as input on test scenarios and where to look for effects of the done changes.

Result of the activity would be a map that could look like below.


We see on it the different process steps and Features. Mapped to each of them is what we think needs to be done.

  • CHANGE means that we are certain, that for this feature we require to change something within the process step.

  • CHECK means that we are not quite certain, that for this feature we require to change something here but need to investigate it in more detail.

  • VALIDATE means that within this process step we should see some change in data as of our changes in a previous process step.

  • NEIGHBORHOOD means that we need to interact with a fellow team to make sure that dependencies between teams are managed correctly and activities are planned jointly.


Color coding those findings helps keeping it structured. Therefore, using different colors for the four types of findings makes sense.

 

But how to get to this map? I would suggest following those steps:

  1. Gather technical and functional experts of the process and wished feature (Product Owner, Solution Architect, Technical Architect, Business Analyst, no matter how the roles are called in your organization)

  2. Together write down the different process steps in the order they occur within the overall process.

  3. Together list all the features that should be added within the process.

  4. Together go through each individual process step for each individual feature and ask yourselves the following questions:

    1. Do we have to change something here? If so, briefly describe the required CHANGE and stick it to the Map. If we are not sure, briefly describe why we need to CHECK and stick it to the Map.

    2. Can / Should we validate some result of our change within this process step? Meaning do we expect that because of a change we do some behavior / data is visibly changed here? If so briefly write down what can be VALIDATED here.

    3. If we are working in a bigger program with several teams or streams, we should also think about the neighborhood. Meaning: Do we know about dependencies? Are they working on data that we are about to change? Or do we require data from them? If so, we should also note that down and add that to the NEIGHBORHOOD.




In my experience when working on the Enhance Existing Process Map you will find additional steps while walking through the process. Especially if you do it for multiple features at once. In that case no worries. Add the just found step and after finishing with the current feature return to the features you already worked on and make sure to again ask yourself the above questions for the newly found – maybe also here relevant – process step.

Also try to not discuss whether a CHANGE is required or not. When in doubt simply add a CHECK note and follow up on it.

 

 

What do you think about the Tool?
Something you will give a try?
Personally, I think it gives you another option when looking for a suitable tool to gather requirements and while I would always prefer User Story Mapping over the Enhance Existing Process Map in a greenfield approach I think it is valid in its niche of brownfield process enhancements.