A gap analysis is a crucial step an organization takes to achieve software quality. A concrete plan, business environment, technical environment and users are all important factors to consider when conducting a gap analysis for a software application. The success of a software application gap analysis depends on proper preparation, research and consideration of all internal and external factors. Organizations conduct gap analysis to identify the limitations of a software application or the differences -- or delta -- between current and desired levels of performance. They use the results from the gap analysis to develop strategies to eliminate the gap and make the software application compliant with desired performance levels.
Analyzing the Gap with a Plan
Draft a systematic plan for performing the gap analysis. A gap analysis plan is an important factor to consider because it provides you with the opportunity to define the parameters and set expectations for the gap analysis. Defined parameters in the plan should cover the milestones, tasks and resources that are required to complete a thorough gap analysis. According to Microsoft, in the article "Conducting a Gap Analysis," the plan should "Identify tasks and determine resource requirements for each task. After you have identified the tasks and determined what resources are required to accomplish those tasks, you can determine which groups within the organization need to be involved and whether you will need additional resources outside the organization." This step is crucial in resolving issues early that may compromise the successful execution of the gap analysis.
Understanding the Current Business Environment
A factor that is a major influence on the successful outcome of a software application gap analysis is the current business environment. It is important to understand how the software application presently supports, or fails to support, the business objectives, processes and systems within an organization. The business objectives or goals of an organization drive the desired performance levels or to-be framework for a software application. Conducting an exhaustive analysis of existing business processes and systems in the current business environment will assist you in identifying which business processes are currently supported and not supported by the software application. Process modeling is another useful technique that organizations implement to provide the big picture of their business environment. It demonstrates interactions between users and their processes in the current business environment by using graphical models.
Understanding the Technical Environment
Determine what technologies the software application is currently using. This will help you to identify technology capabilities and constraints such as outdated, obsolete or incompatible technology that's directly or indirectly contributing to the gap. Also, determine if external access to resources and databases is required. This is important to know -- external requirements could hinder a software application from meeting its intended desired performance levels.
Understanding the Software Application Users
Identifying software application users and determining how they interact with the software application is a crucial factor for executing a successful gap analysis. The users of a software application are the most direct source of information about its use. Stakeholder analysis is an effective business science tool that many organizations have adopted to identify users and associate user tasks and responsibilities to software application users and desired outcomes based on their roles. Collecting data can happen through interviews or surveys with users, subject matter experts and stakeholders. Data collected from the analysis should be organized user groups to record how each group interacts with the software application.