Software Needs Assessment Assignment
1
Lab: Needs Assessment: Read this information first.
Overview
In this course, we have addressed many topics relating to threat modeling. It is now time to close the
loop by completing a Software Evaluation. In other words, you will complete a needs assessment on a
software. What is a Needs Assessment?
What Is a Needs Assessment? A needs assessment is a process used by organizations to determine priorities, make organizational improvements, or allocate resources. It involves determining the needs, or gaps, between where the organization envisions itself in the future and the organization's current state. You then develop a plan of action to address the needs (or closing the gaps) to bring the organization closer to its desired future state.
Steps: Let's take a quick look at general steps taken in a needs assessment. Exploration and identification: During the first phase of the needs assessment, you need to determine what you already know about your organization's needs, whether it be additional resources, new technologies, or market expansion. It's about figuring out where you are and where you want to be. You also need to discover other undisclosed needs that may be hindering you from moving from where you are to where you want to be. You will often rank these needs in order of importance. You will then set the scope of your research. In other words, the needs you are going to focus on.
Data gathering and analysis: At this stage you are collecting the information you need to better understand the gaps (needs) between where you are and where you want to be. Data may be collected from internal company records or externally through market research techniques such as surveys and analysis of secondary data, including statistical data collected by the federal government. After the data is collected, it is organized and analyzed.
Utilization: This is where the data you analyzed is used to create a plan of action and implement it. You will set priorities, evaluate solutions, apply a cost-benefit analysis to determine which solution is best in light of the relative costs and benefits of each, formulate a plan to implement your solution, and then allocate the resources necessary for implementation. Again, the goal is to develop a plan to close the gaps between the organization's desired future state and its current state.
Evaluation: While many organizations will not evaluate the results of their needs assessment, smart organizations do. You will evaluate the results of the action plan against the results: has the action plan placed you closer to where you want to be? Evaluation can help you determine what made an action plan successful or find the errors in your needs assessment. For example, did you miss an important gap, or were the resources you allocated insufficient to close the gap?
Example Let's look at an example. Imagine that you are the president of an auto manufacturing company. You want to increase your company's market share over the next five years. Unfortunately, the latest marketing data shows that your company actually suffered a slight decrease in market share last quarter. It's time to perform a needs assessment, so you gather your brain trust.
You and your team start with the exploration and identification process. You already know where you want to go and where you are - your market share has decreased and you need to increase it. You focus on identifying the gaps preventing you from achieving your goals. You note that your product line is stale since you haven't rolled out a new model of car in over six years. You also note that your
2
Page 2 – Needs Assessment
competitors have rolled out new cars. In fact, the recent drop in your sales coincides with the roll out of a new model from your major competitor that competes with your flagship car. You decide to have your marketing department perform market research to determine the best target market for the production of a new model that gives you the best chance of increasing your market share. This same example can apply to the area of software architecture & design.