Software Requirements  «Prev  Next»
Lesson 6 Software selection decision process
Objective Identify the steps of the software selection decision process.

Software Selection Decision Process

The general process for selecting software is to identify the deployment environment, then select software based on compatibility with the deployment environment and with client needs and business objectives.
This general process is complicated by such concerns as:
  1. What combination of Internet, intranet, and extranet are involved in the deployment?
  2. What internal standards exist regarding platform?
  3. What development environments are compatible with the platform?
  4. What software meets both client needs and deployment requirements?
    To manage these various concerns in evaluating software needs, it is helpful to follow a decision process. The Slide Show below illustrates a sample decision process that can be used to structure your software needs analysis.

Software Decision Process

Software deployment is all of the activities that make a software system available for use.
The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur at the producer side or at the consumer side or both. Because every software system is unique, the precise processes or procedures within each activity can hardly be defined. Therefore, deployment should be interpreted as a general process that has to be customized according to specific requirements or characteristics.
The series of images below contrast the deployment and development environments.

Learning Web Design
1) Is the decision for the internet, intranet, or extranet? The first set of questions should determine what combination of Internet, Intranet, and Extranet is required.
Is the decision for the internet, intranet, or extranet? The first set of questions should determine what combination of Internet, Intranet, and Extranet is required.

2) The second set of questions should determine which deployment standards or requirements currently exist
The second set of questions should determine which deployment standards or requirements currently exist.

3) What development environments meet standards requirements? Once deployment standards have been identified, the next step is to determine which software development environments
What development environments meet standards requirements? Once deployment standards have been identified, the next step is to determine which software development environments.

4) What are client needs for website features and functionality? Once a compatible development environment has been identified, the Web team needs to confirm client needs for site features and functionality.
What are client needs for website features and functionality? Once a compatible development environment has been identified, the Web team needs to confirm client needs for site features and functionality.

5) What application tools meet project needs? When choosing application development tools, you need to consider both platform requirements and client needs for site features.
What application tools meet project needs? When choosing application development tools, you need to consider both platform requirements and client needs for site features.

6) What if the team cannot obtain the tools to meet the client needs? If appropriate tools do not currently exist, the Web team may need to realign client needs and expectations with what available tools can offer.
What if the team cannot obtain the tools to meet the client needs? If appropriate tools do not currently exist, the Web team may need to realign client needs and expectations with what available tools can offer.

7) Finalizing tool selection. Once software development tools have been selected, there may an internal process for documenting and gaining approval of tool choices. This may involve gaining approval to purchase software or licenses.
Finalizing tool selection. Once software development tools have been selected, there may an internal process for documenting and gaining approval of tool choices. This may involve gaining approval to purchase software or licenses.

Principle Based Structure

In the real world

The following link compares differences in the software selection process for start-ups versus larger, more traditional companies.

Software Package Selection

Many organizations are attempting to save costs by integrating third-party, commercial off-the-shelf (COTS) packages (e.g., component libraries or extensions) or complete COTS-based solutions (e.g., enterprise resource planning [ERP] applications). The methods used to identify a set of possible candidate solutions are, for the most part, rather subjective.
The individual or individuals performing the evaluation have various, distinct experiences that will factor into the decision process, either consciously or subconsciously. To have a successful COTS evaluation, a formal process is needed to properly evaluate COTS products and vendors supplying them [SEI 05]. In this instance, the term formal means having an established and documented process to perform the selection and evaluation activities in a consistent, repeatable manner.

Initial Selection

How does an organization conduct the initial research into products that might be candidates for use on their project? How is the initial selection performed? Some organizations use an intuitive approach to select the initial list of products. This approach uses an individual who has had past experience with the product or who has heard good things about the product. An inappropriate selection strategy for COTS products can lead to adverse effects. It could result in a short list of COTS products that may not be able to fulfill the required functionality; in addition, it might introduce overhead costs in the system integration and maintenance phases .
One successful method for selecting products is the use of a selection team. When selecting a COTS component, the use of a team of technical experts systems/software engineers and several developers is recommended. When selecting a COTS-based system, however, the inclusion of business domain experts and potential end users is recommended. The use of a team virtually eliminates a single-person perspective or bias and takes into account the viewpoints and experiences of the evaluators in the selection and evaluation process.


In the next lesson, you will review what you have learned in this module.