Follow us...

Business Analysis Best Practices for Enhancements

By Yelena Lyaunzon and Diane Donnelly, CBAP

Introduction

Business Analysts often dream of working on solutions that are new and exciting.  There is nothing more exhilarating than building upon a pristine foundation, brick by brick, with our analytical works of art.  Nevertheless, while this may be true, it is often the case that the most common opportunities within an organization or department are enhancements of current systems.  We are basically commissioned to remodel a portion of a house that has already been built.  And like any home project, once we get behind those walls, we easily run the risk of accidently shutting off all the lights or flooding the entire house. Not implementing an enhancement as carefully as possible may result in the creation of more issues than it was intended to address.
 
Most times, the Business Analyst is already aligned with the system that requires the enhancement.  This includes relationship management with business partners, assisting the technical team(s) with production support and of course, the management and facilitation of any changes to that system.  There are other times, however, that we are assigned to a system that we have no background in. The complexity of an existing system can serve as a significantly challenging endeavor since the system, as well as the business process it supports, must be mastered in order to efficiently manage the requested enhancement.  
 
This article will explore best practices for managing enhancements for existing production systems while adhering to the Knowledge Areas set forth in A Guide to the Business Analysis Body of Knowledge®  (BABOK® Guide).1

Handling Enhancements

The main idea to keep in mind while managing enhancements is to ensure that the difference between current functionality and the proposed state is clearly, analyzed, identified, documented and communicated from the determination of the business objective until the enhancement is successfully implemented.   Approached from both the business and system perspective, this parallelism should be apparent from A to Z throughout the entire lifecycle of the enhancement.   Systems can be enhanced for many reasons including but not limited to the following2 :
  • Enhancements for improving business processes or user experience
  • Changes due to corporate, governmental, regulatory or compliance directives
  • Technical enhancements due to operating system, server, database or platform changes
  • System upgrades from an older version of the software (conversions or “lift and shifts”)
  • Interface changes from downstream or upstream systems

Enhancements and BABOK® Guide Alignment

1. Business Analysis Planning & Monitoring
Just like new development, the Business Analyst should consider what is needed to manage requirements and monitor progress for enhancements.  Some organizations already have pre-defined implementation schedules and processes that the Business Analyst will need to be aware of and adhere to.  If there is no established protocol, this would be a great opportunity to work on building one.  A lot of times, there is a “wish list” from the business that requires assistance from the Business Analyst to manage and facilitate. It should be mentioned that, unlike for new projects, formal project managers are not always assigned to manage enhancements.


Best Practice Tips
 
  • Approach enhancements as you would for new projects by holding regular meetings and communicating progress accordingly.  As enhancement requests come in, manage them in an organized and clear manner.
  • Determine who the stakeholders are and how they will be impacted by the enhancement.  Do not just assume that because the system is already established, the business partners are static.  
  • Engage experts familiar with the system such as the technical teams, subject matter experts and power users already well-versed in the application.  Also include downstream, upstream, reporting and external vendor systems.
  • For larger enhancements, explore the possibility of building requirements for a pilot mode.  If implementation is designed with a pilot phase, user testing, training and implementation can be accommodated without impact to functionality.
  • Identify sources to review existing problems currently impacting the system by researching service or incident tickets for “defects”.  Identifying any overlap will help with overall planning activities for the solution. 
  • Create a checklist of items to consider when changing the system.  This list can help organize the due diligence that needs to be performed to accurately capture the complexity of the current state and proposed state. 
2. Elicitation
Often times, a system has inherent technical boundaries or limitations that should be identified up front prior to business requirement gathering.  This will enable the Business Analyst to focus the sessions at the appropriate level of detail required.  This can be particularly challenging when dealing with legacy systems or systems with inflexible technologies. For example, if a system cannot handle ad hoc reporting, then this should be known beforehand in order to prevent false promises to the business community. Eliciting requirements for enhancements must include a detailed understanding of the system’s current state, the business and any workflow or technical dependencies.
 

Best Practice Tips
 
  • Learn the system that needs enhancements. See if there are existing user manuals or technical documentation that can be reviewed.  Also, see if there is a test environment that can be accessed to review current functionality.  
  • Remember to review any data dependencies, mapping or formatting possibly impacting the enhancement (i.e. if the system has ten character field, but the maximum length accepted by a downstream system is five characters).  
  • If unidentified “defects” are uncovered during elicitation, work closely with the technical team(s) to address and manage them accordingly and with the business to prioritize.  
  • While gathering requirements, be aware that the users’ understanding of “current” functionality could sometimes be different from what is actually occurring in the system. 
  • Do not be afraid to “slow down” the application support team, subject matter experts or business community when discussing and obtaining requirements even if this seems redundant to the “experts” on the system.
  • Use existing documentation and system screen shots as a springboard to build a questionnaire or agenda for requirements gathering sessions.  
3. Requirements Management and Communication
Signing off on requirements for enhancements should essentially function the same way as signing off on any project.  As long as enhancements are aligned to actual requirements and documented accordingly, the review should be straightforward. For enhancements, the level of documentation may be somewhat different than full blown business requirement documentation.  Nevertheless, it is important to be just as thorough for an enhancement as you would for new development. In fact, in many cases for enhancements, the current state must be exceedingly clear in order to illuminate the changes that are being proposed. The Business Analyst must clearly outline the differences in a detailed and comprehensive manner in order to prevent any misunderstanding of the requirements. 

Best Practice Tips
  • If there is existing documentation such as business requirement or system specifications, use them as the basis to leverage and present during walkthroughs.  
  • If there is no documentation or incomplete documentation, be sure complete for review well in advance of your walkthrough. 
  • Make sure the requirements presentation highlights the enhancement by clearly illustrating the difference between the current and proposed state for easy viewing (i.e. “redlining”). 
  • Always remember to work closely and constantly communicate with the business users, technical teams and other resources supporting the various systems in scope to ensure that all risks and gaps are covered.
  • Ensure that the existing experts of the system such as the technical and testing teams, subject matter experts and stakeholders are included in the review and /or sign-off of the requested enhancement.  
4. Enterprise Analysis
For enhancements, the Business Analyst must determine the business objective within the scope of a system that already exists while performing enterprise analysis.  For existing systems, the business and system architecture is most likely already in place.  If there is no current baseline to build upon, the Business Analyst should review the current state to determine the scope and impact of the proposed enhancement.  In some cases, it may be necessary to provide an overview of the system in its entirety in addition to a detailed breakdown of the functionality being enhanced. The biggest challenge to the Business Analyst is determining how to best implement an enhancement without negatively impacting current production functionality and upstream or downstream systems.  Working closely with the technical and architectural teams will help achieve this goal.

Best Practice Tips
  • Be sure to work with your business partners to elaborate on and specify vague business goals such as “Increasing Efficiency,” “Enhancing Productivity” or "Increase System Performance” to clarify the actual details of the enhancement. 
  • Determine if the solution is measurable and adds value.  For example, enhancing the system will result in a 5% increase in monthly revenue.  
  • Determine the overall scope of the solution. For instance if an issue occurs once every other year or pertains to only 2% of the items being processed - it may not make sense to implement if the cost to develop is significant.  
  • Check response times, system performance parameters and variances in processing cycles, scheduling and formats within the scope and context of the system.
  • Work closely with the technical team to come up with solutions that build in flexibility for future updates or enhancements (i.e. table driven or procedural versus hard coding). 
  • Be resourceful when reviewing the enhancement without overcomplicating or creating unnecessary development and testing efforts by working with the flow of the functionality rather than reworking the entire foundation (i.e. reusing fields or screens).
5. Requirements Analysis
Enhancements to an existing system will be comprised of high level and detailed requirements just like any other project.  Individual requirements should be traceable to each enhancement and validated and verified accordingly.  In addition, the full breadth of requirement types should still be considered.  While most enhancements to a system focus on the functional requirement aspect, the Business Analyst also needs to remember to consider other types of requirements such as non-functional and user requirements when enhancing a system.  For instance, a simple change to a drop-down menu can easily impact user or security access.  Requirements for interface dependencies are also important to include if there are downstream or upstream implications due to the proposed enhancement. 
 
Best Practice Tips
  • Review and organize enhancements so they can be managed efficiently. Prioritize enhancements according to business need and validity.  If there are multiple enhancements, continue to organize and re-prioritize as needed.
  • Be sure to update existing or create new documentation as applicable. The nature and complexity of the enhancement will drive the level of detailed required (i.e. if system is stand-alone system or if it is a part of an immense integrated and complicated environment).
 
  • If existing issues overlap with the enhancement, explore with the technical team the possibility of fixing the issue when it is in the same area of design/code where the new enhancement is being built.
  • Consider the relationship between your enhancement and roles or entitlements. For instance, determine if all users have access to a new feature or page, should only be accessed by a specified group or if it will impact existing roles or entitlements.
  • Determine how the enhancement will impact data or functionality currently being processed on the day the enhancement will take effect (“Pipeline” items).
6. Solution Assessment and Validation
The assessment and validation of the enhancement will be much more efficient when working hand-in-hand with the testing and technical teams. If there is existing testing documentation on the system, this information can be extremely useful in determining the impact regarding the testing of the proposed enhancement. When testing enhancements, the main point to keep in mind when addressing issues is that during at any point in the process, failure to resolve them can inadvertently impact current functionality.  After enhancements are successfully implemented, they can be tracked to build metrics for future cost and benefit analyses. This information will assist the Business Analyst to analyze and compare enhancements that provide substantial value to the business and improve the overall system experience.

Best Practice Tips
  • Review post mortem testing documentation to determine if there any issues or roadblocks that can be avoided.
  • Work with the testing team to take advantage of model test environments to see how the enhancement will flow through the system and any applicable downstream or upstream systems.
  • Review existing test cases and regression test beds to see if they can be updated as opposed to creating entirely new ones.
  • If there is a pilot testing phase, ensure that requirements are included and are also traceable to the test plans for the full rollout.
  • Work closely with users who are performing user acceptance testing to verify that the enhancement requirements are meeting expectations.
  • If you are informed of last minute issues detected in testing or in production, work with the technical team and business users to quickly find a work-around to ensure minimal impact to the business workflow.  Communicate with all parties involved as the resolution is being worked on.

Conclusion

Well established systems pose a unique challenge when attempting to implement enhancements.  In some ways, enhancements are trickier to manage than new development.  The Business Analyst must first gain a thorough understanding of the “current state” from both the system and business process perspective before modeling any changes.  If a learning curve is required, then the Business Analyst must rely on veterans of the system such as business users, subject matter experts and supporting technical and testing team(s) to clearly understand system functionality and any risks associated with changing that functionality.  Closely managing the interdependent connection between the technical aspect of the system and the business process - throughout the entire lifecycle of the enhancement - is vital for successful implementation.  If applied with care, the fusion of specialized Business Analysis skills, along with the command of both system and business knowledge, can serve as a winning combination to ensure the success of enhancing an existing system.  


Source: A Guide to the Business Analysis Body of Knowledge® (BABOK® Guide) —Version 2 by the International Institute of Business Analysis (IIBA®)
 
2 Please note that while production systems are also changed to address “defects” or “bugs” to correct functionality issues, they will not be discussed in this analysis of “Enhancements” which relate directly to new or updated functionality implemented for the variety of drivers listed in this section.