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

Chapter 2 Part 2

The document discusses software processes and process improvement. It covers topics like software process models, process activities, coping with change, and process improvement. It describes approaches to coping with change like change anticipation using prototypes and change tolerance using incremental development. It also discusses process improvement approaches like the process maturity model and the process improvement cycle of measuring, analyzing, and changing processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Chapter 2 Part 2

The document discusses software processes and process improvement. It covers topics like software process models, process activities, coping with change, and process improvement. It describes approaches to coping with change like change anticipation using prototypes and change tolerance using incremental development. It also discusses process improvement approaches like the process maturity model and the process improvement cycle of measuring, analyzing, and changing processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Chapter 2 – Software

Processes

Chapter 2 Software Processes 1


Topics covered

• Software process models


• Process activities
• Coping with change
• Process improvement

Chapter 2 Software Processes 2


Coping with change

30/10/2014 Chapter 2 Software Processes 3


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

30/10/2014 Chapter 2 Software Processes 4


Reducing the costs of rework

• Change anticipation: where the software process includes activities


that can anticipate possible changes before significant rework is
required.
• For example, a prototype system may be developed to show some key
features of the system to customers.

• Change tolerance: where the process is designed so that changes can


be accommodated at relatively low cost.
• This normally involves some form of incremental development.

30/10/2014 Chapter 2 Software Processes 5


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.

30/10/2014 Chapter 2 Software Processes 6


Benefits of prototyping

• Improved system usability.


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

30/10/2014 Chapter 2 Software Processes 7


The process of prototype development

30/10/2014 Chapter 2 Software Processes 8


Prototype development

• May be based on rapid prototyping languages or tools


• May involve leaving out functionality
• Prototype should focus on areas of the product that are not well-understood;
• Error checking and recovery may not be included in the prototype;
• Focus on Functional Requirements

30/10/2014 Chapter 2 Software Processes 9


Throw-away prototypes

• Prototypes should be discarded after development as they are not a


good basis for a production system:
• It may be impossible to tune the system to meet non-functional
requirements;
• Prototypes are normally undocumented;
• The prototype structure is usually degraded through rapid change;
• The prototype probably will not meet normal organisational quality
standards.

30/10/2014 Chapter 2 Software Processes 10


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.

30/10/2014 Chapter 2 Software Processes 11


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.

30/10/2014 Chapter 2 Software Processes 12


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.

30/10/2014 Chapter 2 Software Processes 13


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.

30/10/2014 Chapter 2 Software Processes 14


Process improvement

30/10/2014 Chapter 2 Software Processes 15


Process improvement

• Process improvement means understanding existing processes and


changing these processes to increase product quality and/or reduce
costs and development time.

30/10/2014 Chapter 2 Software Processes 16


Approaches to improvement

• The process maturity approach, which focuses on improving process


and project management and introducing good software engineering
practice.
• The level of process maturity reflects the extent to which good technical and
management practice has been adopted in organizational software
development processes.

30/10/2014 Chapter 2 Software Processes 17


The process improvement cycle

30/10/2014 Chapter 2 Software Processes 18


Process improvement activities

• Process measurement
• You measure one or more attributes of the software process or product.
• Process analysis
• The current process is assessed, and process weaknesses and bottlenecks are
identified.
• Process change
• Process changes are proposed to address some of the identified process
weaknesses.

30/10/2014 Chapter 2 Software Processes 19


Capability maturity levels

30/10/2014 Chapter 2 Software Processes 20


The SEI capability maturity model

• Initial
• Essentially uncontrolled
• Repeatable
• Product management procedures defined and used
• Defined
• Process management procedures and strategies defined
and used
• Managed
• Quality management strategies defined and used
• Optimising
• Process improvement strategies defined and used

30/10/2014 Chapter 2 Software Processes 21

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy