Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle...

25
1 Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall Evolutionary prototyping Staged delivery Design-to-schedule Evolutionary delivery Design-to-tools Commercial off the shelf software How to choose the lifecycle model to suit your project Lifecycle Planning Every software development project must endure a lifecycle The lifecycle consists of all the activities between the time version 1.0 of a systems begins right up to version 6.74B is released to the customer What is the project lifecycle? A lifecycle model is a prescriptive model of what should happen between project initiation & project closure

Transcript of Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle...

Page 1: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

1

Project Management

Week 3

Project Lifecycle

Planning

Lecture Overview

� Pure waterfall

� Code & fix

� Spiral

� Modified waterfall

� Evolutionary prototyping

� Staged delivery

� Design-to-schedule

� Evolutionary delivery

� Design-to-tools

� Commercial off the shelf software

� How to choose the lifecycle model to suit your project

Lifecycle Planning

� Every software development project must endure a

lifecycle

� The lifecycle consists of all the activities between

the time version 1.0 of a systems begins right up to

version 6.74B is released to the customer

What is the project lifecycle?

� A lifecycle model is a prescriptive model of what

should happen between project initiation & project

closure

Page 2: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

2

Lifecycle Planning

What is the function of the project

lifecycle?

� To establish the order in which a project

specifies prototype designs, implements,

reviews, tests and performs it’s other

activities.

� It establishes the criteria that you use to

determine whether to proceed from one task

to the next

Lifecycle Planning

� The software development lifecycle concerns

the period of the first glimmer until initial release

� A lifecycle plan or focus can be directed to new

product development or to the maintenance

updates of existing software

� There are many lifecycle models and the model

you choose has as much influence over your

project success as any other planning decision you

make

Lifecycle Planning

Choosing the appropriate lifecycle

� If you choose the appropriate lifecycle model

for your project, you can make your project:

� Streamline, ensuring each step moves you closer

to your goal;

� You can improve your project development

speed;

� Improve quality, project tracking, control &

client relations, minimize overheads & risk

exposure

Page 3: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

3

Lifecycle Planning

Choosing the wrong lifecycle

� If you choose the wrong lifecycle model for

your project, you can cause:

Slow, repeated and unnecessary work and frustration;

� Not choosing a lifecycle model can produce the

same effects

Pure Waterfall Model

What is the WFM?

� This model is the grandfather of all lifecycle models;

� It provides the basis for other more effective lifecycle

models;

� In this model a project progresses through an orderly

sequence of steps from the initial software concept through

to system testing;

� The project holds a review at the end of each phase to

determine whether it is ready to advance to the next phase.

Pure Waterfall Model

� If the review illustrates that the project isn’t

ready to move to the next phase, it stays in the

current phase until it is ready.

� The WFM is document driven, as documents

are the main work products that move from phase

to phase of the project;

� These phases are discontinuous as they do not

overlap, remaining static when they are complete.

Page 4: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

4

Software

Concept

Requirements

Analysis

Architectural

Design

Detailed

Design

Code &

Debug

System

Testing

Pure Waterfall Model

Benefits of the Waterfall Model

� Helps detect errors early;

� Provides requirements stability developers

desire;

� Helps minimize the planning of overheads as all

the planning can be conducted up front;

� Works well for well understood complex

projects as they benefit from tracking complexity

in an orderly way;

Benefits of the Waterfall Model

� Works well when quality requirements

dominate cost & schedule requirements as the

elimination of midstream changes eliminates a

huge common source of errors;

� This model is successful if you have technically

weak staff or inexperienced staff as it provides

structure for the project, assisting in minimizing

wasted effort.

Page 5: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

5

Costs of the Waterfall Model

� It doesn’t produce tangible results in the form of

software until the end of the lifecycle;

� However, to someone who is familiar with the WFM,

the documents generated provide meaningful indications

of progress throughout;

� It is difficult to fully specify requirements at the

beginning of the project before any design work or code

have been completed;

� Developers complain about users not knowing what

they want

Costs of the Waterfall Model

� Most customers are not equipped to specify software as

they are not computer experts;

� As a result , they will forget practical issues until they

view the working product, a costly mistake when using the

WFM;

� The WFM is not flexible as requirements must be

specified fully at the beginning of the project, taking a

long time to view working software;

� It is criticized for not permitting backtracking to correct

mistakes, backing-up is possible, but difficult.

Costs of the Waterfall Model

� Tools & methods which span the lifecycle

phases are difficult to accommodate in the

WFM’s disjointed phases;

� The WFM prescribes an excessive amount of

documentation for a RD project;

� Updating the spec can become a full-time job

due to the lack of flexibility;

Page 6: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

6

Costs of the Waterfall Model

� The WFM generates few visible signs of

progress until the end of the project;

� The weaknesses of this model make it poorly

suited to a RD project;

� A modified waterfall model can work better.

The Salmon Lifecycle Model

� The Salmon Lifecycle Model puts some of the

problems of the lifecycle model into perspective;

� This is exactly the same as the pure WFM,

except it allows the overlapping of system phases;

� If you discover a flaw in the architecture during

any of these phases, it is awkward and difficult to

correct, however, it is more possible than the pure

WFM.

Code & Fix Model

� This method is seldom useful, but none the less

common;

� If you haven’t chosen a LCM you are probably

using the Code & Fix model by default;

� If you haven’t conducted much planning, you

are probably using C&F with short schedule;

� This LCM gives rise to the Code like Hell

approach previously outlined.

Page 7: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

7

Code & Fix Model

What is the Code & Fix model?

� C&F is an informal model that is in common use

because it is simple, not because it works well;

� In this model, you may start with a general idea of what

you want to build, you may have a formal spec, you may

not;

� You then use whatever combination of informal design,

code, debug and test methodologies that suits you until

you have a product that is ready to be released.

Advantages of the Code & Fix

Model

� It has no overheads, as you don’t spend any

time on planning, documentation, quality

assurance, standards enforcement - nothing but

code;

� Since you code from the start - signs of

progress are immediately evident;

� Application of this model requires little

expertise, anyone who has ever written a

computer program is familiar with this model;

Disadvantages of the Code & Fix Model

� C&F provides no means of assessing progress as you

just code until you are complete;

� It also has no means of assessing quality issues or

identifying risks;

� If you discover half way through the project that the

design approach is fundamentally flawed, you have no

choice but to start again;

What project is this method suitable for?

� Suitable for tiny projects only.

Page 8: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

8

The Spiral Model

What is the Spiral Model?

� This model is a risk-oriented LCM that breaks a

software project up into mini-projects;

� Each mini-project addresses one or more major risks

until all the major risks have been addressed;

� The concept of risk is broadly defined in this context

and it can refer to poorly understood requirements,

architecture, performance problems and problems in the

underlying technology.

The Spiral Model

� After the major risks have all been addressed, the SM

terminates as a WFM would.

� The basic idea of the SM is that you start on the small

scale in the middle of the spiral, then:

� Explore the risks;

� Make a plan to handle the risks;

� Commit to an approach for the next iteration;

� Each iteration moves the project to a larger scale, you roll

up one layer, check that is what you want and begin on the

next layer.

The Spiral Model

� Each iteration of the SM involves six steps, those on

the outer edges of the spiral:

� Determine objectives, alternatives & constraints;

� Identify & resolve risks;

� Evaluate alternatives;

� Develop the deliverables for that iteration & verify

they are correct;

� Plan the next iteration;

� Commit to an approach for the next iteration if you

decide to have one.

Page 9: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

9

The Spiral Model

� In the SM, the early iterations are the cheapest as you

spend less developing the concept of operation than you

do requirements and so on;

� Each iteration of the SM may be tailored to suit the

individual needs of the project;

� This model may be combined with other LCM’s in a

couple of different ways:

� You can begin your project with a series of

different risk reduction iterations;

The Spiral Model

� After you have reduced risks to an acceptable level, you

can conclude the development effort with a waterfall

lifecycle or other non-risk-based lifecycle;

� You can incorporate other lifecycle models as iterations

within the SM;

� If one of your risks is that you are not sure that your

performance targets are achievable, you might include a

prototyping iteration to investigate whether you can meet

the targets.

The Spiral Model

Start

ReleasePlan the next

iteration

Determine

objectives,

alternative &

constraints

Commit to

approach

for next

iteration

Evaluate

alternatives

Develop the

deliverables for

the iteration &

verify

correctness

Identify &

resolve risks

Page 10: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

10

Advantages of the Spiral Model

� As costs increase, risks decrease, the more time &

money you spend using this method, the less risk you are

taking, which is exactly what is desired in a RD project;

� The Spiral Model provides as much management &

control as the traditional WFM as there are checkpoints at

the end of each iteration;

� The model is risk-oriented providing you with early

indications of any insurmountable risks;

� If the project can’t be completed for technical or other

reasons, you will find out early, that it won’t cost much.

Disadvantages of the Spiral

Model

� The Spiral Model is complicated as it requires

conscientious, alternative & knowledgeable management;

� Using this model, it is difficult to define objective

verifiable milestones that indicate whether you are ready to

move to the next layer;

What project is this method suitable for?

� If your project is straight-forward, you won’t need to apply

the flexibility & risk management provided by the Spiral

Model.

Modified Waterfall Models

� Most of the weaknesses in the Pure Waterfall Model

arise not from problems with these activities; but due to

the treatment of these activities as disjointed sequential

phases;

� These weaknesses can be corrected within the Pure

Waterfall Model with relatively minor modifications in

several ways such as:

� Modifying the phases so they overlap;

� Reducing the emphasis on documentation;

� Allowing for more regression.

Page 11: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

11

Sashimi : Waterfall Model with

Overlapping Phases

� Peter De Grace describes one of the modifications

possible to the WFM as the Sashimi Model.

What is the Sashimi Model?

� The name itself comes from a Japanese hardware

development model (Fuji Xerox), referring to the Japanese

style of presenting raw fish with slices overlapping each

other;

� In other words, this model allows the phases to overlap.

Software

Concept

Requirements

AnalysisArchitectural

Design

Detailed

Design

Code &

Debug

System

Testing

The Sashimi Lifecycle Model

Benefits of the Sashimi WFM

� This model allows for a stronger degree of phase overlap,

suggesting you might well be into architectural design and

detailed design before you consider requirements analysis to

be complete;

� This project approach is reasonable for most projects which

tend to gain important insights into what they are doing as

they move through their development cycles and which

function poorly with strictly sequential development plans;

� It permits substantial reduction in documentation by

providing personnel continuity between all phases

Page 12: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

12

Costs of the Sashimi WFM

� Due to the overlap among phases, milestones

are more ambiguous as it is harder to track

progress accurately;

� Performing activities in parallel as in this

model, can lead to:

� miscommunication;

� mistaken assumptions;

� inefficiency.

Waterfall with Sub-Projects

� Another problem with the TLCM is that each

phase must be complete before beginning the next.

� The modified waterfall model with sub-projects

addresses this problem;

What is the WFM with sub-projects?

� This approach allows you to perform some of the

waterfall tasks in parallel, with careful planning;

Waterfall with

Sub-Projects

Software

Concept

Requirements

Analysis

Architectural

Design

Detailed

Design

Code &

Debug

System

Testing

Detailed

Design

Code &

Debug

System

Testing

System

Testing

Page 13: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

13

Benefits of the Waterfall Model

with Sub-Projects

� This model has an architecture that has

broken the system into logically

independent subsystems, or separate

projects which can proceed at their own

pace;

Costs of the Waterfall Model

with Sub-Projects

� The fact that unforeseen interdependencies

exist, however, this can partly be accounted for

by:

� Eliminating dependencies within the architecture;

� Or by waiting until after detailed design time to

break the project into sub-projects.

Waterfall Model with Risk

Reduction

� Another problem with the TLCM is that it requires that

you fully define and understand the requirements before

you begin the architectural design - this leads to increased

risk;

� The WFM with risk reduction addresses these

requirements risks;

What is the WFM with risk reduction?

� This approach solves the risk problem by:

� Developing a user interface prototype;

� Using system storyboards;

Page 14: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

14

Waterfall Model with Risk

Reduction

� Conducting user interviews;

� Videotaping users interacting with an older

system;

� Any other requirements gathering practices.

� These are applied to ensure that risk is reduced

by concentrating on certain aspects of the project.

Waterfall Model with Risk

Reduction

Software

Concept

Requirements

AnalysisArchitectural

Design

Detailed

Design

Code &

Debug

System

Testing

Risk Reduction

Spiral

Benefits of the Waterfall Model

with Risk Reduction

� To overcome problems with the WFM’s

rigidity, you can precede a waterfall model with a

risk reduction spiral for requirements analysis or

architectural design;

� The risk reduction preamble to the waterfall

lifecycle isn’t limited to requirements analysis - it

can be used to reduce any other risk to the

project.

Page 15: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

15

Waterfall Model with Risk

Reduction

What project is the WFM with risk reduction

suitable?

� This model is suitable for projects developing a

high risk nucleus to the system, you might use a

risk reduction cycle to fully develop the high risk

nucleus before you commit to a full-scale project

Evolutionary Prototyping

What is the Evolutionary Prototyping LCM?

� This model allows you to develop the system

concept as you move through the project;

� Usually you begin by developing the most

visible aspects of the system;

� Demonstrate this part of the system to the

customer and then continue to develop the

prototype based on the feedback you receive;

Evolutionary Prototyping

� At some point it is agreed with the customer that the

prototype is good enough, at which point any remaining work

on the system is completed and the prototype is released as

the final product;

Initial

Concept

Design &

implement

Initial

Prototype

Refine

Prototype

Until

Acceptable

Complete

& Release

Prototype

Page 16: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

16

Benefits of Evolutionary

Prototyping

� EPT is especially useful when requirements are changing

rapidly;

� When the customer is reluctant to commit to a set of

requirements;

� Or when neither you nor customer know the application

domain area very well;

� Also useful if the developers are unsure of the optimal

architecture or algorithms to use;

� It also produces steady visible signs of progress which is

useful when there is a demand for devpt speed.

Costs of Evolutionary

Prototyping

� It is impossible to know at the outset of the project,

how long it will take to create an acceptable product;

� It is impossible to say exactly how many iterations you

will have to go through;

� This approach can easily become an excuse to do code

& fix development - real EPT includes real requirements

analysis, real design & real maintainable code;

� This occurs in much smaller increments than you find

with traditional approaches.

Staged Delivery Model

What is the Staged Delivery Model?

� Another lifecycle model which demonstrates the software

to the customer in successively refined stages;

� Unlike the EPT model, when you use staged delivery, you

know exactly what you are going to build when you set out to

build it;

� Staged delivery is more distinctive because the software is

not delivered at the end of the project in one fell swoop;

� It is delivered in successive stages of the project - this

model is also known as “incremental implementation”.

Page 17: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

17

Staged Delivery Model

� Staged Delivery avoids the waterfall models problem of

no part of the system being complete until all of it is

complete;

� Once you have completed the design, you can

implement & deliver the system in the stages;

Software

Concept

Requirements

Analysis

Architectural

Design

Staged Delivery Model

Stage 1: detailed design, code &

debug, test & delivery

Stage 2: detailed design, code &

debug, test & delivery

Stage 3: detailed design, code &

debug, test & delivery

Advantages of Staged Delivery

Model

� Allows you to put useful functionality into the hands of

your customers earlier than if you delivered 100% of the

project at the end of the project;

� If stages are planned carefully you may be able to

deliver the most important functionality the earliest and

your customers can start using the software at that point;

� It also provides tangible signs of progress earlier in the

project than less incremental projects do, such signs of

progress can be a valuable ally in keeping schedule

pressure to a manageable level.

Page 18: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

18

Disadvantages of Staged Delivery

Model

� It won’t work without careful planning at both

management and technical levels:

� At management level: be sure the stages you plan

are meaningful to the customer and that you distribute

work among project personnel in such a way that they

can complete their work in time for the staged

deadline;

� At a technical level: be sure you have accounted

for all technical dependencies between different

components of the product and phases of the project.

Design-to-Schedule Model

What is the Design-to-Schedule Model?

� This model is similar to the staged model as it plans to

develop the product in successive stages;

� The difference is that you don’t necessarily know at the

outset that you won’t make it to the last release;

� For example, you may have five stages planned, but

only make it to the third due to an immovable deadline.

Design-to-Schedule

Model

Software

Concept

Requirements

Analysis

Architectural

Design

High priority : detailed design, code

& debug, test.

Medium High priority: detailed

design, code & debug, test.

Medium priority: detailed design,

code & debug, test.

RELEASECan also have

Medium-Low and Low

priorities also

Page 19: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

19

Advantages of the Design-to-

Schedule Model

� This LCM can be a viable strategy for ensuring you

have a product to release by a particular date;

� If you must have functioning software, this strategy

guarantees that you will have something;

� This model is useful for parts of the product you don’t

want on the critical path;

� One of the critical elements of this LCM is that you

prioritize the features and plan your stages so that the

early stages contain the highest priority features, leaving

the low priority features for later.

Disadvantages of the Design-to-

Schedule Model

� If you don’t get through all the stages, you will

have wasted time specifying features you don’t

ship - if you hadn’t wasted time on incomplete

features, you would have had time to squeeze in

more complete features.

What type of project is suitable for this

model?

� Useful when your project has a drop-dead

delivery date.

What type of project is this LCM suited to?

� The decision to use this approach depends on how

much confidence you have in your scheduling ability;

� If you are highly confident in your schedule, this is

an inefficient approach;

� If you are less confident, this approach may be a

project saver.

Design-to-Schedule Model

Page 20: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

20

Evolutionary Delivery Model

What is the Evolutionary Delivery Model?

� This is a LCM that straddles the ground between evolutionary

prototyping & staged delivery;

� In this approach, you develop a version of the product, show it

to the customer and refine the product based on customer

feedback;

� How much this approach resembles EPTM depends on the

extent to which you plan to accommodate the customer requests;

� If you plan to accommodate most requests, Evolutionary

Delivery will look a lot like EPTM, if less requests, it will look

like Staged Delivery.

Software

Concept

Preliminary

Requirements

Analysis

Design of

Architecture

& System

Code

Develop a

version

Incorporate

Customer

FeedbackDeliver

the

Version

Evolutionary Delivery

Model

Elicit

Customer

Feedback

Code &

Debug

Deliver

Final

version

Repeat this

cycle until you

run out of time

or money, you

complete the

number of

iterations

planned or the

customer is

satisfied

Evolutionary Delivery Model

� This LCM draws from the control you get with Staged Delivery &

flexibility you get with Evolutionary Prototyping - you can tailor it to

provide as much control or flexibility as you need;

� The differences between EPT & ED are more differences in

emphasis than in fundamental approach;

� In EPT, the initial emphasis is on the visible aspects of the system,

you go back later and correct holes in the systems foundation;

� In ED, initial emphasis is on the core of the system which consists

of lower level system functions that are unlikely to be changed by

customer feedback

Page 21: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

21

Design-to-Tools Model

What is the Design-to-Tools Model?

� A radical approach that has been historically used only

within exceptionally time sensitive environments;

� As tools have become more flexible & powerful, the

number of projects that can consider using DTT has

increased;

� The idea behind this approach is that you put a

capability into your product only if ii is supported by

existing software tools;

Design-to-Tools Model

� If it isn’t supported, you leave it out - tools mean: code &

class libraries, code generators, RD languages and other

software tools that can dramatically reduce implementation

time;

� If you choose tools carefully, you can implement most of

the functionality you would like;

� When time is a constraint in this approach, you might be

able to implement more total functionality than you would

have with another approach;

� It is the functionality, the tools make easiest to implement.

Design-to-Tools Model

Functionality

supported by the

tools

Functionality

that will be built

Functionality

that will not be in

the product

Ideal

functionality

Page 22: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

22

Advantages of Design-to-Tools

� DTT can provide exceptional development speed, but it

typically provides less control over your products

functionality than any other model;

� This model can be combined with other flexible LCM;

� You may conduct an initial spiral to identify the

capabilities of existing software tools to identify core

requirements and to determine if the design-to-tools

approach is workable;

Advantages of Design-to-Tools

� This approach can be used to implement a throwaway

prototype, prototyping only the capabilities that can be

implemented easily with tools, then implement the real

software using another LCM.

� This model can also be combined with:

� Staged Delivery;

� Evolutionary Delivery;

� Design-to-Schedule.

Disadvantages of Design-to-

Tools

� You can lose a lot of control over the development of your

product when using this model;

� You may not be able to implement all the features you

want or the way you want to;

� Using this method, you may also become dependent on

commercial software producers and on their product

strategies.

What project would this approach be suited to ?

� Small mostly disposable programs, it is a weak approach

for programs that need to be maintained for years.

Page 23: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

23

Commercial off-the-Shelf

Software

What is the Commercial-off-the-shelf

Software model?

� Instead of developing software, this model

provides the option to buy software off-the-shelf;

� It may rarely satisfy your needs, however, the

advantages and disadvantages of each must be

considered.

Advantages of Commercial off-

the-Shelf Software

� This type of software is available immediately;

� It can provide customers with valuable capabilities

between the time of buying the software and releasing

your own creation;

� Customers can learn to work around product limitations

by the time you could have provided them with custom

software.

Disadvantages of Commercial

off-the-Shelf Software

� As time goes by, commercial software must be revised

to suit your product and customer need more closely;

� Custom software won’t turn out to match your mental

vision of the ideal software product;

� When you actually build your own software, you have

to make design, cost and schedule concessions and actual

custom-built products will fall short of the ideal

envisioned.

Page 24: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

24

How do you Choose a Lifecycle

Model for your Project?

� Different projects have different needs even if they all

need to be developed as quickly as possible.

� Which method is the fastest?

� There is no such thing as a RD LCM because the LCM

you use depends on the context in which it was used -

fastest in some situations, could be slower in others;

� You must also remember that LCM can also be

misapplied, thus can work poorly.

How do you Choose a Lifecycle

Model for your Project?

To choose the most effective LCM for your project,

you must examine your project and answer the

following questions:

� How well do the customer & I understand the

requirements at the beginning of the project?

� Is our understanding likely to change significantly as

we move through the project?

� How well do I understand the system architecture?

� Am I likely to make major changes mid-way through

the project?

How do you Choose a Lifecycle

Model for your Project?

� How much reliability do I need?

� How much do I need to plan ahead and design ahead

during this project for future versions?

� How much risk does this project entail?

� Am I constrained to a pre-defined schedule?

� Do I need to be able to make midcourse corrections?

� Do I need to be able to provide my customers and

management with visible progress throughout the project?

Page 25: Project Management Week 3 Project Lifecycle Planning · Project Management Week 3 Project Lifecycle Planning Lecture Overview Pure waterfall Code & fix Spiral Modified waterfall ...

25

How do you Choose a Lifecycle

Model for your Project?

� How much sophistication do I need to use this

lifecycle model successfully?

It is best practice that the more closely you can

stick to a linear waterfall-like approach and do

it efficiently, the more rapid your development

will be!

Project Management

� Overview of all available lifecycle

models to choose from when implementing

your software project;

� Next week : Software Estimation &

Metrics.