You are on page 1of 48

INF308J/102/2010

SOFTWARE PROJECT MANAGEMENT


SAGTEWARE PROJEKBESTUUR

TUTORIAL LETTER 102
STUDIEBRIEF 102


FOR / VIR
INF308J

















IMPORTANT INFORMATION ABOUT EXAM ADMISSION

Due to new regulations by the Department of National Education, students must meet the following
deadline for this module:

Submit at least one assignment for Software Project Management BEFORE 31 May 2010

If you do not meet this requirement you cannot be granted examination admission in Software
Project Management

School of Computing
Skool vir Rekenaarkunde
2 INF308J/102

BELANGRIKE KENNISGEWING:

Nota aan Afrikaanssprekende studente: hierdie brief is slegs in Engels
beskikbaar. Kontak ons gerus indien u probleme met enige van die terme
ondervind.






















TUTORIAL LETTER COSALLF/301/2010' AND THE
BOOKLET YOUR SERVICE GUIDE @ UNISA
CONTAIN IMPORTANT GENERAL INFORMATION
AS WELL AS LECTURERS CONTACT DETAILS
THAT YOU WILL NEED DURING THE YEAR.

DO READ IT CAREFULLY!

Please Note: References in this tutorial letter pertains to the 5
th
edition of the prescribed
textbook:

Bob Hughes and Mike Cotterell, 2009. Software Project Management - Fifth edition.
McGraw-Hill (London). ISBN: 9780077122799

3 INF308J/102


TABLE OF CONTENTS



1. PREFACE .......................................................................................................................... 4
2. HOW TO USE THIS TUTORIAL LETTER ......................................................................... 5
3. MODULE OBJECTIVES AND OUTCOMES ...................................................................... 6
4. SECTION 1 ........................................................................................................................ 6
4.1 Unit 1: Introduction to software project management ................................................... 6
4.2 Unit 2: Project evaluation ............................................................................................. 7
4.3 Unit 3: Step Wise - an overview of project planning ................................................... 12
4.4 Unit 4: Selection of an appropriate project approach ................................................. 19
5. SECTION 2 ...................................................................................................................... 26
5.1 Unit 5: Activity planning ............................................................................................. 26
5.1.1 Example 1: Drawing a CPM Diagram .................................................................. 27
5.1.2 Example 2: Converting a CPM Diagram into Precedence Network Diagram ...... 28
5.1.3 Example 3: How to draw a Precedence network diagram .................................. 29
5.2 Unit 6: Risk management .......................................................................................... 34
6. SECTION 3 ...................................................................................................................... 36
6.1 Unit 7: Resource allocation ........................................................................................ 37
6.2 Unit 8: Monitoring and Control .................................................................................. 38
6.3 Unit 9: Software effort estimation ............................................................................... 40




4 INF308J/102

1. PREFACE
Project management is not a new concept! Throughout the documented history of the human race
there have been projects encompassing more than a single person could accomplish alone. Think of
examples such as the pyramids in Egypt, the cathedrals in Europe and the Great Wall of China!
Nowadays effective management of projects in the Information Technology environment is seen to be
increasingly important as a discipline.

The aim of this module is thus to equip students with the necessary knowledge to successfully
evaluate a prospective project and methods to initiate, plan, estimate, schedule, manage, control, and
report on projects. After completing this module, you should have a good understanding of important
aspects such as:

proper planning,
resource management,
feasibility analysis,
risk assessment and management,
monitoring and control,
scope and change control,
quality assurance and
configuration management.

The textbook that you will use in this course, makes use of case studies to implement the techniques
and concepts.

It is necessary for IT professionals and practitioners, systems analysts, programmers, DBAs, etc., to
gain an appreciation of software project management concepts and to understand how these aspects
can best be employed to develop effective and efficient business systems. The aspects covered in
this module are aimed at satisfying these requirements of business-oriented students.

In software project management there is no substitute for experience. The textbook prescribed for this
module uses two running case studies to illustrate and implement software project management
concepts. To enhance theoretical knowledge and expertise, the assignments are designed to guide
you through most of the important software project management techniques used in the development
process.

We hope that you will find this module stimulating and enjoyable.

Regards
Software Project Management Lecturers


Acknowledgements:
The assistance of Prof. A Barnard, Prof. M Eloff as well as Mrs. R Nienaber, Mrs. K Engelbrecht and
Mrs. E Kritzinger with the previous version of this study material is appreciated. Mr. E Nenzhelele and Ms. E van
Rijn also supplied valuable input in this version. Mrs. M Hillebrands provided valuable input in compiling Unit 9.


5 INF308J/102

2. HOW TO USE THIS TUTORIAL LETTER
The purpose of this tutorial letter is not to duplicate the aspects and topics already covered sufficiently
in your prescribed textbook, but rather to serve as supplementary material to guide and support you in
your study process. We will provide you with a list of objectives and outcomes related to the study
material. The outcomes should be used as a checklist when you work through the relevant chapters
in the prescribed textbook and when you prepare for the examination.

The following items constitute the study material for this module:

the prescribed textbook: Bob Hughes and Mike Cotterell, 2009. Software Project Management -
Fifth edition. McGraw-Hill (London). ISBN: 9780077122799
the first tutorial letter: INF308J/101/2010;
this second tutorial letter: INF308J/102/2010; to be used in conjunction with the first tutorial letter
assignment questions: the questions for all of the assignments are given in Tutorial Letter
INF308J/101/2010;
solutions to the assignments: numbered as INF308J/201/2010, INF308J/202/2010, and so on,
which will be sent to you during the year; and
the examination tutorial letter: sent in August or September informing you on issues regarding the
examination paper, such as the format, work to be covered, etc.

This tutorial letter should be read in conjunction with your prescribed textbook. Section 1 corresponds
to the work covered by Assignment 01, Section 2 to the work covered by Assignment 02 and Section 3
to the work covered by Assignment 03. Each unit corresponds to a chapter from the textbook,
namely:

Unit in the tutorial Chapter in the textbook:
Unit 1: Introduction to software project
management
Chapter 1. Introduction to software project
management
Unit 2: Step Wise: an overview of project
planning
Chapter 2. Project evaluation and programme
management
Unit 3: Project evaluation Chapter 3. An overview of project planning
Unit 4: Selection of an appropriate project
approach
Chapter 4. Selection of an appropriate project
approach
Unit 5: Activity planning Chapter 6 Activity planning
Unit 6: Risk management Chapter 7 Risk management
Unit 7: Resource allocation Chapter 8 Resource allocation
Unit 8: Monitoring and control Chapter 9 Monitoring and control
Unit 9: Software effort estimation Chapter 5 Software effort estimation


6 INF308J/102

3. MODULE OBJECTIVES AND OUTCOMES

Module objectives:

The aim of this module is to:

Introduce you to software project management techniques to successfully initiate, evaluate, plan,
manage and control Information Technology projects.

Cover most aspects of software project management such as project planning, feasibility analysis,
estimation, risk assessment and management, resource management, and scope and change
control.

Use two case studies to illustrate and implement software project management techniques and
concepts.

Module outcomes:

After studying this module you should have attained the specific understanding, knowledge and skills
to:

evaluate a proposed project;
plan a newly proposed project using different techniques;
do a realistic estimation of a proposed project; and
schedule, manage, monitor and control a project successfully.

4. SECTION 1

Software Project Management - basic concepts

This section of the tutorial letter deals with the work covered in Assignment 01, namely Chapter 1 up
to and including Chapter 4 of Hughes and Cotterell. Amongst other things, we will study what the
scope of a project is, in particular a software project. You will be introduced to topics such as
management control, who the stakeholders are in a software project, requirement specification, project
planning and evaluation, including techniques such as cost-benefit analysis and how to select an
appropriate project approach. Each of the 4 units in this section corresponds to a chapter in Hughes
and Cotterell. For example, Unit 1 corresponds to Chapter 1, and so on. Study this section of the
work carefully and then complete Assignment 01 and hand it in on or before 8 April 2010. Note that
this is a compulsory assignment.

4.1 Unit 1: Introduction to software project management

This unit defines the scope of software project management by considering what is meant by the term
project, the management of projects, and how software projects differ from other projects. Study
Chapter 1 in the textbook.

7 INF308J/102

Unit 1 objectives:

The aim of Chapter 1 of the textbook is to introduce the following concepts:

what a project is;
the difference between software projects and other types of projects;
contract and technical project management;
activities covered by software project management;
plans, methods and methodologies;
categorising software projects;
management and management control;
problems experienced with software projects;
setting realistic objectives;
who the stakeholders in a project are;
business models and projects; and
requirement specification.

Unit 1 outcomes:

After studying Chapter 1 of the textbook, you will be able to:

define the scope of software project management;
distinguish between software and other types of development projects;
understand some problems and concerns of software project managers;
define the usual stages of a software project;
explain the main elements of the role of management;
understand the need for careful planning, monitoring, and control;
identify the stakeholders of a project and their objectives, as well as ways to measure the
success in meeting stakeholder objectives; and
measure the success of a project in meeting its objectives.

Case Study 1: Brightmouth College

Case studies form an important part of explaining, illustrating and applying the different techniques of
software project management. The textbook uses two case studies throughout to do just this, and the
first one appears as part of Exercise 1.2 on page 7 of the textbook. This case study deals with the
payroll administration system of Brightmouth College. Carefully study the entire case study as
presented in the textbook.



4.2 Unit 2: Project evaluation

This unit discusses techniques that can be used to decide whether it is feasible to proceed with a
given project or not. It is obviously very important to be able to decide whether or not the development
of a software project will be cost-effective, as the high expense incurred by software development
projects in general, has the potential to bankrupt an organisation if the costs outweigh the potential
benefits. Study Chapter 2 of the textbook.

8 INF308J/102

Unit 2 objectives:

The aim of Chapter 2 of the textbook is to introduce the following concepts:

strategic assessment;
technical assessment;
cost-benefit analysis;
cash flow forecasting;
cost-benefit evaluation techniques; and
risk evaluation.

Unit 2 outcomes:

After studying Chapter 2 of the textbook, you should be able to:

carry out an evaluation and selection of projects against strategic, technical, economic and risk
criteria;
use a variety of cost-benefit evaluation techniques in order to choose among different project
proposals; and
evaluate the risk involved in a project and select appropriate strategies for minimising potential
costs.

Cost-benefit evaluation techniques:

This is a very important section of Chapter 2, and you must study it in detail and ensure that you
understand, and can apply, the different techniques as discussed on pages 26 to 34 of the textbook.
Some of the techniques described may at first glance not be entirely clear. In this context, please take
note of the following:

! Return On Investment (ROI) - Exercise 2.4

The formula for ROI on the next page is given on page 30 of the textbook as:

Average Annual Profit
ROI = ------------------------------------- x 100
Total Investment

Exercise 2.4 now asks that the ROI for Project 1 be calculated. Refer to Table 2.1 on page 29 for the
cash flow projection figures of Project 1. Using these figures, we obtain a net profit of 50 000 over a
period of 5 years. The average annual profit is thus:

50 000 5 = 10 000

Substitution of average annual profit by 10 000 and total investment by 100 000 in the formula for
ROI, yields:

10 000
--------- x 100 = 10%
100 000

The present value (PV) and net present value (NPV) of a project are discussed on pages 30 to 31
of the textbook. The following variables are used in the formula for PV and NPV:
9 INF308J/102

t is the number of years into the future that the cash flow occurs and
r is the discount rate, i.e. the annual rate by which future earnings are discounted.

Note that r is a rate and thus expressed as a percentage %. Wherever r is used in a formula, we
should remember that it is used as a rate and should thus be interpreted as (r x (1 100)) = (r 100).
In order to compute the present value (PV) of a future cash flow, we need to multiply the cash flow by
the discount factor, where the discount factor is calculated by the following formula:








See page 31, table 2.2, for some discount factors. Use the discount factors in the table instead of
calculating them with the formula.

The present value of a future cash flow in year t is then calculated as:

PV = cash flow in year t x discount factor

The net present value for a project with t years worth of cash flows is merely the sum of the present
values for each year, thus:

NPV = PV, where this sum is taken over t.

See exercise 2.5 on page 32 and exercise 2.6 on page 32 for relevant examples.

A fictitious scenario:

Consider the following fictitious scenario and some questions related to it. The table below gives the
estimated cash flow for three different projects (in rands R):

Year Project 1 Project 2 Project 3
0 - R 175 000 - R 150 000 - R 280 000
1 - R 10 000 + R 5 000 + R 10 000
2 + R 20 000 + R 25 000 + R 30 000
3 + R 50 000 + R 35 000 + R 50 000
4 + R 50 000 + R 80 000 + R 120 000
5 + R 65 000 + R 95 000 + R 120 000
6 + R 60 000 - R 10 000 + R 120 000

Table for fictitious scenario: Estimated cash flow for three different projects

Based on the above table, answer the following questions:

1 Calculate the net profit of each project.

( )
Discount factor =
1
1 + r%
=
1
1 +
r
100
t t

10 INF308J/102

2 Based on your answer to Question 1 above, which project would you select to develop?

3 Using the shortest payback method as discussed in Hughes and Cotterell, which project would
you now select for development and why?

4 Calculate the Return on Investment (ROI) of each of these projects.

5 Based on your calculation of the ROI of each project in Question 4 above, which project would
you select to develop?

6 Assume a discount rate of 12%. Calculate the Net Present Value (NPV) of each project.

7 Based on your calculation of each projects NPV, which project would you now select for
development? In general, what conclusion do you reach regarding the viability of these
projects? (Base your answer on the NPVs of each project.)

Answers:

1 The net profit is the difference between the total cost and the total income of a project over its
lifetime. This net profit of each project is indicated in the last row of the table below:

Year Project 1 Project 2 Project 3
0 - R 175 000 - R 150 000 - R 280 000
1 - R 10 000 + R 5 000 + R 10 000
2 + R 20 000 + R 25 000 + R 30 000
3 + R 50 000 + R 35 000 + R 50 000
4 + R 50 000 + R 80 000 + R 120 000
5 + R 65 000 + R 95 000 + R 120 000
6 + R 60 000 - R 10 000 + R 120 000
Net profit + R 60 000 + R 80 000 + R 170 000
Table for answer to question 1

2 Project 3 shows the largest net profit, R 170 000, followed by Project 2 and then Project 1 with
R 80 000 and R 60 000 net profit respectively. We would therefore select Project 3 for
implementation.

3 The payback period is the time taken to break even or pay back the initial investment (at
year 0). All three projects paid back the initial investment at the end of year 5. However
Project 1 earns R 0 during this year, whereas Project 2 earns R 90 000 and Project 3 earns R
50 000 profit during year 5.
The actual payback time can be calculated as follows:

Payback: project 1 = Breakeven yr - (Profit made in breakeven yr/ Income in breakeven yr)
= 5-(65000/65000)
= 5 years

Payback: project 2 = Breakeven yr - (Profit made in breakeven yr/ Income in breakeven yr)
= 5-(90000/95000)
11 INF308J/102

= 4.05 years

Payback: project 3 = Breakeven yr - (Profit made in breakeven yr/ Income in breakeven yr)
= 5-(50000/120000)
= 4.6 years

This actual payback time, together with the profit earned in year 5 already, makes Project 2 the
most desirable project to choose (as opposed to Project 3 in question 2).

4 ROI provides a way of comparing the net profitability to the investment required. The ROI of
each project is given in the last row of the table below:

Year Project 1 Project 2 Project 3
0 - R 175 000 - R 150 000 - R 280 000
1 - R 10 000 + R 5 000 + R 10 000
2 + R 20 000 + R 25 000 + R 30 000
3 + R 50 000 + R 35 000 + R 50 000
4 + R 50 000 + R 80 000 + R 120 000
5 + R 65 000 + R 95 000 + R 120 000
6 + R 60 000 - R 10 000 + R 120 000
Net profit + R 60 000 + R 80 000 + R 170 000
Average Profit + R 10 000 + R 13 333 + R 28 333
ROI 5.71 8.89 10.12

Table for answer to question 4

5 Project 3 has the highest ROI, 10.12, followed by Project 2 and then Project 1 with ROIs of
8.89 and 5.71 respectively. According to the ROI calculation, Project 3 therefore seems the
most appropriate project to develop.

6 The Net Present Value (NPV) of each project is given in the table below:

12 INF308J/102

Year
Discount
factor at
12%
Project 1
Discounted
cash flow
Project 2
Discounted
cash flow
Project 3
Discounted
cash flow
0 1.000 - R 175000 - R 175 000 - R 150 000 - R 150 000 - R 280 000 - R 280 000
1 0.8929 - R 10 000 - R 8 929 + R 5 000 + R 4464.50 + R 10 000 + R 8 929
2 0.7972 + R 20 000 +R 15 944 + R 25 000 + R 19 930 + R 30 000 + R 23 916
3 0.7118 + R 50 000 + R 35 590 + R 35 000 + R 24 913 + R 50 000 + R 35 590
4 0.6355 + R 50 000 + R 31 775 + R 80 000 + R 50 840 + R 120 000 + R 76 260
5 0.5674 + R 65 000 + R 36 881 + R 95 000 + R 53 903 + R 120 000 + R 68 088
6 0.5066 + R 60 000 + R 30 396 - R 10 000 - R 5 066 + R 120 000 + R 60 792
Net
profit
+ R 60 000 + R 80 000 + R 170 000
NPV - R 33 343 - R 1 015.50 - R 6 425

Table for answer to question 6

7 A project should be selected for implementation if its NPV is positive, and rejected if it yields a
negative NPV. As all three projects have negative NPV, we will abandon all of them (however,
if pressed to make a selection, Project 2 has the smallest negative NPV, followed by Project 3
and then Project 1 - this would correspond to our order of selection). However, note that
Project 2 yields a negative return in year 6, whereas Project 3 still shows a positive return.
This may very well indicate that Project 2 has reached the end of its viable economic lifetime.



4.3 Unit 3: Step Wise - an overview of project planning

This unit deals with the different phases of project planning in a step-by-step fashion. Step Wise, a
project planning method, is introduced. Study Chapter 3 in the textbook.

Unit 3 objectives:

The aim of Chapter 2 of the textbook is to introduce the following concepts:

the Step Wise project planning method;
step 0 of Step Wise: selection of a project;
step 1 of Step Wise: identification of the projects scope and objectives;
step 2 of Step Wise: identification of the projects infrastructure;
step 3 of Step Wise: analysis of the projects characteristics;
step 4 of Step Wise: identification of the projects products and activities;
step 5 of Step Wise: estimation of the effort associated with each activity;
step 6 of Step Wise: identification of activity risks;
step 7 of Step Wise: allocation of applicable resources;
step 8 of Step Wise: review/publicise the project plan;
step 9 of Step Wise: execution of plan; and
step 10 of Step Wise: lower levels of planning.
13 INF308J/102


Unit 3 outcomes:

After studying Chapter 3 of the textbook, you should be able to:

approach project planning in an organised, step-by-step manner;
be able to identify where techniques described in subsequent chapters fit into an overall
planning approach; and
repeat the planning process in more detail for sets of activities within a project as the time
approaches to execute these activities.

Case Study: International Office Equipment (IOE):

The second case study that will be used throughout the textbook is introduced in chapter 3 on page 50
of the textbook. Study this case study in detail. Note that Amanda has been appointed as project
manager for IOEs expansion project, while Brigitte has been appointed as project manager of
Brightmouth Colleges new payroll administration system.

PRINCE 2

PRINCE 2 is a project management method developed by the Central Computer and
Telecommunications Agency in the UK, and is discussed in Appendix A on pages 325 to 336 of the
textbook.

Example

Consider the following scenario: You are appointed IT project manager for a marketing and sales
company. Making use of the companys existing intranet environment, your brief is to investigate how
to:

1. Support and design a website for external clients to peruse.
2. Enable individual home page creation.
3. Create and maintain a web page for marketing purposes.
4. Create and maintain a web page for sales purposes.

This project has been dubbed Using the Internet by management. In the initial phase you are
required to present management with a PBS (product breakdown structure) including at least three
levels. As only one member of the management team is conversant with technical topics, you are
requested to concentrate on generic topics, rather than technical-level detail (e.g. rather than giving a
series of technical links for a specific page and functionality, merely indicate this as a hyperlink etc.).

In the follow-up phases you are also to present a (product-flow diagram) PFD as well as an activity
network. The same constraints as for the PBS apply to these diagrams.

Draw the PBS, the PFD and the activity network. [15 marks]


Discussion of example

We note that many different answers possibly apply to this question. However, to make the marking
of such a question as objective as possible, the following marking scheme can be used as a guideline:
(Each positive answer count 1 mark with the total per diagram indicated in brackets below.)
14 INF308J/102


PBS (5)

Is the PBS represented as a hierarchical (tree structure) diagram? If it is a descriptive diagram,
can the hierarchical levels be identified (indents or numbers)?
Has the main product been correctly identified? The main product is Using the Internet, or could
even be Using the Intranet.
Does the decomposition start with the main product(s) and does it contain sufficient levels (more
than 2) of sub-products so that the products and its sub-products can be clearly identified?
Is the content logically represented on the diagram as outlined in the question?

PFD (5)

Based on the PBS?
Does it show dependencies / relationship between sub-products and products?
Does it show the logical assembly from the sub-products to the product(s) and does it end with the
construction / creation of the main product?
Is the flow acceptable as per specification? A detailed or generic flow is acceptable.

ACTIVITY NETWORK (5)

Does the Activity Network represent the activities required to derive the product(s) shown in the
PBS?
Are the activities / tasks arranged in a logical sequence and does it end with the activity that
creates the main product?
Does the Activity Network show which activities can run concurrently?
Does the Activity Network conform to the detail in the specification?

This question deals with product based project planning (akin to the concept of product-driven
software projects as in Chapter 1, section 1.7, of the textbook). This implies that we plan the project
according to, or by considering the deliverables, or products, that need to be produced. In this way we
will focus only on the products that must be produced (and in the activity network on all the activities
and sub-activities which we must undertake), that will be required for delivery of the end product. A
very important part of this method is the construction of a Product Breakdown Structure (PBS for
short). A PBS is a diagrammatical approach that describes the system in a hierarchical manner as a
tree structure that identifies the required products to be produced by the project. The higher-level
products are decomposed through a number of levels (as required by the relevant software project
application) down to the individual components of each product.

PBS for Using the Internet:

Ultimately a new website for (both existing and new) clients perusal is to be created. However, this
question does not deal with the entire application of the web site, but focuses on four of the sub-
activities of this project, listed as points 1 - 4 in the question statement. Also note that we need not
include technical level detail at this point already, nor are we concerned with linking the site to the
Internet. We are thus conducting a feasibility study. Once all the groundwork has been completed,
we will presumably be instructed by management to make the web site available on the Internet.

It is with these aspects in mind, that we create the PBS on the next page. Please note that this is a
suggested, and not necessarily only acceptable, solution to this problem:

15 INF308J/102

Figure 1: PBS for Using the Internet


PFD for Using the Internet:

In a Product Flow Diagram (PFD for short), the logical sequence of events leading to the products as
defined by the PBS, are shown. A PFD shows how products are derived from each other, and what
their relationships and dependencies are. Below we give a generic PFD indicating the logical product
flow of multiple page-creations.

Using the Internet
Individual Homepage
Creation
External
webpage=envisaged link
to the internet
Marketing
Homepage
Sales Homepage
Training of
possible users
Develop &
implement
Investigate
existing website
creation tools
Investigate
possible user
requirements
Peruse external &
other website
Investigate
website standard
Investigate
website design
methodologies &
tools
Document findings
Survey
Literature
Prepare &
analyse
possible user
questionnaire
Document
findings
Specify
requirements
Design &
implementation
Poll
marketing
department
Possible
literature
investigation
Report
finding
Future
maintenance
Specify
requirements
Design &
implement
Future
maintenance
Investigate
secure
shopping
techniques
Investigate E-
commerce
techniques
Investigate
Authentication
techniques
16 INF308J/102

Figure 2: PFD for Using the Internet

Activity Network for Using the Internet:

An activity network depicts all the activities in logical sequence. This enables us to estimate time
scales and prepare work schedules.

Overall system
Specification
Collect Information
& Analyse
Test Page(s)
Define
Requirements
Page(s)
Specification
Page(s) Design
Code Page(s)
Evaluate Page(s)
Implement
Report findings
17 INF308J/102

Figure 3: Activity Network for Using the Internet

Additional Notes on PBS and PFD

Product breakdown structure

Product-based planning works by progressively decomposing the project products into smaller
products until we reach a sensible, unitary product level. To illustrate this, PRINCE approach standard
is used.

In PRINCE, the top-level of products is known as project products. These subdivide into three main
categories. Look at the product breakdown structure below.


Figure 4: Product breakdown structure

Management products are those products associated with the planning and control of the project. For
example:

Project initiation documents
Project
Products
Management
products
Specialist
products
Quality
products
Collect &
analyse
information
Design
external
page(s)
Code/Develop
&test external
page(s)
Using the
Intranet:
Overall
specification
Gather
information,
teach users,
specify
individual home
page(s) layout
Design
individual
home-page
creation
Code/Develop
individual home
page creation &
carry out
separate testing
Specify
requirement for
marketing page
Design
marking page
Code/Develop
marketing page
Specify
requirements
for sales
Design sales
pages
Code/Develop
sales page
Integrate/Test
entire system
18 INF308J/102

The project plan
The quality plan
Acceptance criteria
Check points report

Quality products are associated with the definition and control of quality. For example:

Product description
Quality review report
Project issue report

Specialist products are those things that the project has been set up to create. Look at the breakdown
structure below


Figure 5: Specialist products

We could subdivide the analysis products further as shown below on the breakdown structure

Figure 6: Breakdown structure

Data flow diagrams can also be subdivided as shown below

Analysis
products
Interview
notes
Requirement
catalogue
Data flow
diagrams
Package
reports
Specialist
products
Analysis
products
Feasibility
report
19 INF308J/102


Figure 7: Data flows

Combining these breakdowns plus those of Quality products and management products we come up
with a full breakdown structure of the project.

Product flow diagram

With our list of products, we can now consider the work we will need to do to create the products.
PRINCE uses a technique known as a product flow diagram. The idea is simple: we look at the
products in relation to each other and consider how one product is transformed into another. For
example if we want to transform our interview notes into entries in our requirements catalogue and into
data flow diagrams, our PFD will look like this:

Figure 8: PFD



4.4 Unit 4: Selection of an appropriate project approach

This unit deals with the different approaches that can be followed when a project is developed, and
based on the characteristics of a project, a specific Software Development Lifecycle (SDLC) will be
selected. Study Chapter 4 of the textbook.

Interview
notes
Draft
requirement
catalogue
Draft data flow
diagram
Agreed
DFDs
Reviewed
requirements
catalogue
Add extra
requirements
Create
requirements
catalogue
Create data
flow
Review DFD
Review
requirements
catalogue
Data flow
diagrams
Draft data flow
diagrams
Reviewed data
flow diagrams
20 INF308J/102

Unit 4 objectives:

The aim of Chapter 4 of the textbook is to introduce the following concepts:

choosing amongst different technologies;
technical plan content list;
choice of process model;
structured methods VS speed of delivery;
waterfall model;
V-process model;
spiral model;
software prototyping;
ways to categorise prototypes;
controlling changes during prototyping;
incremental delivery;
the dynamic systems development method;
extreme programming;
management of iterative processes; and
selection of the most appropriate process model.

Unit 4 outcomes:

After studying Chapter 4 of the textbook, you will be able to:

take into account the characteristics of a software system to be developed whilst planning a
project;
select an appropriate process model;
make the best use of the waterfall process model where appropriate;
reduce risk by creation of appropriate prototypes;
reduce other risks by implementing the project in increments; and
identify where unnecessary organisational obstacles can be ameliorated by making use of so-
called agile development methods.

In the tables on the following seven pages, we summarise the different life-cycle models that you may
encounter in your studies. This only presents a summary of the current situation and you should refer
to the textbook used in your second year of study, as well as Hughes and Cotterell, for further
information:



2
1




L
i
f
e

c
y
c
l
e

m
o
d
e
l

W
a
t
e
r
f
a
l
l

m
o
d
e
l


M
o
d
e
l

V
-

P
r
o
c
e
s
s

M
o
d
e
l

I
n
c
r
e
m
e
n
t
a
l

A
p
p
r
o
a
c
h


T
h
i
s

i
s

t
h
e

s
o
-
c
a
l
l
e
d

c
l
a
s
s
i
c
a
l

m
o
d
e
l

f
o
r

s
y
s
t
e
m

d
e
v
e
l
o
p
m
e
n
t

a
n
d

i
s

a
l
s
o

r
e
f
e
r
r
e
d

t
o

a
s

t
h
e

o
n
e
-
s
h
o
t

a
p
p
r
o
a
c
h


T
h
i
s

m
o
d
e
l

i
s

a
n

e
l
a
b
o
r
a
t
i
o
n

o
f

t
h
e

W
a
t
e
r
f
a
l
l

m
o
d
e
l

a
n
d

t
h
u
s

s
o
m
e
t
i
m
e
s

a
l
s
o

r
e
f
e
r
r
e
d

t
o

a
s

a

o
n
e
-
s
h
o
t

a
p
p
r
o
a
c
h


M
a
i
n


c
h
a
r
a
c
t
e
r
i
s
t
i
c
s

E
a
c
h

S
t
e
p

i
n

t
h
i
s

l
i
f
e

c
y
c
l
e

m
u
s
t

b
e

c
o
m
p
l
e
t
e
d

b
e
f
o
r
e

t
h
e

n
e
x
t

s
t
e
p

c
a
n

b
e

s
t
a
r
t
e
d

I
n

t
h
e

b
-
m
o
d
e
l

m
a
i
n
t
e
n
a
n
c
e

i
s


o
p
e
n
-
e
n
d
e
d

a
n
d

a

s
e
r
i
e
s

o
f

c
y
c
l
e
s

T
h
e

l
e
f
t

s
i
d
e

o
f

t
h
e

m
o
d
e
l

i
s

a

d
e
s
i
g
n


a
n
a
l
y
s
i
s

f
o
r

p
r
o
g
r
a
m
m
i
n
g

T
h
e

r
i
g
h
t

s
i
d
e

o
f


t
h
e

m
o
d
e
l

i
s

u
s
e
d

f
o
r

a
s
s
e
m
b
l
y

a
n
d

t
e
s
t
i
n
g

S
i
m
i
l
a
r

t
o

p
r
o
t
o
t
y
p
i
n
g

F
o
c
u
s
e
s

o
n

d
e
l
i
v
e
r
y

o
f

o
p
e
r
a
t
i
o
n
a
l

p
r
o
d
u
c
t

A
l
l

e
a
r
l
y

i
n
c
r
e
m
e
n
t
s

a
r
e

s
t
r
i
p
p
e
d

d
o
w
n

i
n
t
o

a

v
e
r
s
i
o
n

o
f

t
h
e

f
i
n
a
l

p
r
o
d
u
c
t

A
d
v
a
n
t
a
g
e
s

L
a
r
g
e

p
r
o
j
e
c
t
s

m
a
y

b
e
n
e
f
i
t

f
r
o
m

t
h
e

l
i
m
i
t
e
d

i
t
e
r
a
t
i
o
n

p
r
o
c
e
s
s

a
l
l
o
w
e
d

L
o
g
i
c
a
l

f
l
o
w

a
i
d
s

i
n

u
n
d
e
r
s
t
a
n
d
i
n
g

S
e
q
u
e
n
t
i
a
l

p
r
o
j
e
c
t

p
r
o
c
e
s
s
e
s

a
r
e

e
a
s
i
e
r

t
o

p
l
a
n

a
n
d

i
m
p
l
e
m
e
n
t

A
l
l
o
w
s

p
r
o
j
e
c
t

c
o
m
p
l
e
t
i
o
n

t
i
m
e
s

t
o

b
e

f
o
r
e
c
a
s
t

w
i
t
h

a

r
e
l
a
t
i
v
e

d
e
g
r
e
e

o
f

a
c
c
u
r
a
c
y

I
t

i
s

r
e
l
a
t
i
v
e
l
y

s
i
m
p
l
e

a
n
d

e
a
s
y

t
o

u
n
d
e
r
s
t
a
n
d

E
n
a
b
l
e
s

a
l
l
o
c
a
t
i
o
n

o
f

t
a
s
k
s

w
i
t
h
i
n

a

p
h
a
s
e

T
h
e

p
r
o
g
r
e
s
s

c
a
n

b
e

e
v
a
l
u
a
t
e
d

a
t

t
h
e

e
n
d

o
f

e
a
c
h

p
h
a
s
e

A
l
l
o
w
s

m
a
i
n
t
e
n
a
n
c
e

a
n
d

e
n
h
a
n
c
e
m
e
n
t
s

t
o

b
e

r
e
v
i
e
w
e
d

t
h
r
o
u
g
h
o
u
t

t
h
e

p
r
o
j
e
c
t

S
t
r
e
s
s
e
s

v
a
l
i
d
a
t
i
o
n

o
f

p
h
a
s
e

d
e
l
i
v
e
r
a
b
l
e
s

A
l
l
o
w
s

f
o
r

t
h
e

i
d
e
n
t
i
f
i
c
a
t
i
o
n

o
f

p
o
t
e
n
t
i
a
l

p
r
o
b
l
e
m
s

e
a
r
l
i
e
r

i
n

t
h
e

l
i
f
e

c
y
c
l
e


E
n
s
u
r
e

m
o
r
e

i
n
t
e
r
a
c
t
i
o
n

b
e
t
w
e
e
n

d
e
v
e
l
o
p
e
r
s

a
n
d

e
n
d
-
u
s
e
r
s

F
e
e
d
b
a
c
k

f
r
o
m

e
a
r
l
y

i
n
c
r
e
m
e
n
t
s

c
a
n

i
n
f
l
u
e
n
c
e

l
a
t
e
r

s
t
a
g
e
s

p
o
s
i
t
i
v
e
l
y

P
o
s
s
i
b
l
e

c
h
a
n
g
e
s

t
o

r
e
q
u
i
r
e
m
e
n
t
s

a
t

l
a
t
e

s
t
a
g
e
s

o
f

t
h
e

p
r
o
j
e
c
t
,

i
s

s
m
a
l
l
e
r

t
h
a
n

f
o
r

l
a
r
g
e
r

p
r
o
j
e
c
t
s

U
s
e
r

g
e
t
s

b
e
n
e
f
i
t
s

e
a
r
l
i
e
r

E
a
r
l
y

d
e
l
i
v
e
r
y

o
f

u
s
e
f
u
l

c
o
m
p
o
n
e
n
t
s

m
a
y

i
m
p
r
o
v
e

c
a
s
h

f
l
o
w

a
s

r
e
t
u
r
n

o
n

i
n
v
e
s
t
m
e
n
t

o
c
c
u
r
s

e
a
r
l
y

o
n

i
n

t
h
e

l
i
f
e

c
y
c
l
e

S
m
a
l
l
e
r

s
u
b
-
p
r
o
j
e
c
t
s

a
r
e

e
a
s
i
e
r

t
o

m
a
n
a
g
e

a
n
d

c
o
n
t
r
o
l

R
i
s
k

c
a
n

b
e

d
e
t
e
c
t
e
d

e
a
r
l
i
e
r

D
i
s
a
d
v
a
n
t
a
g
e
s

I
n
h
e
r
e
n
t

r
i
g
i
d
i
t
y

o
f

t
h
e

m
o
d
e
l

e
l
i
m
i
n
a
t
e
s

f
l
e
x
i
b
i
l
i
t
y

a
n
d

a
d
a
p
t
a
b
i
l
i
t
y

w
h
i
c
h

i
s

o
f
t
e
n

c
a
l
l
e
d

f
o
r

i
n

t
h
e

d
y
n
a
m
i
c

I
T

i
n
d
u
s
t
r
y

W
h
e
r
e

t
h
e
r
e

i
s

u
n
c
e
r
t
a
i
n
t
y

h
o
w

a

s
y
s
t
e
m

i
s

t
o

b
e

i
m
p
l
e
m
e
n
t
e
d
,

m
o
r
e

f
l
e
x
i
b
i
l
i
t
y

i
s

r
e
q
u
i
r
e
d

E
n
d
-
p
r
o
d
u
c
t

(
f
u
n
c
t
i
o
n
a
l

m
o
d
e
l
)

i
s

p
r
o
d
u
c
e
d

o
n
l
y

v
e
r
y

l
a
t
e

i
n

t
h
e

l
i
f
e
-
c
y
c
l
e

T
h
e

r
e
q
u
i
r
e
m
e
n
t
s

c
h
a
n
g
e

o
v
e
r

t
i
m
e
,

a
n
d

t
h
i
s

l
i
f
e

c
y
c
l
e

d
o
e
s

n
o
t

a
l
l
o
w

a
n
y

o
p
p
o
r
t
u
n
i
t
y

t
o

r
e
v
i
e
w

a
n
d

e
v
a
l
u
a
t
e

w
i
t
h

u
s
e
r
s
,

t
h
e
r
e
b
y

m
a
k
i
n
g

t
h
i
s

m
o
d
e
l

i
n
f
l
e
x
i
b
l
e

T
h
e

m
a
i
n
t
e
n
a
n
c
e

p
h
a
s
e

i
s

n
o
t

a
d
e
q
u
a
t
e
l
y

c
o
v
e
r
e
d
.

P
r
o
j
e
c
t
s

r
a
r
e
l
y

f
l
o
w

i
n

a

s
e
q
u
e
n
t
i
a
l

p
r
o
c
e
s
s

D
i
f
f
i
c
u
l
t

t
o

d
e
f
i
n
e

a
l
l

r
e
q
u
i
r
e
m
e
n
t
s

a
t

t
h
e

b
e
g
i
n
n
i
n
g

o
f

t
h
e

p
r
o
j
e
c
t

U
n
r
e
s
p
o
n
s
i
v
e

t
o

c
h
a
n
g
e
s

A

w
o
r
k
i
n
g

v
e
r
s
i
o
n

o
f

t
h
e

s
y
s
t
e
m

i
s

n
o
t

s
e
e
n

u
n
t
i
l

l
a
t
e

i
n

t
h
e

p
r
o
j
e
c
t

s

l
i
f
e

R
e
p
a
i
r
i
n
g

p
r
o
b
l
e
m
s

f
u
r
t
h
e
r

a
l
o
n
g

t
h
e

l
i
f
e

c
y
c
l
e

b
e
c
o
m
e
s

p
r
o
g
r
e
s
s
i
v
e
l
y

m
o
r
e

e
x
p
e
n
s
i
v
e

M
a
i
n
t
e
n
a
n
c
e

c
o
s
t
s

c
a
n

b
e

a
s

m
u
c
h

a
s

7
0
%

o
f

s
y
s
t
e
m
s

c
o
s
t
s

I
f

c
h
a
n
g
e
s

a
r
e

m
a
d
e

t
o

t
h
e

p
r
o
j
e
c
t
,

t
h
e
y

h
a
v
e

t
o

f
o
l
l
o
w

i
n

a

p
a
t
t
e
r
n
:

f
e
a
s
i
b
i
l
i
t
y
,

a
n
a
l
y
s
i
s
,

d
e
s
i
g
n
,

p
r
o
d
u
c
t
i
o
n

a
c
c
e
p
t
a
n
c
e

a
n
d

f
i
n
a
l

o
p
e
r
a
t
i
o
n

T
i
m
e

c
o
n
s
u
m
i
n
g

a
s

v
a
l
i
d
a
t
i
o
n

p
r
o
c
e
s
s
e
s


m
a
y

r
e
q
u
i
r
e

a

g
r
e
a
t

d
e
a
l

o
f

i
n
v
e
s
t
i
g
a
t
i
o
n

M
a
y

l
e
a
d

t
o

i
n
c
r
e
a
s
e
d

r
e
s
o
u
r
c
e


r
e
q
u
i
r
e
m
e
n
t
s

T
h
e

p
r
o
c
e
s
s

i
s

h
e
a
v
y

o
n

d
o
c
u
m
e
n
t
a
t
i
o
n

I
t

a
s
s
u
m
e
s

t
h
a
t

i
t

i
s

p
o
s
s
i
b
l
e

t
o

a
r
r
i
v
e

a
t

n
e
a
r
-
p
e
r
f
e
c
t

d
o
c
u
m
e
n
t
a
t
i
o
n

t
h
a
t

i
s

c
o
m
p
l
e
t
e
,

a
n
d

i
s

t
r
u
l
y

r
e
p
r
e
s
e
n
t
a
t
i
v
e

o
f

t
h
e

u
l
t
i
m
a
t
e

"
r
e
q
u
i
r
e
m
e
n
t
s
"

C
a
n

b
e

f
r
o
z
e
n

a
n
d

t
h
e

a
u
t
h
o
r
s
,

i
.
e
.

t
h
e

s
t
a
k
e
h
o
l
d
e
r
s
,

c
a
n

b
e

h
e
l
d

a
c
c
o
u
n
t
a
b
l
e

t
o

t
h
o
s
e

r
e
q
u
i
r
e
m
e
n
t

s
p
e
c
i
f
i
c
a
t
i
o
n
s

L
a
t
e
r

i
n
c
r
e
m
e
n
t
s

m
a
y

r
e
q
u
i
r
e

s
u
b
s
t
a
n
t
i
a
l

m
o
d
i
f
i
c
a
t
i
o
n

o
f

e
a
r
l
i
e
r

i
n
c
r
e
m
e
n
t
s

T
h
e

d
e
v
e
l
o
p
m
e
n
t

t
e
a
m

m
a
y

b
e

m
o
r
e

p
r
o
d
u
c
t
i
v
e

w
h
e
n

w
o
r
k
i
n
g

o
n

o
n
e

l
a
r
g
e

s
y
s
t
e
m

r
a
t
h
e
r

t
h
a
n

a

s
e
r
i
e
s

o
f

s
m
a
l
l
e
r

o
n
e
s

D
e
g
e
n
e
r
a
t
e

t
o

b
u
i
l
d

a
n
d

f
i
x

m
o
d
e
l


2
2




W
h
e
n

t
o

u
s
e

T
h
i
s

m
o
d
e
l

w
o
u
l
d

t
y
p
i
c
a
l
l
y

b
e

u
s
e
d

i
n

a

t
r
a
d
i
t
i
o
n
a
l

d
e
v
e
l
o
p
m
e
n
t

e
n
v
i
r
o
n
m
e
n
t

w
h
e
r
e

m
o
s
t

o
f

t
h
e

m
e
t
h
o
d
o
l
o
g
i
e
s

a
n
d

t
e
c
h
n
o
l
o
g
i
e
s

a
r
e

r
e
g
a
r
d
e
d

a
s

s
t
a
b
l
e
,

w
h
e
r
e

t
h
e

s
c
o
p
e

i
s

c
l
e
a
r
l
y

d
e
f
i
n
e
d
,

w
h
e
r
e

s
i
m
i
l
a
r

p
r
o
j
e
c
t
s

h
a
v
e

b
e
e
n

u
n
d
e
r
t
a
k
e
n

a
n
d

t
h
e

d
e
v
e
l
o
p
m
e
n
t

t
e
a
m

c
a
n

s
p
e
c
i
f
y

a
n
d

d
e
s
i
g
n

a

s
o
l
u
t
i
o
n

t
o

a

h
i
g
h

d
e
g
r
e
e

o
f

c
e
r
t
a
i
n
t
y


T
h
i
s

m
o
d
e
l

m
a
y

b
e

u
s
e
d

w
h
e
r
e

t
h
e

r
e
q
u
i
r
e
m
e
n
t
s

a
r
e

c
l
e
a
r
l
y

d
e
f
i
n
e
d
,

b
u
t

w
h
e
r
e

t
h
e

p
r
o
j
e
c
t

i
s

r
e
l
a
t
i
v
e
l
y

c
o
m
p
l
e
x

a
n
d

w
h
e
r
e

a

n
u
m
b
e
r

o
f

s
t
a
k
e
h
o
l
d
e
r
s

m
a
y

b
e

i
n
v
o
l
v
e
d

T
h
e

i
n
c
r
e
m
e
n
t
a
l

a
p
p
r
o
a
c
h

i
n
v
o
l
v
e
s

b
r
e
a
k
i
n
g

t
h
e

p
r
o
j
e
c
t

d
o
w
n

i
n
t
o

s
m
a
l
l
e
r

s
u
b
-
p
r
o
j
e
c
t
s

w
h
i
c
h

c
o
r
r
e
s
p
o
n
d

t
o

s
m
a
l
l
e
r

s
u
b
-
s
y
s
t
e
m
s

(
c
o
m
p
o
n
e
n
t
s
)

o
f

t
h
e

l
a
r
g
e
r

s
y
s
t
e
m

a
n
d


a
l
l
o
w
s

t
h
e
s
e

i
n
d
i
v
i
d
u
a
l

c
o
m
p
o
n
e
n
t
s

t
o

b
e

i
m
p
l
e
m
e
n
t
e
d

a
n
d

d
e
l
i
v
e
r
e
d

i
n

s
e
q
u
e
n
c
e

E
a
c
h

s
u
c
h

c
o
m
p
o
n
e
n
t

m
u
s
t

p
r
o
d
u
c
e

s
o
m
e

t
a
n
g
i
b
l
e

b
e
n
e
f
i
t

t
o

t
h
e

u
s
e
r

W
h
e
r
e

t
h
e

r
e
q
u
i
r
e
m
e
n
t
s

o
f

a

s
y
s
t
e
m
s

a
r
e

r
e
l
a
t
i
v
e
l
y

c
e
r
t
a
i
n
,

b
u
t

t
h
e
r
e

a
r
e

m
a
n
y

c
o
m
p
l
e
x
i
t
i
e
s

a
n
d

d
e
a
d
l
i
n
e
s

a
r
e

t
i
g
h
t
,

a
n

i
n
c
r
e
m
e
n
t
a
l

a
p
p
r
o
a
c
h

w
o
u
l
d

b
e

f
a
v
o
u
r
e
d

H
o
w

d
o
e
s

i
t

f
i
t

w
i
t
h

p
r
o
j
e
c
t

m
a
n
a
g
e
m
e
n
t
?

T
h
i
s

l
i
f
e

c
y
c
l
e

f
i
t
s

c
o
m
f
o
r
t
a
b
l
y

w
i
t
h

p
r
o
j
e
c
t

m
a
n
a
g
e
m
e
n
t

b
e
c
a
u
s
e

i
t

v
i
e
w
s

d
e
v
e
l
o
p
m
e
n
t

a
s

a

s
e
r
i
e
s

o
f

p
r
o
c
e
s
s
e
s

t
h
a
t

a
r
e

e
x
p
e
c
t
e
d

t
o

b
e

c
o
m
p
l
e
t
e
d

a
n
d

p
l
a
n
n
e
d

o
n
l
y

o
n
c
e

f
o
r

t
h
e

p
r
o
j
e
c
t

T
h
i
s

i
s

a

g
o
o
d

m
o
d
e
l

w
h
e
n

c
o
m
p
a
r
e
d

t
o


p
r
o
j
e
c
t

m
a
n
a
g
e
m
e
n
t

b
e
c
a
u
s
e

c
h
a
n
g
e
s

t
o

t
h
e

p
r
o
j
e
c
t

a
r
e

m
a
d
e

b
y

f
o
l
l
o
w
i
n
g

c
e
r
t
a
i
n

r
u
l
e
s
,

w
h
i
c
h

m
a
k
e

t
h
e

p
r
o
j
e
c
t

f
e
a
s
i
b
l
e

a
n
d

r
e
a
l
i
s
t
i
c

T
h
i
s

m
o
d
e
l

s
h
o
w
s

c
o
r
r
e
s
p
o
n
d
e
n
c
e

b
e
t
w
e
e
n

t
h
e

s
t
a
g
e
s

o
f

t
h
e

l
i
f
e

c
y
c
l
e

t
h
e
r
e
b
y

e
n
a
b
l
i
n
g

m
a
i
n
t
e
n
a
n
c
e

a
n
d

u
p
d
a
t
e
s

t
o

b
e

p
e
r
f
o
r
m
e
d

t
h
r
o
u
g
h
o
u
t

t
h
e

p
r
o
j
e
c
t

s

l
i
f
e

c
y
c
l
e

I
t

a
l
s
o

e
n
a
b
l
e
s

d
e
l
i
v
e
r
y

s
t
a
g
e
s

t
o

b
e

i
d
e
n
t
i
f
i
e
d

a
n
d

t
h
e

d
e
l
i
v
e
r
a
b
l
e
s

t
o

b
e

v
a
l
i
d
a
t
e
d

T
h
i
s

m
o
d
e
l

f
o
r
c
e
s

t
h
e

p
r
o
j
e
c
t

d
o
c
u
m
e
n
t
a
t
i
o
n

a
n
d

r
e
q
u
i
r
e
m
e
n
t
s

t
o

b
e

c
l
e
a
r
l
y

o
u
t
l
i
n
e
d


b
e
f
o
r
e

t
h
e

i
n
c
r
e
m
e
n
t
s

a
r
e

d
e
f
i
n
e
d


W
h
e
n

d
o
e
s

i
t

w
o
r
k

b
e
s
t
?

T
h
i
s

m
o
d
e
l

w
o
r
k
s

b
e
s
t

w
h
e
n

t
h
e

r
e
q
u
i
r
e
m
e
n
t
s

d
o

n
o
t

c
h
a
n
g
e

o
v
e
r

t
i
m
e

W
h
e
n

a

s
y
s
t
e
m

n
e
e
d
s

o
n
g
o
i
n
g

m
a
i
n
t
e
n
a
n
c
e

d
u
r
i
n
g

i
t
s

l
i
f
e

c
y
c
l
e
.

T
h
i
s

s
y
s
t
e
m

w
o
r
k
s

b
e
s
t

w
h
e
n

a
c
c
u
r
a
t
e

m
o
s
t

u
p

t
o

d
a
t
e

d
o
c
u
m
e
n
t
a
t
i
o
n

i
s

m
a
i
n
t
a
i
n
e
d

a
n
d

a
p
p
l
i
e
d

t
o

t
h
e

p
r
o
j
e
c
t

I
t

w
o
r
k
s

b
e
s
t

w
h
e
n

m
i
n
i
m
u
m

m
a
i
n
t
e
n
a
n
c
e

i
s

r
e
q
u
i
r
e
d

f
o
r

a

p
r
o
j
e
c
t

W
h
e
n

d
o
e
s
n

t

i
t

w
o
r
k

w
e
l
l
?

W
h
e
n

b
u
s
i
n
e
s
s

o
r

s
y
s
t
e
m

r
e
q
u
i
r
e
m
e
n
t
s

c
h
a
n
g
e

o
v
e
r

t
i
m
e

W
h
e
n

t
h
e

b
u
s
i
n
e
s
s

r
e
q
u
i
r
e
m
e
n
t
s

a
r
e

c
o
n
t
i
n
u
o
u
s
l
y

c
h
a
n
g
i
n
g
,

t
h
e
r
e
b
y

f
o
r
c
i
n
g

r
e
v
i
e
w

o
f

t
h
e

p
r
o
j
e
c
t
,

a
n
d

t
a
k
e

u
p

m
o
r
e

t
i
m
e

(
a
n
d

t
i
m
e

i
s

m
o
n
e
y
)

T
h
i
s

p
r
o
c
e
s
s

i
s

h
i
g
h
l
y

d
e
p
e
n
d
a
n
t

o
n

d
o
c
u
m
e
n
t
a
t
i
o
n
:

i
f

t
h
e

i
n
f
o
r
m
a
t
i
o
n

i
n

a

d
o
c
u
m
e
n
t

i
s

n
o
t

a
c
c
u
r
a
t
e
;

n
e
i
t
h
e
r

w
i
l
l

b
e

t
h
e

o
u
t
c
o
m
e

o
f

t
h
e

p
r
o
j
e
c
t

N
o
t

a
p
p
r
o
p
r
i
a
t
e

w
h
e
r
e

s
c
o
p
e

o
f

t
h
e

p
r
o
j
e
c
t


i
s

p
o
o
r
l
y

d
e
f
i
n
e
d

o
r

u
n
d
e
c
i
d
e
d


L
i
f
e

c
y
c
l
e

m
o
d
e
l

S
p
i
r
a
l

m
o
d
e
l

(
V
a
r
i
a
t
i
o
n

o
n

W
a
t
e
r
f
a
l
l

m
o
d
e
l
)

C
o
m
p
o
n
e
n
t
-
B
a
s
e
d

D
e
v
e
l
o
p
m
e
n
t

(
C
B
D
)

P
a
c
k
a
g
e
-
b
a
s
e
d

I
S

p
r
o
j
e
c
t
s

R
a
p
i
d

A
p
p
l
i
c
a
t
i
o
n

D
e
v
e
l
o
p
m
e
n
t

(
R
A
D
)

M
a
i
n

c
h
a
r
a
c
t
e
r
i
s
t
i
c
s

I
t
e
r
a
t
i
v
e
.

D
i
v
i
d
e
d

i
n
t
o

4

q
u
a
d
r
a
n
t
s

I
t

a
l
l
o
w
s

u
s

t
o

i
s
o
l
a
t
e

k
e
y

o
b
j
e
c
t
i
v
e
s

a
n
d

t
h
e
r
e
b
y

e
s
t
a
b
l
i
s
h

c
o
r
e

b
u
s
i
n
e
s
s
,

e
x
p
r
e
s
s
e
d

a
s

p
r
o
c
e
s
s
e
s

a
n
d
/
o
r

c
o
n
c
e
p
t
s

T
h
e
s
e

c
a
n

b
e

d
e
s
i
g
n
e
d

a
n
d

i
m
p
l
e
m
e
n
t
e
d

a
s

r
o
b
u
s
t

c
o
m
p
o
n
e
n
t
s
,

a
n
d

t
h
e
n

p
l
u
g
g
e
d

t
o
g
e
t
h
e
r

t
o

r
a
p
i
d
l
y

b
u
i
l
d

s
c
a
l
a
b
l
e

s
y
s
t
e
m
s

C
o
m
p
o
n
e
n
t
-
b
a
s
e
d

a
p
p
r
o
a
c
h

t
o

d
e
v
e
l
o
p
m
e
n
t

i
s

i
n
c
r
e
m
e
n
t
a
l

T
u
r
n
a
r
o
u
n
d
s

a
r
e

"
W
o
r
k

P
a
c
k
a
g
e
"

o
r
i
e
n
t
e
d
,

i
n

t
h
a
t

a
l
l

w
o
r
k

f
o
r

a

s
p
e
c
i
f
i
c

e
x
c
h
a
n
g
e
r

n
e
e
d
s

t
o

b
e

k
e
p
t

t
o
g
e
t
h
e
r

i
n

t
h
e

s
a
m
e

p
a
c
k
a
g
e

s
o

t
h
a
t

t
h
e

p
l
a
n
n
i
n
g

a
n
d

s
c
h
e
d
u
l
i
n
g

o
f

t
h
e

w
o
r
k

c
a
n

b
e

n
e
t
w
o
r
k
e
d

a
n
d

f
o
r

t
h
e

m
o
s
t

p
a
r
t

k
e
p
t

t
o
g
e
t
h
e
r

f
o
r

a

c
r
e
w

o
f

w
o
r
k
e
r
s

R
A
D

u
s
e
s

h
y
b
r
i
d

t
e
a
m
s

R
A
D

m
a
k
e
s

u
s
e

o
f

s
p
e
c
i
a
l
i
z
e
d

t
o
o
l
s

R
A
D

u
s
e
s

t
i
m
e

b
o
x
i
n
g


R
A
D

u
s
e
s

i
t
e
r
a
t
i
v
e
,

e
v
o
l
u
t
i
o
n
a
r
y

p
r
o
t
o
t
y
p
i
n
g

t
o

a
c
c
e
l
e
r
a
t
e

r
e
q
u
i
r
e
m
e
n
t
s

a
n
a
l
y
s
i
s

a
n
d

s
y
s
t
e
m
s

d
e
s
i
g
n


2
3




L
i
f
e

c
y
c
l
e

m
o
d
e
l

S
p
i
r
a
l

m
o
d
e
l

(
V
a
r
i
a
t
i
o
n

o
n

W
a
t
e
r
f
a
l
l

m
o
d
e
l
)

C
o
m
p
o
n
e
n
t
-
B
a
s
e
d

D
e
v
e
l
o
p
m
e
n
t

(
C
B
D
)

P
a
c
k
a
g
e
-
b
a
s
e
d

I
S

p
r
o
j
e
c
t
s

R
a
p
i
d

A
p
p
l
i
c
a
t
i
o
n

D
e
v
e
l
o
p
m
e
n
t

(
R
A
D
)

A
d
v
a
n
t
a
g
e
s

A
n

i
t
e
r
a
t
i
v
e

a
p
p
r
o
a
c
h

w
h
e
r
e
b
y

a
d
d
i
t
i
o
n
a
l

l
e
v
e
l
s

o
f

d
e
t
a
i
l

a
r
e

a
d
d
e
d

a
t

e
a
c
h

s
t
a
g
e

H
i
d
d
e
n

c
o
s
t
s

a
n
d

c
o
m
p
l
e
x
i
t
y

w
i
l
l

b
e

d
i
s
c
o
v
e
r
e
d

e
a
r
l
i
e
r

i
n

t
h
e

l
i
f
e

c
y
c
l
e


A
l
l
o
w
s

m
o
r
e

e
n
d
-
u
s
e
r

i
n
t
e
r
a
c
t
i
o
n

T
e
s
t
i
n
g

i
n
i
t
i
a
t
i
v
e
s

a
r
e

e
x
p
a
n
d
e
d

o
n

R
e
q
u
i
r
e
m
e
n
t
s
,

i
s
s
u
e
s

a
n
d

s
o
l
u
t
i
o
n
s

a
r
e

c
l
a
r
i
f
i
e
d

a
l
o
n
g

t
h
e

p
r
o
j
e
c
t

C
B
D

m
a
s
t
e
r
s

d
e
v
e
l
o
p
m
e
n
t

c
o
m
p
l
e
x
i
t
y

C
B
D

r
e
d
u
c
e
s

t
i
m
e

t
o

m
a
r
k
e
t

C
B
D

c
h
a
n
g
e
s

t
h
e

n
a
t
u
r
e

o
f

I
n
f
o
r
m
a
t
i
o
n

S
y
s
t
e
m
s

C
B
D

b
u
i
l
d
s

o
n

t
h
e

p
a
s
t

C
B
D

e
n
a
b
l
e
s

a
u
t
o
n
o
m
o
u
s

d
e
v
e
l
o
p
m
e
n
t

o
f

p
a
r
t
s

C
B
D

c
o
v
e
r
s

w
h
o
l
e

s
o
f
t
w
a
r
e

l
i
f
e

c
y
c
l
e

A
s
s
i
s
t
s

d
e
v
e
l
o
p
e
r

(
n
o
t

e
n
d
-
u
s
e
r
)

I
n
s
t
a
l
l
s

l
o
c
a
l
l
y

(
n
o
t

g
l
o
b
a
l
l
y
)

H
i
d
e
s

d
e
c
o
m
p
o
s
i
t
i
o
n

E
a
s
y

t
o

d
o
w
n
l
o
a
d

E
a
s
y

t
o

b
u
i
l
d
/
c
o
n
f
i
g
u
r
e

D
e
v
e
l
o
p
m
e
n
t
/
m
a
i
n
t
e
n
a
n
c
e

m
i
g
h
t


b
e

e
a
s
i
e
r

i
f

a
l
l

f
u
n
c
t
i
o
n
a
l
i
t
y

i
s

c
o
n
t
a
i
n
e
d

i
n

t
h
e

d
i
s
t
r
i
b
u
t
i
o
n

D
e
l
i
v
e
r
s

b
u
s
i
n
e
s
s

a
p
p
l
i
c
a
t
i
o
n

s
o
o
n
e
r

t
h
a
n

m
a
n
y

o
t
h
e
r

a
p
p
r
o
a
c
h
e
s

E
n
f
o
r
c
e
s

i
n
t
e
r
a
c
t
i
o
n

b
e
t
w
e
e
n

d
e
v
e
l
o
p
e
r
s

a
n
d

a
l
l

s
t
a
k
e
h
o
l
d
e
r
s

(
J
o
i
n
t

A
p
p
l
i
c
a
t
i
o
n

D
e
v
e
l
o
p
m
e
n
t

-

J
A
D

-

a
p
p
r
o
a
c
h
)

T
i
m
e
-
b
o
x
i
n
g

r
e
s
u
l
t
s

i
n

a
b
s
o
l
u
t
e

d
e
a
d
l
i
n
e
s

B
u
y
i
n
g

m
a
y

s
a
v
e

y
o
u

t
i
m
e

a
n
d

m
o
n
e
y

a
s

c
o
m
p
a
r
e
d

t
o

b
u
i
l
d
i
n
g

D
e
l
i
v
e
r
a
b
l
e
s

a
r
e

s
o
m
e
t
i
m
e
s

e
a
s
i
e
r

t
o

p
o
r
t

D
e
v
e
l
o
p
m
e
n
t

i
s

c
o
n
d
u
c
t
e
d

a
t

a

h
i
g
h
e
r

l
e
v
e
l

o
f

a
b
s
t
r
a
c
t
i
o
n

E
a
r
l
y

v
i
s
i
b
i
l
i
t
y

b
e
c
a
u
s
e

o
f

p
r
o
t
o
t
y
p
i
n
g

G
r
e
a
t
e
r

f
l
e
x
i
b
i
l
i
t
y

G
r
e
a
t
l
y

r
e
d
u
c
e
d

m
a
n
u
a
l

c
o
d
i
n
g

I
n
c
r
e
a
s
e
d

u
s
e
r

i
n
v
o
l
v
e
m
e
n
t

P
o
s
s
i
b
l
y

f
e
w
e
r

d
e
f
e
c
t
s

P
o
s
s
i
b
l
y

r
e
d
u
c
e
d

c
o
s
t
s


S
h
o
r
t
e
r

d
e
v
e
l
o
p
m
e
n
t

c
y
c
l
e
s

D
i
s
a
d
v
a
n
t
a
g
e
s

E
x
t
r
a

t
i
m
e

s
p
e
n
t

o
n

t
e
s
t
i
n
g

a
n
d

d
o
c
u
m
e
n
t
a
t
i
o
n


M
o
r
e

t
i
m
e

c
o
n
s
u
m
i
n
g

t
h
a
n

b
o
t
h

t
h
e

w
a
t
e
r
f
a
l
l

a
n
d

V
-
p
r
o
c
e
s
s

m
o
d
e
l
s

b
e
c
a
u
s
e

o
f

i
t
e
r
a
t
i
v
e

p
r
o
c
e
s
s
e
s

a
n
d

m
o
r
e

t
h
o
r
o
u
g
h

t
e
s
t
i
n
g

p
r
i
n
c
i
p
l
e
s

M
a
y

t
a
k
e

l
o
n
g
e
r

t
o

d
e
l
i
v
e
r

a

s
o
l
u
t
i
o
n

a
n
d

c
r
e
a
t
e

a
n

e
n
d
-
p
r
o
d
u
c
t

E
s
t
i
m
a
t
e
d

c
o
s
t

a
n
d

t
i
m
e

i
n
c
r
e
a
s
e

t
h
r
o
u
g
h
o
u
t

t
h
e

l
i
f
e

c
y
c
l
e

F
o
c
u
s
e
s

o
n

t
h
e

c
l
e
a
r

s
e
p
a
r
a
t
i
o
n

o
f

s
t
a
t
i
c
,

s
t
a
b
l
e

b
u
s
i
n
e
s
s

c
o
n
c
e
p
t
s

f
r
o
m

m
o
r
e

d
y
n
a
m
i
c

b
u
s
i
n
e
s
s

p
r
o
c
e
s
s
e
s

a
n
d

p
r
a
c
t
i
c
e
s

L
a
r
g
e

H
a
r
d

t
o

r
e
u
s
e

(
f
u
n
c
t
i
o
n
a
l
i
t
y

i
s

e
n
t
a
n
g
l
e
d
)

H
a
r
d

t
o

e
x
t
e
n
d

M
a
n
y

d
e
p
e
n
d
e
n
c
i
e
s

C
o
m
p
l
e
x

c
o
n
f
i
g
u
r
a
t
i
o
n
/
b
u
i
l
d
i
n
g

C
o
m
p
l
e
x

s
t
r
u
c
t
u
r
e

(
s
t
r
o
n
g

c
o
u
p
l
i
n
g
)

R
e
q
u
i
r
e
s

s
k
i
l
l
e
d

R
A
D

a
n
d

J
A
D

t
e
a
m

l
e
a
d
e
r
s

a
n
d

m
e
m
b
e
r
s

t
h
a
t

u
n
d
e
r
s
t
a
n
d
s

t
h
e

p
a
r
t
i
c
u
l
a
r

t
o
o
l
s

a
n
d

t
e
c
h
n
o
l
o
g
i
e
s

D
o
c
u
m
e
n
t
a
t
i
o
n

i
s

p
r
o
d
u
c
e
d

a
s

b
y
-
p
r
o
d
u
c
t

o
f

c
o
m
p
l
e
t
e
d

t
a
s
k
s
,

w
h
i
c
h

m
a
y

r
e
s
u
l
t

i
n

a

h
i
g
h

d
e
g
r
e
e

o
f

n
o
n
-
u
s
a
b
i
l
i
t
y

a
n
d

u
n
r
e
l
i
a
b
i
l
i
t
y

T
i
m
e

i
n
t
e
n
s
i
v
e

B
u
y
i
n
g

m
a
y

n
o
t

s
a
v
e

m
o
n
e
y

a
s

c
o
m
p
a
r
e
d

t
o

b
u
i
l
d
i
n
g

C
o
s
t

o
f

i
n
t
e
g
r
a
t
e
d

t
o
o
l

s
e
t

a
n
d

h
a
r
d
w
a
r
e

t
o

r
u
n

i
t

a
r
e

h
i
g
h

H
a
r
d
e
r

t
o

g
a
u
g
e

p
r
o
g
r
e
s
s

L
e
s
s

e
f
f
i
c
i
e
n
t

a
n
d

p
o
s
s
i
b
l
e

l
o
s
s

o
f

s
c
i
e
n
t
i
f
i
c

p
r
e
c
i
s
i
o
n

M
a
y

a
c
c
i
d
e
n
t
a
l
l
y

e
m
p
o
w
e
r

a

r
e
t
u
r
n

t
o

u
n
c
o
n
t
r
o
l
l
e
d

p
r
a
c
t
i
c
e
s

P
r
o
t
o
t
y
p
e

m
a
y

n
o
t

s
c
a
l
e

u
p

a

p
r
o
b
l
e
m

S
t
a
n
d
a
r
d
i
z
e
d

l
o
o
k

a
n
d

f
e
e
l

S
u
c
c
e
s
s
f
u
l

e
f
f
o
r
t
s

d
i
f
f
i
c
u
l
t

t
o

r
e
p
e
a
t

W
h
e
n

t
o

u
s
e

T
h
e

s
p
i
r
a
l

m
o
d
e
l
s

i
s

b
e
s
t

u
s
e
d

w
h
e
n

m
o
s
t

o
f

t
h
e

r
e
q
u
i
r
e
m
e
n
t
s

a
r
e

c
l
e
a
r
l
y

d
e
f
i
n
e
d
,

b
u
t

o
n
l
y

a

s
m
a
l
l

n
u
m
b
e
r

o
f

u
n
c
l
e
a
r

v
a
r
i
a
b
l
e
s

e
x
i
s
t
,

f
o
r

e
x
a
m
p
l
e
,

i
t

i
s

n
o
t

c
l
e
a
r

h
o
w

t
h
e

u
s
e
r
s

s
e
e

t
h
e

f
i
n
i
s
h
e
d

e
n
d
-
p
r
o
d
u
c
t

s

f
u
n
c
t
i
o
n
a
l
i
t
y



A
s

R
A
D

m
a
k
e
s

e
x
t
e
n
s
i
v
e

u
s
e

o
f

J
A
D

t
e
c
h
n
i
q
u
e
s

f
o
r

d
a
t
a

c
o
l
l
e
c
t
i
o
n

a
n
d

r
e
q
u
i
r
e
m
e
n
t
s

a
n
a
l
y
s
i
s

a
n
d

s
p
e
c
i
f
i
c
a
t
i
o
n
,

i
t

i
s

b
e
s
t

s
u
i
t
e
d

f
o
r

d
e
c
i
s
i
o
n

s
u
p
p
o
r
t

a
n
d

m
a
n
a
g
e
m
e
n
t

i
n
f
o
r
m
a
t
i
o
n

s
y
s
t
e
m
s


2
4




L
i
f
e

c
y
c
l
e

m
o
d
e
l

S
p
i
r
a
l

m
o
d
e
l

(
V
a
r
i
a
t
i
o
n

o
n

W
a
t
e
r
f
a
l
l

m
o
d
e
l
)

C
o
m
p
o
n
e
n
t
-
B
a
s
e
d

D
e
v
e
l
o
p
m
e
n
t

(
C
B
D
)

P
a
c
k
a
g
e
-
b
a
s
e
d

I
S

p
r
o
j
e
c
t
s

R
a
p
i
d

A
p
p
l
i
c
a
t
i
o
n

D
e
v
e
l
o
p
m
e
n
t

(
R
A
D
)

H
o
w

d
o
e
s

i
t

f
i
t

w
i
t
h

p
r
o
j
e
c
t

m
a
n
a
g
e
m
e
n
t
?

F
i
t

w
e
l
l

s
i
n
c
e

i
t

i
n
t
r
o
d
u
c
e
s

c
o
n
c
e
p
t
s

o
f

o
b
j
e
c
t
i
v
e

s
e
t
t
i
n
g
,

r
i
s
k

m
a
n
a
g
e
m
e
n
t

a
n
d

p
l
a
n
n
i
n
g

i
n
t
o

t
h
e

o
v
e
r
a
l
l

c
y
c
l
e

T
h
e
y

r
e
u
s
e

c
o
m
p
o
n
e
n
t
s

i
n
s
t
e
a
d

o
f

s
t
a
r
t
i
n
g

f
o
r
m

t
h
e

b
e
g
i
n
n
i
n
g

t
h
u
s

q
u
a
l
i
t
y
,

t
i
m
e

a
n
d

c
o
s
t

i
s

i
m
p
r
o
v
e
d

I
t

d
e
c
r
e
a
s
e
s

t
h
e

t
i
m
e

t
a
k
e
n

w
h
e
n

u
s
i
n
g

t
h
e

p
r
o
j
e
c
t

l
i
f
e

c
y
c
l
e

B
e
c
a
u
s
e

R
A
D

i
s

c
o
n
s
i
d
e
r
e
d

a
n

i
t
e
r
a
t
i
v
e

t
e
c
h
n
i
q
u
e
,

p
r
o
j
e
c
t

m
a
n
a
g
e
m
e
n
t

c
o
n
t
r
o
l

i
s

c
r
u
c
i
a
l

t
o

t
h
e

m
a
n
a
g
e
m
e
n
t

o
f

e
a
c
h

p
r
o
c
e
s
s

w
i
t
h
i
n

t
h
e

R
A
D

p
r
o
c
e
s
s

W
h
e
n

d
o
e
s

i
t

w
o
r
k

b
e
s
t
?

W
h
e
n

r
e
q
u
i
r
e
m
e
n
t
s

a
r
e

n
o
t

w
e
l
l

s
p
e
c
i
f
i
e
d

a
n
d

i
n

a
n

u
n
s
t
a
b
l
e

e
n
v
i
r
o
n
m
e
n
t

W
h
e
n

s
y
s
t
e
m

q
u
a
l
i
t
y

i
s

t
h
e

d
r
i
v
i
n
g

f
o
r
c
e

D
e
l
i
v
e
r
y

o
n

i
n
d
u
s
t
r
y

s
t
a
n
d
a
r
d

p
l
a
t
f
o
r
m
s

i
n
c
l
u
d
i
n
g

t
h
e

J
2
E
E

W
h
e
n

d
e
v
e
l
o
p
i
n
g

a

n
e
w

s
y
s
t
e
m

f
r
o
m

t
h
e

o
u
t
s
e
t

T
h
e

a
p
p
l
i
c
a
t
i
o
n

w
i
l
l

b
e

r
u
n

s
t
a
n
d
a
l
o
n
e

M
a
j
o
r

u
s
e

c
a
n

b
e

m
a
d
e

o
f

p
r
e
-
e
x
i
s
t
i
n
g

c
l
a
s
s

l
i
b
r
a
r
i
e
s

P
e
r
f
o
r
m
a
n
c
e

i
s

n
o
t

c
r
u
c
i
a
l

P
r
o
d
u
c
t

d
i
s
t
r
i
b
u
t
i
o
n

w
i
l
l

b
e

n
a
r
r
o
w

P
r
o
j
e
c
t

s
c
o
p
e

i
s

c
o
n
s
t
r
a
i
n
e
d

R
e
l
i
a
b
i
l
i
t
y

i
s

n
o
t

c
r
u
c
i
a
l

S
y
s
t
e
m

c
a
n

b
e

s
p
i
l
t

i
n
t
o

s
e
v
e
r
a
l

i
n
d
e
p
e
n
d
e
n
t

m
o
d
u
l
e
s

T
h
e

p
r
o
d
u
c
t

i
s

a
i
m
e
d

a
t

a

h
i
g
h
l
y

s
p
e
c
i
a
l
i
z
e
d

I
S

m
a
r
k
e
t

W
h
e
n

d
o
e
s
n

t

i
t

w
o
r
k

w
e
l
l
?

W
h
e
n

r
e
q
u
i
r
e
m
e
n
t
s

a
r
e

w
e
l
l

f
o
r
m
e
d

a
n
d

e
n
v
i
r
o
n
m
e
n
t

s
t
a
b
l
e

O
t
h
e
r

u
n
k
n
o
w
n

p
l
a
t
f
o
r
m
s

W
h
e
n

t
h
e

c
o
m
p
o
n
e
n
t
s

d
o
n

t

f
i
t

i
n
t
o

t
h
e

r
e
q
u
i
r
e
m
e
n
t
s

o
f

t
h
e

s
y
s
t
e
m

a
n
d

c
o
m
p
o
n
e
n
t
s

n
e
e
d

t
o

b
e

r
e
d
e
v
e
l
o
p
e
d

a
n
d

c
u
s
t
o
m
i
z
e
d

-

t
h
u
s

m
o
r
e

c
o
s
t

w
i
l
l

b
e

i
n
c
u
r
r
e
d




O
b
j
e
c
t
-
O
r
i
e
n
t
e
d

(
O
O
)

d
e
v
e
l
o
p
m
e
n
t

m
e
t
h
o
d
s

I
n
f
o
r
m
a
t
i
o
n

E
n
g
i
n
e
e
r
i
n
g

S
t
r
u
c
t
u
r
e
d

m
e
t
h
o
d
s

S
S
A
D
M


M
a
i
n

C
h
a
r
a
c
t
e
r
i
s
t
i
c
s

O
O

d
e
v
e
l
o
p
m
e
n
t

i
n
v
o
l
v
e
s
:

U
s
i
n
g

a
n

O
O

a
p
p
r
o
a
c
h

t
o

s
y
s
t
e
m

a
n
a
l
y
s
i
s

U
s
i
n
g

a
n

O
O

a
p
p
r
o
a
c
h

t
o

s
y
s
t
e
m

d
e
s
i
g
n

U
s
i
n
g

a
n

O
O

a
p
p
r
o
a
c
h

t
o

p
r
o
g
r
a
m
m
i
n
g

S
y
s
t
e
m

i
s

d
e
f
i
n
e
d

a
s

a

c
o
l
l
e
c
t
i
o
n

o
f

o
b
j
e
c
t
s

t
h
a
t

w
o
r
k

t
o
g
e
t
h
e
r

t
o

a
c
c
o
m
p
l
i
s
h

t
a
s
k
s

I
t

s

m
o
d
e
l
-
d
r
i
v
e
n

a
n
d

d
a
t
a
-
c
e
n
t
e
r
e
d

b
u
t

a

p
r
o
c
e
s
s
-
s
e
n
s
i
t
i
v
e

t
e
c
h
n
i
q
u
e

I
n
f
o
r
m
a
t
i
o
n

E
n
g
i
n
e
e
r
i
n
g

c
o
n
t
i
n
u
e
s

w
i
t
h

t
h
e

d
a
t
a

a
n
d

p
r
o
c
e
s
s

m
o
d
e
l
s

a
s

t
h
e

p
r
i
m
a
r
y

m
e
c
h
a
n
i
s
m
s

u
s
e
d

t
o

c
o
m
m
u
n
i
c
a
t
e

i
n
f
o
r
m
a
t
i
o
n

s
y
s
t
e
m

r
e
q
u
i
r
e
m
e
n
t
s

a
n
d

d
e
s
i
g
n

c
o
n
c
e
p
t
s

b
e
t
w
e
e
n

u
s
e
r
s

a
n
d

d
e
v
e
l
o
p
e
r
s

U
s
e
r

i
n
v
o
l
v
e
m
e
n
t
.

S
e
p
a
r
a
t
i
o
n

o
f

l
o
g
i
c
a
l

a
n
d

p
h
y
s
i
c
a
l

E
m
p
h
a
s
i
s

o
n

d
a
t
a

D
i
a
g
r
a
m
m
a
t
i
c

d
o
c
u
m
e
n
t
a
t
i
o
n

D
e
f
i
n
e
d

s
t
r
u
c
t
u
r
e

O
n
l
y

c
o
v
e
r

a
n
a
l
y
s
i
s

a
n
d

d
e
s
i
g
n

p
h
a
s
e
s

I
n
c
l
u
d
e

a

s
e
t

o
f

m
o
d
e
l
i
n
g

t
e
c
h
n
i
q
u
e
s

D
e
f
a
u
l
t

s
t
r
u
c
t
u
r
e
d

m
o
d
e
l

w
i
t
h

5

m
o
d
u
l
e
s


2
5





O
b
j
e
c
t
-
O
r
i
e
n
t
e
d

(
O
O
)

d
e
v
e
l
o
p
m
e
n
t

m
e
t
h
o
d
s

I
n
f
o
r
m
a
t
i
o
n

E
n
g
i
n
e
e
r
i
n
g

S
t
r
u
c
t
u
r
e
d

m
e
t
h
o
d
s

S
S
A
D
M


A
d
v
a
n
t
a
g
e
s

P
r
o
d
u
c
t
i
v
i
t
y
:

O
b
j
e
c
t
-
o
r
i
e
n
t
e
d

m
e
t
h
o
d
o
l
o
g
y

c
a
n

i
n
c
r
e
a
s
e

t
h
e

p
r
o
d
u
c
t
i
v
i
t
y

o
f

t
h
e

p
r
o
j
e
c
t

t
e
a
m

a
n
d

c
a
n

r
e
d
u
c
e

t
h
e

p
r
o
j
e
c
t

s
c
h
e
d
u
l
e

a
s

m
u
c
h

a
s

a
n

o
r
d
e
r

o
f

m
a
g
n
i
t
u
d
e

d
u
e

t
o

t
h
e

i
n
t
r
i
n
s
i
c

p
o
w
e
r


o
f

t
h
e

o
b
j
e
c
t

o
r
i
e
n
t
e
d

p
r
o
g
r
a
m
m
i
n
g

l
a
n
g
u
a
g
e
s

a
n
d

r
e
u
s
e

o
f

c
l
a
s
s
e
s

a
n
d

o
b
j
e
c
t
s

R
a
p
i
d

d
e
v
e
l
o
p
m
e
n
t
:

R
e
u
s
a
b
i
l
i
t
y

P
r
o
t
o
t
y
p
i
n
g

Q
u
a
l
i
t
y
:

A
b
s
e
n
c
e

o
f

d
e
f
e
c
t
s

b
e
t
t
e
r

i
n

o
b
j
e
c
t
-
o
r
i
e
n
t
e
d

m
e
t
h
o
d
o
l
o
g
y

(
e
.
g
.

r
e
u
s
e

a
n
d

e
n
c
a
p
s
u
l
a
t
i
o
n
)

M
a
i
n
t
a
i
n
a
b
i
l
i
t
y
:

G
r
e
a
t
e
r

i
n

o
b
j
e
c
t
-
o
r
i
e
n
t
e
d

m
e
t
h
o
d
o
l
o
g
y

(
d
u
e

t
o

e
n
c
a
p
s
u
l
a
t
i
o
n
)


t
h
a
n

i
n

c
o
n
v
e
n
t
i
o
n
a
l

a
r
c
h
i
t
e
c
t
u
r
e
s

b
a
s
e
d

o
n

h
i
e
r
a
r
c
h
y

o
f

f
u
n
c
t
i
o
n
s

I
n
f
o
r
m
a
t
i
o
n

E
n
g
i
n
e
e
r
i
n
g

a
t
t
e
m
p
t
s

t
o

u
s
e

i
t

s

t
e
c
h
n
i
q
u
e
s

o
n

t
h
e

o
r
g
a
n
i
z
a
t
i
o
n

a
s

a

w
h
o
l
e
,

m
o
d
e
l
i
n
g

t
h
e

o
r
g
a
n
i
z
a
t
i
o
n

s

e
n
t
i
r
e

d
a
t
a

r
e
q
u
i
r
e
m
e
n
t
s

I
n
f
o
r
m
a
t
i
o
n

E
n
g
i
n
e
e
r
i
n
g

f
o
c
u
s
e
s

p
r
i
m
a
r
i
l
y

o
n

t
h
e

d
a
t
a

b
u
i
l
d
i
n
g

b
l
o
c
k
s

F
o
c
u
s

o
n

u
s
e
r
s


G
i
v
e

a

c
o
n
s
i
s
t
e
n
t

a
n
d

c
o
m
p
l
e
t
e

a
p
p
r
o
a
c
h

t
o

t
h
e

w
o
r
k

G
i
v
e

a
n

a
c
c
u
r
a
t
e

a
n
d

c
o
m
p
l
e
t
e

p
i
c
t
u
r
e

o
f

t
h
e

s
y
s
t
e
m

D
i
s
a
d
v
a
n
t
a
g
e
s

I
d
e
n
t
i
f
y
i
n
g

c
l
a
s
s
e
s

F
u
z
z
y

b
o
u
n
d
a
r
i
e
s

b
e
t
w
e
e
n

d
e
s
i
g
n

a
n
a
l
y
s
i
s

a
n
d

i
m
p
l
e
m
e
n
t
a
t
i
o
n

T
o
o

e
x
p
e
n
s
i
v
e

t
o

s
e
t

u
p

b
e
c
a
u
s
e

i
t

h
a
s

t
o

b
e

u
s
e
d

o
n

a
n

e
n
t
e
r
p
r
i
s
e
-
w
i
d
e

b
a
s
i
s

B
u
s
i
n
e
s
s

r
e
q
u
i
r
e
m
e
n
t
s

c
h
a
n
g
e

t
o
o

f
a
s
t

t
o

m
a
k
e

I
n
f
o
r
m
a
t
i
o
n

E
n
g
i
n
e
e
r
i
n
g

a
p
p
r
o
a
c
h

e
f
f
e
c
t
i
v
e

I
n
c
r
e
a
s
e
d

l
e
v
e
l

o
f

d
o
c
u
m
e
n
t
a
t
i
o
n

T
r
a
i
n
i
n
g

o
f

u
s
e
r
s

a
n
d

a
n
a
l
y
s
t
s

n
e
c
e
s
s
a
r
y

t
o

u
n
d
e
r
s
t
a
n
d

d
o
c
u
m
e
n
t
a
t
i
o
n

L
o
n
g

u
s
e
r

s

t
i
m
e

r
e
q
u
i
r
e
d

O
v
e
r

p
r
e
s
c
r
i
p
t
i
v
e

a
n
d

b
u
r
e
a
u
c
r
a
t
i
c

H
o
w

d
o
e
s

i
t

f
i
t

w
i
t
h

p
r
o
j
e
c
t

m
a
n
a
g
e
m
e
n
t
?

I
t

h
e
l
p
s

t
h
e

p
r
o
j
e
c
t

m
a
n
a
g
e
r

c
o
-
o
r
d
i
n
a
t
e

p
r
o
c
e
s
s
e
s


D
e
t
a
i
l
e
d

d
e
f
i
n
i
t
i
o
n

i
n

e
a
c
h

p
h
a
s
e



P
r
o
j
e
c
t

i
s

c
o
m
p
r
e
h
e
n
s
i
v
e
l
y

s
u
p
p
o
r
t
e
d
.

D
o
e
s

n
o
t

f
i
t

w
e
l
l

w
i
t
h

P
M

s
i
n
c
e

m
a
n
a
g
i
n
g

u
s
e
r
s

i
s

a
n

i
n
t
e
g
r
a
l

p
a
r
t

o
f

t
h
e

p
r
o
c
e
s
s

a
n
d

i
s

v
e
r
y

c
o
m
p
l
e
x

C
a
n

f
i
t

w
e
l
l

s
i
n
c
e

i
t

h
a
s

l
i
n
k
s

t
o

P
R
I
N
C
E

m
e
t
h
o
d
o
l
o
g
y

W
h
e
n

d
o
e
s

i
t

w
o
r
k

b
e
s
t
?

R
a
p
i
d

d
e
v
e
l
o
p
m
e
n
t

R
e
u
s
a
b
i
l
i
t
y

P
r
o
t
o
t
y
p
i
n
g

W
h
e
n

i
n
t
r
o
d
u
c
e
d

t
o

a
n

e
n
v
i
r
o
n
m
e
n
t

w
h
e
r
e

i
n
t
e
n
s
i
v
e

u
s
e

i
s

n
o
t

c
u
r
r
e
n
t
l
y

m
a
d
e

o
f

I
S

W
h
e
n

u
s
e
r

i
n
v
o
l
v
e
m
e
n
t

i
s

r
e
q
u
i
r
e
d

e
.
g
.
,

u
s
e
r

c
e
n
t
e
r
e
d

d
e
s
i
g
n

F
o
r

g
r
o
u
p

p
r
o
j
e
c
t

W
h
e
n

d
o
e
s
n

t

i
t

w
o
r
k

w
e
l
l
?

F
u
z
z
y

b
o
u
n
d
a
r
i
e
s

b
e
t
w
e
e
n

d
e
s
i
g
n
,

a
n
d

b
o
t
h

a
n
a
l
y
s
i
s

a
n
d

i
m
p
l
e
m
e
n
t
a
t
i
o
n

W
h
e
n

r
a
n
g
e

o
f

c
u
r
r
e
n
t

a
n
d

d
i
s
p
a
r
a
t
e

c
o
m
p
u
t
e
r

s
y
s
t
e
m
s

h
a
v
e

t
o

b
e

c
o
n
s
i
d
e
r
e
d

W
h
e
n

u
s
e
r
s

a
n
d

d
e
v
e
l
o
p
e
r
s

a
r
e

n
o
t

t
r
a
i
n
e
d

a
n
d

e
x
p
e
r
i
e
n
c
e
d

F
o
r

i
n
d
i
v
i
d
u
a
l

p
r
o
j
e
c
t


m
u
s
t

u
s
e

S
S
A
D
M
4

26 INF308J/102

5. SECTION 2

Software Project activity planning and risk management

This section of the tutorial letter deals with the work covered in Assignment 02, namely Chapters 6
and 7 of Hughes and Cotterell. Amongst other things, we will study the importance of activity planning
in software project management and focus on the important impact that risk may have on software
projects, as well as learn how to identify and manage risk. Each of the 2 units in this section
corresponds to a chapter in Hughes and Cotterell: for example, Unit 5 corresponds to Chapter 6 and
Unit 6 corresponds to Chapter 7. Study this section of the work carefully and then complete
Assignment 02 and hand it in on or before 3 June 2010.

5.1 Unit 5: Activity planning

Chapter 6 of the textbook, which corresponds to this unit, deals with software project activity planning.
Study Chapter 6 of the textbook.

Unit 5 objectives:

The aim of Chapter 6 of the textbook is to introduce the following concepts:

the objectives of activity planning;
when to plan;
project schedules;
sequencing and scheduling;
network planning models including:
o formulation of network models,
o precedence networks,
o lagged and hammock activities,
o time dimensions,
o forward and backward pass, and
o critical path identification;
activity float;
shortening project duration;
identification of critical activities; and
activity-on-arrow networks.

Unit 5 outcomes:

After studying chapter 6 of the textbook, you should be able to:

produce an activity plan for a project;
estimate the overall duration of a project; and
create a critical path and a precedence network for a project.

In this chapter the use of the critical path method and precedence networks are discussed as methods
to obtain an ideal activity plan. This is an important part of the software project management process
and you must study it in detail and ensure that you understand, and can apply, the techniques as
discussed in Chapter 6. The network planning model is explained in detail in the textbook, utilising the
two case studies. We include another example for you to study.

27 INF308J/102


5.1.1 Example 1: Drawing a CPM Diagram

Consider the list of tasks with dependencies and estimated durations (in weeks) in the table below:

Task Precedents Duration (weeks)
A None 1
B A 2
C B 2
D A 5
E C, D 5
F E 2
G A 4
H G 4
I F, H 1
J D, I 2

Sample Table in Unit 5

1. Draw a CPM network for the list of tasks in the table below to illustrate the interaction of
activities.
2. Identify the critical path and its duration.
3. After carefully considering the problem again, the project team decides that an alternative to the
original plan would be to extend the duration of activity C to four weeks. This would allow
activity E to drop to three weeks. Identify what the resulting critical activities are. Do these
changes affect the total duration of the project?

A few aspects to bear in mind when drawing a CPM network:

make sure that you understand and can apply the rules on pages 140 to 144 of the textbook;
the forward pass calculates the earliest date each event may start and the earliest date on which it
may be completed;
the backward pass calculates the latest date when each event may be started and the latest date
when it can be achieved or finished;
event dates are recorded on the diagram and activity dates on the activity table.

In this example both processes D and C have to be finished and serve as input to process E, but
process D and I also serve as input to process J. Thus a dummy activity was created, namely process
4a, to illustrate the duality.

1. The diagram is given below:

28 INF308J/102


A=1
D=5
B=2
C=2
G=4
H=4
E=5
F=2
I=1
J=2
1
1
1
1
0
0 0
0
0
0
0
0
0
2 3
3 4
4
4
4a
6 6
6 6
0
5
5
9
6 7
11 11
13 13
14 14
8
9
16 16
Figure 9: CPM diagram for Example 1


2. In order to determine the critical path, we first of all list all of the different paths:

path 1 A, D, E, F, I, J = 16 weeks
path 2 A, B, C, E, F, I, J = 15 weeks
path 3 A, G, H, I, J = 12 weeks
path 4 A, D, J = 8 weeks

Path 1 is thus the critical path.

3. Path 1 drops to 14 weeks and path 2 to15 weeks. Now the critical path will be path 2: A, B, C,
E, F, I, J. The minimum duration drops to 15 weeks.


5.1.2 Example 2: Converting a CPM Diagram into Precedence Network Diagram

Once you have drawn the CPM diagram:

1. Replace the 1
st
event or node of the CPM with a Start node (they are equal)
2. Replace every activity on the CPM with a precedence diagram node
3. Replace the last event or node on the CPM diagram with a Finish node (they are equal)
4. Do the forward pass
5. Do the backward pass

29 INF308J/102


See the following diagram:


5.1.3 Example 3: How to draw a Precedence network diagram

Consider the following activities:

Task Precedents Duration

A None 6
B None 7
C None 28
D B 7
E A 6
F A 9
G D,E 5
H F,G 8

Step1 Draw diagram

You start by finding all activities that have no precedents, in other words the tasks that can start
immediately.
In this case it is activities A, B and C.
Also indicate the activity duration which is given in above table.

30 INF308J/102



Next find all activities which are dependent on A, B or C and draw them on your diagram.
In this case D is dependent on B and both E and F are dependent on A.

6
A
28
C
Start
7
B
9
F
6
E
7
D


Repeat this process for the rest of the activities.
Up to this point all the information indicated on the diagram has been given to you - that is the
activity name and duration.
Now you are ready to do the forward pass

Step2- Forward Pass

A, B and C can start as soon as the project kicks-off, so their earliest start is week 0.
Fill this on your diagram.

The earliest finish is then simply the earliest start + activity duration.
A = 0+6 = 6
B = 0+7 = 7
C = 0+28 = 28
31 INF308J/102



6 6 0
A
28 28 0
C
Start
7 7 0
B

Now activities E and F can only start once activity A is completed, so the earliest start for both E
and F is 6
Once again you find their earliest finish by adding their earliest start to their duration.
E = 6+6 = 12
F = 9+6 = 15


After completing the same exercise for D ( which is dependent on B) D will look as follows:


G is dependent on both D and E, so G cannot start until both D and E have been completed.
From the information thus far on the diagram, you can see that the earliest completion date for E is
week 12 and for D it is week 14.
Activity G will there for have to wait until week 14 (when both E and D is completed) before it can
start.


Repeat this process for the rest of the activities.
Before you do backward pass, you first need to identify the critical path(s)


32 INF308J/102


Step3 Identify the critical path


First you determine all possible paths. You do this by starting at the START node and following the
links to the FINISH node without moving backwards in the diagram at anytime.

Path 1 A-F-H
Path 2 A-E-G-H
Path 3 B-D-G-H
Path 4 C

You then add the individual activities durations to calculate the total path duration.
1. A-F-H = 6+9+8 = 23
2. A-E-G-H = 6+6+5+8 = 25
3. B-D-G-H = 7+7+5+8 = 27
4. C = 28

The critical path is the path with the longest duration, in this case path 4 which consists of only 1
activity C
Now you are ready for the backward pass.

Step 4 Backward Pass

Having completed the forward pass, your diagram should now look like this:

6 6 0
A
28 28 0
C
Start
7 7 0
B
9 15 6
F
6 12 6
E
7 14 7
D
5 19 14
G
8 27 19
H
Finish

We have also established that C is our critical path and has a duration of 28 weeks
This means the latest finish date of all nodes linked directly to the finish node should be 28 in order
not to delay completion of the project
Fill in 28 as the latest finish for nodes C and H so that it looks like this:
33 INF308J/102




From this point it is quite simple to calculate the latest start for an activity by simply subtracting the
activitys duration from the activitys latest finish.
For C: 28 28 = 0
For H: 28 8 = 20


You have now calculated the latest start date for activity H as week 20.
Since H is dependent on activities F and G it means that both F and G must be completed at the
latest in week 20.
Fill in 20 as the latest finish date for F and G as follows:


Then calculate the latest start date for these activities by subtracting their duration from their latest
finish date
F = 20 9 = 11
G = 20 5 = 15



Repeat this process for the other activities.

Step 5 Calculate the activity slack

Slack = Latest finish Earliest finish e.g. for F it would be 20 15 = 5
Slack can also be calculated by:
Latest start Earliest start
11 6 = 5

Repeat for all nodes

Diagram Complete!!

34 INF308J/102





5.2 Unit 6: Risk management

The chapter in the textbook that corresponds to this unit deals with the very important topic of risk
identification and management when confronted with the development of software projects. Study
Chapter 7 in the textbook carefully and ensure that you understand, and can apply, the different topics
introduced.

Unit 6 objectives:

The aim of Chapter 7 of the textbook is to introduce the following concepts:

the nature of risk;
types of risk;
management of risk;
identification of risk;
analysis of risk;
reducing risk by means of planning and control;
evaluating risk to project schedules; and
calculating Z values.

Unit 6 outcomes:

After studying Chapter 7 of the textbook, you will be able to:

identify the factors putting a project at risk;
categorise and prioritise action for risk elimination or containment; and
quantify the likely effects of risk on project time-scales.

One method that is mentioned in this section is the PERT method. The difference between the CPM
and the PERT methods is that the CPM uses a single estimate for the duration of each task, whereas
the PERT method uses 3 estimates. These 3 estimates include:

Optimistic (a)
Most Likely (m)
Pessimistic (b)

These 3 estimates are combined to calculate the te values. The formula is depicted below:
35 INF308J/102


te = a + 4m + b
6


After the te values are calculated, the standard deviation(s) can be calculated using the following
formula:

s = b - a
6


The next step is to calculate the z value. The formula to calculate the z value is depicted below:
z = T - te
s


Remember that the T value is the target date of the specific project and the z value is calculated on
the last activity.

Consider the following example:

In the table below the optimistic, most likely and pessimistic values are shown. The table also
indicates the expected and standard deviation. The Target date is 17.

Optimistic
(a)
Most Likely
(m)
Pessimistic
(b)
Expected
(te)
Standard Deviation
(s)
A 2 3 4 3 0.3
B 5 6 8 6.2 0.5
C 3 4 5 4 0.3
D 1 3 4 2.8 0.5
E 2 2 3 2.2 0.2
F 1 3 5 3 0.7
G 2 4 5 3.8 0.5

The te and s values are indicated in the figure below.

36 INF308J/102




Calculating the s value of activity 4.

Path B+D: (0.5) = 0.7 + (0.5)

and Path A+C: (0.3) + (0.3) = 0 4 .


Path B+D has the greater answer. Therefore the s value of activity 4 is 0.7.

Calculating the s value of activity 5.

Path (B+D) + E = (0.7) = 0.7 + (0.2) and Path F = 0.7 (from the table).
The answers are equal, therefore the s value of activity 5 is 0.7.

Calculating the z value:

z = 17 - 15 / 0.9 = 2.2

According to Figure 7.8 on page 181 of the textbook, the probability of not meeting the target date is
less than 10 %.


6. SECTION 3

Software Project resources, monitoring, control and estimation

This section of the tutorial letter deals with the work covered in Assignment 03, namely Chapters 8, 9
and 5 of Hughes and Cotterell. A topic of importance in software project management is how to
identify resource requirements and the subsequent allocation of resources to different tasks. We will
also study effective ways of monitoring and controlling software projects. Lastly we consider the
importance of accurate estimation of the costs involved in developing software projects. Most
software projects are very expensive to develop, and any organisation undertaking the development of
a software system should, in the light of the many failed expensive software systems, undertake to
minimise potential losses. Software effort estimation plays an important role in assisting an
organisation to decide whether or not to proceed with the development of a software project. You will
be introduced to different software estimation techniques such as function and object point analysis,
procedural code and COCOMO, to name but a few. Each of the 3 units in this section corresponds to
a chapter in Hughes and Cotterell. For example, Unit 7 corresponds to Chapter 8, Unit 8 corresponds
37 INF308J/102


to Chapter 9 and Unit 9 corresponds to Chapter 5. Study this section of the work carefully, complete
Assignment 03 and hand it in on or before 17 July 2010.

6.1 Unit 7: Resource allocation

During the development phase of a project, the need will arise for various types of resources at
different times. Ensuring the timely delivery of these resources to the project development team is of
great importance, as late delivery will most probably mean that the project development will fall behind
schedule. Study Chapter 8 of the textbook, which deals with resource allocation.

Unit 7 objectives:

The aim of Chapter 8 of the textbook is to introduce the following concepts:

the nature of resources;
identification of resource requirements;
scheduling of resources including:
o creation of critical paths, and
o counting cost;
being specific;
publishing the resource schedule;
cost schedules; and
the scheduling sequence.

Unit 7 outcomes:

After studying Chapter 8 of the textbook, you should be able to:

identify the resources required for a project;
ensure that the demand for resources is more evenly distributed throughout the life of a
project; and
produce a work plan and resource schedule.

Consider the following example on cost and resources:

The third month of a seven-month project has just been completed and actual figures (in person-
months) are given in the table below:

Month Budgeted effort Value completed Actual effort
1 11 5 7
2 15 7 8
3 20 11 12
4 20
5 16
6 13
7 5

1. What percentage of work should be completed at this stage, according to the original plan?
38 INF308J/102


2. What percentage of work is actually complete?
3. What percentage of the total budget has been expended?
4. What do these figures tell us about the project?

Solutions to this example:

1. Total budget 100
Budget months 1 to 3 46
Estimated % complete (46 / 100 * 100) 46

2. Total budget 100
Value completed months 1 to 3 23
Estimated % complete (23 / 100 * 100) 23

3. Total budget 100
Actual effort months 1 to 3 27
Estimated % complete (27 / 100 * 100) 27


4. The project is late with regard to completion: 23% actually completed ( = value completed
during month 1 to month 3 = 5+7+11 = 23) versus 46% planned completion ( = budgeted effort
= 11+15+20 = 46).

Estimating 15% low: 23% of the work is actually complete (refer q.2) and 27% of the budget
has been spent (refer q.3). Not too much has been overspent, i.e. the budget was estimated
(27-23)/27 * 100% = 4/27 * 100% = 15%.

Resource allocation seems to be the main culprit: 27% actually spent versus 46% planned.
Seeing that the budget has only been underestimated by 15%, it doesn't seem to be a
problem. The only other alternative to the work being so far behind schedule is that resources
are a problem. (for example, too few staff, incompetent staff, incorrectly allocated staff, etc.).

Insufficient resources have had a much greater impact than under-estimating.


6.2 Unit 8: Monitoring and Control

Chapter 9 of the textbook, which corresponds to this unit, deals with monitoring and control of a
project, as well as change requests. Study Chapter 9 of the textbook.

Unit 8 objectives:

The aim of Chapter 9 of the textbook is to introduce the following concepts:

creation of a framework;
collection of data;
visualising progress;
cost monitoring including:
o earned value, and
o prioritisation;
getting the project back on target; and
change control.

39 INF308J/102


Unit 8 outcomes:

After studying Chapter 9 of the textbook, you should be able to:

monitor the progress of projects;
assess the risk of slippage;
visualise and assess the state of a project;
revise targets to correct or counteract drift; and
control changes to a projects requirements.

Example:

Consider a six-person project that has been running for 15 months. The original estimate for the
duration of the project was 18 months and for the first 12 months it kept to schedule. However, three
months ago Amanda, the project manager, left the company and the project is now about two months
behind schedule. (All other team members have been with the project since it started.) The company
management told the new project manager, Peter that two graduates will be joining the company
directly from university in one weeks time and he could use them on this project to help get it back on
schedule, if he wanted to do so.

1. What are the various factors Peter should bear in mind while considering this offer?

2. In terms of completing the project as soon as possible, what should Peter do?

Solution to example:

What should Peter bear in mind?

1. More often than not adding people to a late project has the potential to make it later. This is
caused mainly by learning time (specific system and technology used) and the increased
communication overhead.

2. Is the team divided into subteams to start with? If it is a single team, six people already
constitute quite a large team and two more will likely make the communication overhead worse
unless the team can be divided into clearly identifiable and contained subprojects.

3. Consider the answer to the following question: Is the work technically complex, or are there
sections where the new graduates can perform with little technical training, with little knowledge
of the rest of the system, and that existing team members do not depend on in order to complete
their work? If the answer to this question is yes, the addition of the two graduates may offer
some potential for getting the project back on track. A no answer, however, may mean that the
two new team members may have little or no impact on the effort to try and get the project back
on track, and the project manager will have to consider the deployment of the two new team
members carefully.

4. Peter should also consider whether the delivery date of this project is critical, and to what extent,
or even whether it will be possible that a further delay be tolerated in order to provide a training
opportunity for the new graduates.

What should Peter do?

1. Use new graduates only with favourable responses to the above.

2. Support the existing team as far as possible by:
minimising interruptions,
40 INF308J/102


if not too late already, provide necessary tools that the team may believe to be beneficial,
and
boost morale.


6.3 Unit 9: Software effort estimation

This unit deals with the very important topic of software effort estimation, and you will be introduced to
various software estimation techniques. Study Chapter 5 in the textbook carefully and ensure that you
understand, and can apply, the different techniques.

Unit 9 objectives:

The aim of Chapter 5 of the textbook is to introduce the following concepts:

when and where software estimation is done;
problems with estimation with reference to over- and under-estimation;
the basis for software estimation; and
software estimation techniques including:
o expert judgement,
o analogy,
o function points (Albrecht and Mark II analysis),
o object points,
o procedural code, and
o COCOMO.

Unit 9 outcomes:

After studying Chapter 5 of the textbook, you should be able to:

avoid the dangers of unrealistic estimates;
understand the range of estimating methods that can be used;
estimate projects using a bottom-up approach;
count the function points and object points for a system;
estimate the effort required to implement software using a procedural programming language;
and
understand the COCOMO approach to develop effort models.

Extra reading material:

The function point methodology is not explained clearly in the textbook. We include additional notes
on function points and some examples in the remainder of Unit 9.

Hughes and Cotterel describe two function point methodologies. The first is the International FP User
Group (IFPUG) methodology. This methodology superseded the original Allan Albrecht Function Point
methodology. The second is the Mark II function point methodology, which is often referred to as an
alternative to the IFPUG methodology.

41 INF308J/102


Function Point Methodology:

Purpose of function point analysis:

* It determines the size of the software application or project in order to estimate the time and effort
required to complete it.
* It measures productivity in function points per staff or calendar month.
* It estimates the cost of changing systems.
* It evaluates support requirements.
* It monitors outsourcing agreements.
* It normalises the comparison of software modules.

Determining the function point count:

In order to accomplish the purpose of the function point methodology above, Garmus D, & Herron D,
[2]; suggest the following steps to size function points:

1. Determine the type of function point count. Is it a new development, an enhancement, or an
existing application that has to be counted?
2. Identify the counting scope and application boundaries.
3. Identify all:
3.1 IFPUG - Data functions (internal logical files and external interface files) and their
complexity;
3.2 Mark II - Logical Transactions (LT).
4. Identify all -
4.1 IFPUG - External user types also referred to as transactional functions (external input,
external output, and external inquiries) and their complexity.
4.2 Mark II - Functional size of each input, output & process transaction associated with
each LT.
4. Determine the unadjusted function point count.
5. Determine the value adjustment factor.
6. Calculate the value adjustment factor.

These seven steps can be loosely grouped into two distinct phases: steps 1 to 5 focus on the
counting of a project or applications function points, whereas steps 6 and 7 adjust the value of these
function points. We will limit the discussion below to steps 2 to 5 in order to illustrate the application of
both methodologies.

Application of steps 2 to 5 in the IFPUG function point methodology:

Step 2 - Determine the project or application boundary:

The project or application boundary identifies the border between the application being measured, the
users and the external applications. In IFPUG, the boundary is based on the scope of the project as
seen by the user. Garmus & Herron [2] recommend that boundaries should not be established at the
individual software program level, but at a higher application level such as system level.

Steps 3 and 4

The IFPUG 4.0 methodology analyses software requirements or user functionality relative to five
component types, two of which are data-related and the remaining three are transaction-related.

42 INF308J/102


Step 3 - Identify the data-related components:

* IFPUG makes use of two data-related components. The classification of the data into Internal
Logical files (ILF) or External Interface files (EIF) depends on whether the maintenance of the files
(or database) falls within the project or application boundary or outside the boundary.
* From the above it is clear that EIF and ILF are mutually exclusive, contrary to the information
contained in the textbook. Refer to page 114. A file can therefore not be classified as both an ILF
and an EIF.

Internal Logical File types (ILF) -
* An internal logical file type (ILF) is a group of logically related data elements maintained within the
boundary of the application. The primary intent of the ILF is to hold data maintained through one
or more elementary processes of the application being counted. [2]
* Each file or database can consist of subgroups referred to as record types. If different processing
logic is required for each record type, the record types are counted separately.
* The complexity of the file is determined by assigning each file a functional complexity of low,
average or high; based on the number of data element types and record element types associated
with the ILF according to Table 5.3 on page 115 of the textbook.

External Interface File types (EIF) -
* IFPUG defines an external interface file type (EIF) as a group of logically related data elements
referenced by the application but maintained within the boundary of a different application. The
purpose of the EIF is to hold data referenced through one or more elementary processes within
the boundary of the application counted. An EIF for an application must be an ILF in another
application. [2]
* The complexity of the EIF file is determined by assigning each file a functional complexity of low,
average or high; based on the number of data element types and record element types associated
with that EIF according to Table 5.3 on page 115 of the textbook.

Step 4 - Determine the transactional functions:

External Input transactions (EI) -
* An EI is a user-generated input transaction that:
- Enters from outside the project boundary.
- Processes data or systems control information.
- Maintains one or more ILFs and/or changes the behaviour of the system.
* The following table is used to determine the complexity rating of the EI based on the number of
data types and number of file types (ILF and EIF) accessed by the EI.



External Output transactions (EO) -
* An EO is an:
- elementary process of the application that generates data or control information that exits the
boundary of the application.
- The primary intent of an EO is to present information to a user through the retrieval of data or
control information from an ILF or EIF.
- The processing logic must contain at least one mathematical formula or calculation, create
derived data, maintain one or more ILF's, or alter the behaviour of the system. [2]
* The number of data and file types referenced determine the complexity of an EO. Refer to
Table 5.5 (see below).

External Inquiry (EQ) -
* An External Inquiry (EQ):
- Consists of an input/output pair that crosses the boundary.
- Results in retrieval of data or control information that is sent outside the application boundary.
43 INF308J/102


- The primary intent is to present information to a user through the retrieval of data or control
information from an ILF or EIF.
- The processing logic contains no mathematical formulas or calculations and creates no derived
data. No ILF is maintained during processing, and the behaviour of the application is not
altered. [2]
* The classification of transactions as EI and EO or EQ is mutually exclusive.
* The complexity of an EQ is determined by establishing a complexity rating for both the input and
output part of the enquiry separately as per Table 5.4 and 5.5 (see below). The higher complexity
rating is chosen as the complexity score for the EQ.



Step 5 - Determine the unadjusted function point count:

* Based on the complexity rating derived for the five component types, Table 5.2 on page 115 of the
textbook is referenced to determine the function point score for each component or external user
type.
* The function points are summed to give the total IFPUG unadjusted function point count for the
project or application being sized.

Application of steps 2 to 5 in the Mark II function point methodology

The Mark II (Mk II) methodology assumes a model of software where all user requirements are
expressed in terms of Logical Transactions (LT). Each LT comprises an input, some processing and
an output component. An LT is triggered by an event outside the systems boundary, such as a
request for information.

44 INF308J/102


Step 2 - Determine the project or application boundary:

* As with IFPUG, the boundary of the project or application must be established. The boundary
determines which logical transactions are to be included in the count, as well as the interfaces
required to link to LT outside the application boundary.

Step 3 - Identify the Logical Transactions (LT):

* Logical transactions are the smallest complete units of information processing that are meaningful
to the end user.
* As an example, Maintain Customer Details is not the lowest-level business process, but implies a
series of LT such as View an existing item, if Not Found add a new item, Change the viewed
item or Delete it, etc.
* Each LT consists of three components: input across an application boundary, processing involving
stored data within the boundary and output back across the boundary.
* Each LT must be self-contained and leave the application in a consistent state.

Step 4 - Identify and determine the functional size of the three components of each LT:

The processing component of the LT -
* The processing component of each LT is analysed by:
- referencing its manipulation (i.e. create, read, update, list or delete),
- stored data expressed logically as primary and primary entity subtypes in third normal form.
* A primary entity type is: One of the main entity-types which has the attributes that the application
has been designed to process and/or store. [5] Example: An Employee would be an entity type in
a Personnel system.
* The primary entity type may consist of primary entity subtypes. It is a subdivision of an entity type
which has all the attributes and relationships of its parent entity type, and may have additional
unique attributes and relationships i.e. the Employee entity may consist of Personal, Work
Experience and Job History detail with different processing rules. Subtypes are counted
separately, depending on the processing logic used. (Subtypes can roughly be compared to
IFPUG's record types.)
* The processing component of a LT is sized by counting the number of primary entity or sub-entity
types that are referenced by the LT.

Input and output components of LT -
* The input element consists of the retrieval and validation of incoming data, such as a request for
information or data input by the user.
* The output element consists of formatting and presentation of information to the user.
* The input and output components are sized by counting the number of data element types crossing
the application boundary (inside and outside).
* A data element type is a uniquely processed item of information that is indivisible for the purposes
of a LT being sized.

Step 5 - Determine the unadjusted function point count:

* The functional size of a LT is the weighted sum of the input, processing, and output components of
the LT.
* The industry standard weights are as follows: Wi=0.58, We=1.66 and Wo=0.26.
* The sum of all LT determines the Mark II FP count.

A comparison between Mark II and IFPUG function point methodologies-

General:

45 INF308J/102


1. IFPUG has a user base exceeding 1200 member companies in the USA. Mark II is mainly used in
Europe and the UK. Although Mark II had some advantages over the initial Albrecht FPA, IFPUG
has been enhanced to such an extent that the advantages have largely disappeared.

2. One aspect in which Mark II offers more refinements is in the area of Technical Complexity
Adjustment factors. Both techniques use similar approaches to adjust for qualitative requirements.
They also use a list of non-functional system characteristics which are evaluated on a scale from 0
(no influence) to 5 (high impact). IFPUG uses 14 factors whereas Mark II adds another five to
IFPUG's already existing 14, and also allows practitioners to add more to the list.

3. Both methodologies express functional requirements in terms of Base Logical Components (BLC).
Mark II uses a single type of BLC and expresses all functional requirements as a catalogue of LT.
IFPUG uses five BLC types namely EI, EO, EQ, ILF and EIF.

4. Both focus on logical business requirements.

5. Both define specific rules with regard to the boundary.

6. Both derive base counts, the difference being in how the counts are constructed (refer to the
previous sections). In Mark II, the base counts are used directly in the calculation of the functional
size index. In IFPUG the base counts are used to determine the complexity (high, medium or low)
of each BLC.

7. Weighting - in Mark II, three different weights are used which add up to 2.5, so as to correspond to
IFPUG function points. The weighing values have been calculated and are periodically validated,
from historical data of numerous projects in a number of large development organisations. These
values may be calibrated.

8. Weighting - in IFPUG FPA the weighting system is more complex due to the larger number of BLC
types. Owing to the classification used, IFPUG's weighting system has a distinct upper limit, which
has an impact on the calculation of FP for complex systems.

* Various differences in detail exist, i.e. the handling of error messages and control information.
These differences are not considered vital for our understanding of the concepts and are therefore
ignored.

A comparison between Mark II and IFPUG function point counting in particular:

When the Mark II weighting scale was first developed, the aim was to produce sizes, which
were comparable to those of the IFPUG FPA scale.

As a result of this pegging process, for the range of 200-400 IFPUG UFP (unadjusted function
points), the two scales should on average give the same size, once converted. If the IFPUG
raw data is available, an additional analysis is made to map the file types of IFPUG to entity
types and IFPUG's transaction types to Mark II's LT types. Based on this, the Mark II FP size
for the same software can be calculated.

The FP size relationship for larger applications requires more complex calculations [6].

Examples to illustrate IFPUG FPA and Mark II FPA:

The question discussed here is similar to Question 7 of the Additional Exercises given on page 115 of
the textbook.

Particular detail:

46 INF308J/102


A program in the College Time-Tabling system produces a report showing students who should
be attending each time-tabled teaching activity per semester. The report is produced by an on-
line request.

The following information is input:
o course code and
o semester number.

The request does not update files.

The report is printed on the local printer.

Information printed on the report includes:
o course code,
o course description,
o location,
o days of the week course is presented,
o time of course presentation,
o student numbers, and
o student names who have enrolled for the course.

No calculations are made for the report.

Information is extracted from the following files (data groups):


System


File

Record Types


Data Entity Types
Time-
tabling
system
Time-tabling file.
The file is wholly maintained
within the boundaries of the
Time-Tabling system (of which
the report forms part).
The file consists of 2 data
groups (record types): one
contains location data and the
other contains course data.
All the course information is
extracted from this file, i.e. location,
course code and description, days of
the week course is presented, time
and duration.
Student
system:
The Student detail file is
maintained fully by the Student
system and is read by the time-
tabling report.
The file consists of 3 data sets
(record types), i.e. general
student detail, course detail and
financial detail.
For the report, student number,
name, course code are extracted
from this file.

Questions:

Calculate the UFP using the IFPUG methodology. (Error messages can be ignored for
counting purposes.)

Convert the FP count into SLOC for a C system.

Calculate the cost to the University to produce the report, if the programmer who is responsible
for producing the report, is charged out at R 500 per day.

Calculate the UFP using the Mark II methodology. (Error messages can be ignored for
counting purposes.)




47 INF308J/102


Solution: Calculate the UFP using the IFPUG methodology.

Step

Analysis
Define the
boundary
The boundary of the report is the time-tabling system. All files updated within the
borders of the time-tabling system will be regarded as Internal Logical Files (ILF); all
other files will be regarded as External Interface Files (EIF).

Identify all
data
functions
ILF: The Time-Tabling file is an ILF. It lies within the boundary of the Time-Tabling
system and is maintained only by that system.
EIF: The Student details file is external to the time-tabling system as it is updated
solely by the student system. It is used in a read-only capacity by the report.

Identify all
transactional
functions
External Input - The request for the report is not an EI. To classify as an EI, the
request must update one or more ILF or change the behaviour of the system.
External Output - The report does not classify as an EO transaction. For an EO, it
must contain at least one mathematical formula or calculation, create derived data,
maintain one or more ILF, or change the behaviour of the system.
External Inquiry - The input and output parts of the report request comply with the
EQ rules. The primary intent of the input request is to produce a report without
updating any ILF. The report printed likewise does not update any ILF nor does it
perform any calculation or print any total.

Determine the
unadjusted
function point
count

Transaction
Name
Record/
File Types
Data
Types
Table Rating
Value -
Table 5.2
IFPUG
FP
ILF
Time
Tabling
2 Record
Types
6 5.3 low 7 7
EIF Student
3 Record
Types
3 5.3 low 5 5
EQ -Input Request
1 Time
Tabling
2 5.4 low Greater of
two ratings
selected:
'average'
4
EQ -Output Report
2 Time
Tabling &
Student
8 5.5 average
TOTAL:
16
IFPUG
FP

Solution: Converting the UFP to SLOC for a program written in C.

According to steps 6 & 7, technical complexity factors can be applied to the UFP before converting it
into SLOC. In our case, the unadjusted (raw) FP will be used. Depending on the programming
language used, the FP can be converted into SLOC. This is a measure of the size of the program or
system. The SLOC represents time and cost. For example, it may be possible for a Programmer to
write 100 SLOC per day. Using this, the Project Manager can calculate the cost of new or
enhancements to existing systems. According to page 103 of the textbook, 1 IFPUG FP translates to
128 C lines of code.

Therefore: 17 FP = 16*128 C LOC = 2048 C LOC

Solution: Calculate the cost to produce the report.

The SLOC must be converted into code per day. If the Programmer can write 100 tested LOC per
day, then: 2048 / 100 = 20.48 20.5 days to write the report.
Cost to the University: 20.5 days * R 500 per day = R 10 250.00



48 INF308J/102


Solution: FP calculation according to Mark II Function Point Methodology.

Step Analysis

Define the boundary
of the count.
As for IFPUG. Determining the boundary determines the logical transactions to be
included in the count, as well as any interfaces across the boundary.
Identify logical
transactions.
A LT consists of an input, output and process part. It is the lowest process supported
by the application. In our case, we are dealing with one LT, which will produce a
report with data from the Time-Tabling and Student entities. This is essentially a
LIST transaction in Mark II terms.
Identify and
categorise the data
and entity types.
Mark II refers to entity types in third normal form. Each occurrence of such an entity
type must be counted.
The Student file consists of 3 data entity types and the Time-Tabling file of 2 data
entity types.
Identify the input and
output components of
LT.
The input transaction consists of an inquiry, containing two data element types.
The output transaction consists of the report, containing 8 data element types. (The
error message is ignored in this Question).
Calculate the logical
transaction size in
Mark II function
points.
Type:
Input
Process
Output

Total
Entity Types:
2 data
3 + 2
8 data
Mark II Weight:
0.58
1.66
0.26
Mark II FP:
1.16
8.30
2.08

11.54

Latest Developments on the FP Front.

Modern IT practitioners may think that these productivity methodologies are more at home in a
traditional third-generation environment. However, some of the latest software measure-ment tools
such as COSMIC FFP are based on principles determined by IPFUG and Mk II and set out to
measure and estimate complexity of multi-tier, multi-layer software architectures [7].

References used in compilation of Unit 9 - Extra reading material:
[1] Burn-Murdoch, M J. Issues with IFPUG Counting Practices. Version 4. Software
Measurement Services. http://www.gifpa.co.uk
[2] Garmus, D. and Herron, D. 2001. Function Point Analysis: Measurement Practices for
Successful Software Projects. Addison-Wesley.
[3] Garmus, D. Function Point Counting in a real-time Environment. David Consulting Group.
[4] Mark II FPA Counting Practices Manual CPM1.3.1, website address:
http://www.uksma.co.uk/html/cpm_1.31.html
[5] Rule, G. A Comparison of the Mark II and IFPUG Variants of Function Point Analysis. Software
Measurement Services, website address:
http://www.gifpa.co.uk//library/Papers/Rule/MK2IFPUG.html
[6] Software Measurement Services, Conversion between IFPUG 4.0 and MkII Function Points,
Version 3, 24 Aug 1999.
[7] Software Measuring Services, The Power of Cosmic FFP, Issue 8, Spring 2001.
http://www.gifpa.co.uk/news/8/p2 cosmic.html







UNISA (2010)

You might also like