0% found this document useful (0 votes)
51 views

Lecture 2 - Software - Process - Model - 1

The document discusses several software processes and concepts: 1) Change is inevitable in software projects due to business, technology, and platform changes which leads to rework. 2) Prototyping involves creating initial versions to demonstrate concepts and design options during requirements, design, and testing phases. It can improve usability, requirements gathering, design quality, and reduce effort. 3) Incremental delivery breaks development and delivery into increments with the highest priority requirements delivered first, allowing value to be provided earlier while managing risk.

Uploaded by

Inzamam Ul Islam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

Lecture 2 - Software - Process - Model - 1

The document discusses several software processes and concepts: 1) Change is inevitable in software projects due to business, technology, and platform changes which leads to rework. 2) Prototyping involves creating initial versions to demonstrate concepts and design options during requirements, design, and testing phases. It can improve usability, requirements gathering, design quality, and reduce effort. 3) Incremental delivery breaks development and delivery into increments with the highest priority requirements delivered first, allowing value to be provided earlier while managing risk.

Uploaded by

Inzamam Ul Islam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Chapter 2 – Software Processes

Lecture 2

Chapter 2 Software Processes 1


Coping with change

 Change is inevitable in all large software projects.


 Business changes lead to new and changed system
requirements
 New technologies open up new possibilities for improving
implementations
 Changing platforms require application changes
 Change leads to rework so the costs of change include
both rework (e.g. re-analysing requirements) as well
as the costs of implementing new functionality

Chapter 2 Software Processes 2


Software prototyping

 A prototype is an initial version of a system used to


demonstrate concepts and try out design options.
 A prototype can be used in:
 The requirements engineering process to help with requirements
elicitation and validation;
 In design processes to explore options and develop a UI design;
 In the testing process to run back-to-back tests.

Chapter 2 Software Processes 4


Benefits of prototyping

 Improved system usability.


 A closer match to users’ real needs.
 Improved design quality.
 Improved maintainability.
 Reduced development effort.

Chapter 2 Software Processes 5


Incremental delivery

 Rather than deliver the system as a single delivery, the


development and delivery is broken down into
increments with each increment delivering part of the
required functionality.
 User requirements are prioritised and the highest priority
requirements are included in early increments.
 Once the development of an increment is started, the
requirements are frozen though requirements for later
increments can continue to evolve.

Chapter 2 Software Processes 8


Incremental development and delivery

 Incremental development
 Develop the system in increments and evaluate each increment
before proceeding to the development of the next increment;
 Normal approach used in agile methods;
 Evaluation done by user/customer proxy.
 Incremental delivery
 Deploy an increment for use by end-users;
 More realistic evaluation about practical use of software;
 Difficult to implement for replacement systems as increments
have less functionality than the system being replaced.

Chapter 2 Software Processes 9


Incremental delivery advantages

 Customer value can be delivered with each increment so


system functionality is available earlier.
 Early increments act as a prototype to help elicit
requirements for later increments.
 Lower risk of overall project failure.
 The highest priority system services tend to receive the
most testing.

Chapter 2 Software Processes 10


Incremental delivery problems

 Most systems require a set of basic facilities that are


used by different parts of the system.
 As requirements are not defined in detail until an increment is to
be implemented, it can be hard to identify common facilities that
are needed by all increments.
 The essence of iterative processes is that the
specification is developed in conjunction with the
software.
 However, this conflicts with the procurement model of many
organizations, where the complete system specification is part of
the system development contract.

Chapter 2 Software Processes 11


Spiral model

 Process is represented as a spiral rather than as a


sequence of activities with backtracking.
 Each loop in the spiral represents a phase in the
process.
 No fixed phases such as specification or design - loops
in the spiral are chosen depending on what is required.
 Risks are explicitly assessed and resolved throughout
the process.

Chapter 2 Software Processes 12


Spiral model of the software process

Chapter 2 Software Processes 13

You might also like