The term process means "a particular method of doing something, generally involving a number of steps or operations". In Software engineering, the phrase software process refers to the methods of developing software. The process that deals with the technical and management issues of software development is called software process. Many different types of activities need to be performed to develop software. All these activities together comprise the software process.


Let us discuss some of the important desirable characteristics of the software process:

Predictability: Predictability of a project determines how accurately the outcome of process in a project can be predicted (About quality, cost estimation, LOC etc) before the project is completed. Predictability can be considered a fundamental property of any process.

Support testability and Maintainability: In software Engineering generally exceed the development costs. Clearly, one of the objectives of the development project should be to produce software that easy to maintain. And the process used should ensure this maintainability. The Second importance about process Cost is testing. Overall we can say that the goal of the process should not be to reduce the effort of design and coding, but to reduce the cost of testing and maintenance. Both testing and maintenance depend heavily on the quality of design and code, and this cost can be considerably reduced if the software is designed and coded to make testing and maintenance easier.

Support change: Software change for a variety of reasons. Though changes were always a part of life, change in today's world is much faster. As organization a business change, the software supporting the business has to change. Hence, any model that builds software and makes change very hard will not be suitable in many situations.

Early defect removal: Software development is actually going through some phases (see 1.8). Error can occur at any phase during development. We should attempt to detect errors that occur in phase during phase itself and should not wait until testing phase to detect errors. Error detection and correction should be a continuous process that is done throughout software development.

Process improvement and Feedback: A process is not a static entity. Improving the quality and reducing the cost of product are fundamental goal of any engineering discipline. Process improvement is also an objective in a large project where feedback from early parts of the project can be used to improve the execution of the rest of the project.


  • Medical Upgrade- The Rise of 3D Printing
  • Reskilling- Upscaling Human's Digital Sophistication
  • Data-Driven Policing- Countering Data Breaches and Cyber-Attacks
  • Autonomous Driving
  • Democratization
  • 5G Technology
  • HyperAutomation
  • Robotic Process Automation (RPA)
  • Artificial Intelligence (AI) and Machine Learning
  • Software Engineering
  • Software Testing