Introduction to Software Process Models

Thilina Aravinda
4 min readSep 9, 2020

--

Hello guys! I think this article will be useful for you to get a clear idea about software process models. Before explaining each software process model, I decided to look at the basics and explain them. I hope to explain about each software process model in future articles.

Process

When we provide a service or create a product we always follow a sequence of stages. By doing that, we achieve a set of tasks. Every process have some common characteristics as mentioned below:

  • It prescribes all of the major activities.
  • It use recourse and produce intermediate and final products.
  • The activities are organized in a sequence.
  • Limitations or controls may apply to activities.
  • It has entry and exit criteria.

Process is something which takes some inputs and gives an output. First of all, these inputs go trough entry criteria if it meets the exit criteria it will generate an output. This process concept does not only apply to software. It applies to everything where are we get an output. Making a cup of tea is also a process.

Why does it? why do we say it’s a process?

It takes some input and after completes a set of tasks it gives us an output. Output is a very nice cup of tea. We need sugar, tea leaves/bags, water and milk powder/fresh milk which are input. These four things are important to make a tea. There is a process for convert these inputs to a nice cup of tea.

First of all we have to boil the water. After that we can pour some water into a cup and add some tea leaves/bag into that. We need to keep it a little time to brew. After that we can mix sugar and milk. Then we will have a cup of tea.

We can not make a tea without boiling water and we could not able to have a nice cup of tea if we did not follow these steps. Therefore we should follow this process systematically or in a disciplined way.

The entry criteria in this process is we check whether there are any conditions to be checked before we start the process.

For example, we have to check whether these tea bags and sugar are expired and we need to check their quality. If there are not any problems we can start the process.

The exit criteria is we have check the taste of the tea. if it taste good we can serve it.

after making a tea we should taste it and see whether we have the right amount of sugar and right amount of milk in that. If there are not the right amount then we can add more sugar or milk.

Briefly, process is a series of actions or activities taken in order to achieve a particular end.

Software process

According to the above explanation we can say that, software process is a series of actions or interrelated activities that transform input work products into output work products.

Software process activities

Same as the process of making a tea which I have explained earlier there also we have mainly four activities which we follows in a software process.

  • Software specification :

Identifying and writing down or creating a document with all the functionality of the software and other constraints.

Functionality might be functional requirements or non-functional requirements.

  • Software development :

The software will be defined and implemented according to the requirements given earlier.

  • Software validation :

Run different testings to make sure that product have minimum number of effects and it meets the requirements given in the software specification.

  • Software evolution :

Even after the handover the software to the customer while customers are using it then also we have to maintain the software.

  • We have to add new requirement.
  • We have to fix if there are new effects.
  • We have to upgrade the software.

These activities will be there in any of the software process. We have to complete this activities in order to come up with a quality product. We say there are only four activities, but these activities will be implemented in different ways in different product in different ways in different companies. We cannot say these are the core activities you must follow this. There is no unique way to develop a software product because it depends on the product which are we develop.

For example, software products can be some mission-critical products. We might be developing a software for rocket. The process we have to follow to develop a software for a rocket is way too different the process we have to apply to develop a business-oriented software.

Software process model

Software Process Models/Software development life cycles(SDLC)

Software process model is a simplified representation of a process from some particular perspective. These generic models are abstractions of the process that can be used to explain different approaches to the software development. they can be adapted and extended to create more specific processes.

some methodologies are sometimes known as software development life cycle (SDLC) methodologies, though this term could also be used more generally to refer to any methodology.

I will stop at this point in hopes of contacting you again in a article with more details about each software process models.

I wish you all the best!

--

--

Thilina Aravinda
Thilina Aravinda

Written by Thilina Aravinda

Undergraduate @ Sri Lanka Institute of Information Technology (SLIIT)