by Dinesh Thakur

The software process model framework is specific to the project. Thus, it is essential to select the software process model according to the software which is to be developed. The software project is considered efficient if the process model is selected according to the requirements. It is also essential to consider time and cost while choosing a process model as cost and/ or time constraints play an important role in software development. The basic characteristics required to select the process model are project type and associated risks, requirements of the project, and the users.

One of the key features of selecting a process model is to understand the project in terms of size, complexity, funds available, and so on. In addition, the risks which are associated with the project should also be considered. Note that only a few process models emphasize risk assessment. Various other issues related to the project and the risks are listed in Table.

Table Selections on the Basis of the Project Type and Associated Risks

Project Type and Associated Risks

Waterfall

Prototype

Spiral

RAD

Formal Methods

Reliability requirements

No

No

Yes

No

Yes

Stable funds

Yes

Yes

No

Yes

Yes

Reuse components

No

Yes

Yes

Yes

Yes

Tight project schedule

No

Yes

Yes

Yes

No

Scarcity of resources

No

Yes

Yes

No

No

The most essential feature of any process model is to understand the requirements of the project. In case the requirements are not clearly defined by the user or poorly understood by the developer, the developed software leads to ineffective systems. Thus, the requirements of the software should be clearly understood before selecting any process model. Various other issues related to the requirements are listed in Table.

              Table Selection on the Basis of the Requirements of the Project

Requirements of the Project

Waterfall

Prototype

Spiral

RAD

Formal Methods

Requirements are defined early in SDLC

Yes

No

No

Yes

No

Requirements are easily defined and understandable

Yes

No

No

Yes

Yes

Requirements are changed frequently

No

Yes

Yes

No

Yes

Requirements indicate a complex System

No

Yes

Yes

No

No

Software is developed for the users. Hence, the users should be consulted while selecting the process model. The comprehensibility of the project increases if users are involved in selecting the process model. It is possible that a user is aware of the requirements or has a rough idea of the requirements. It is also possible that the user wants the project to be developed in a sequential manner or an incremental manner (where a part is delivered to the user for use). Various other issues related to the user's satisfaction are listed in Table.

                                      Table Selection on the Basis of the Users

User Involvement

Waterfall

Prototype

Spiral

RAD

Formal Methods

Requires Limited User Involvement

Yes

No

Yes

No

Yes

User participation in all phases

No

Yes

No

Yes

No

No experience of participating in similar projects

No

Yes

Yes

No

Yes