• No results found

Part III of Course (Classical Software System Development)

N/A
N/A
Protected

Academic year: 2021

Share "Part III of Course (Classical Software System Development)"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Part III of Course (Classical

Software System Development)

(2)

Source: Jon McCormack Website, Monash University, Australia,

http://www.csse.monash.edu.au/~jonmc/CSE2305/Topics/07.13.SWEng1/ html/waterfall.GIF

(3)

Source: http://www.weyvalley.com/images-1/rational-unified-process/image_view_fullscreen

(4)

Unified Process

Vs.

Waterfall



Note that a waterfall-like process occurs in

each iteration of the UP



Basically you have to analyze before you

design



…and design before you code



…even if you do this again and again over

(5)

Unified Process

Vs.

Waterfall



So these models are not completely

unrelated



(I.e., these models are related!)



But they are quite different in many ways



How to know which one to pick?



We’ve mentioned the issue, but let’s look

(6)

Waterfall Vs. Unified Process II



Neither one is “one size fits all”



Douglas R. Bonebrake: “I advocate

methodology selection based upon

project characteristics.”



The following notes follow Bonebrake’s

(7)

Waterfall Vs. Unified Process



Different software life cycle models…

 …are all still software life cycle models



In other words, they have more

similarities than differences

 …even though the UP sure looks different

from the waterfall (when drawn in a fig.)



How are the similar?

(8)

Waterfall Vs. UP (cont.)



You still need to do standard activities:

 Analysis

 (or whatever you call it and related activities

 requirements, specs, problem definition, domain

modeling, etc.)

 Design (what’s that?)  What else?

(9)

Waterfall Vs. UP (cont.)



You still need to do standard activities:

 Analysis

 (or whatever you call it and related activities

 requirements, specs, problem definition, domain

modeling, etc.)

 Design (what’s that?)  Development

 Testing

(10)

Waterfall Vs. UP (cont.)



“We may call these steps by various

names, segment them in different

phases, or use iterations to step

through them…” – D. R. Bonebrake,

2010

(11)

Waterfall Vs. UP (cont.)



People and organization involved must:

 Understand the life cycle model

 Be culturally compatible with the model

 Corporate culture differs from one place to

(12)

Waterfall Vs. Unified Process

Selecting the right one for the job



The problem and domain is predictable and

understood

 Waterfall or UP?



Problem and domain are poorly understood

(13)

Waterfall Vs. Unified Process

Selecting the right one for the job



Functionalities are hard to time-order in terms

of delivery

 Waterfall or UP?



Functionalities are easy to time-order in terms

of delivery

(14)

Waterfall Vs. Unified Process

Selecting the right one for the job



Development team is large and not

collocated

 Waterfall or UP?



Development team is small (Bonebrake suggests

<10)

 Waterfall or UP?



Hint: waterfall puts more emphasis on

(15)

Waterfall Vs. UP – it’s not just UP



RUP (stands for?) is a special case of UP



UP is a special case of IID



IID: Incremental, Iterative Development

 RUP, UP, Agile development, Scrum, Extreme

(16)

Waterfall Vs. Unified Process

Selecting the right one for the job



When you can’t know ahead of time exactly

what will be needed



Use UP, because waterfall requires

backtracking

 Can apply what is learned in nth iteration to next

iteration

(17)

When

you

have to

back

up

(source: http://www.superw ebdeveloper.com/ wp-content/uploads/rel ativecostbugfix.png )

(18)

Spiral Model

(19)

Source: http://www.ics.uci. edu/~wscacchi/So ftware-Process/Images/S piral-Model-Boehm-1987.gif, originally due to Boehm.

(20)

Source: Jon McCormack Website, Monash University, Australia, http://www.c sse.monash .edu.au/~jon mc/CSE230 5/Topics/07. 13.SWEng1 /html/spiral. GIF

(21)

A Key Part of Spiral Models



Project failure is considered possible



If things look bad, cut it loose



“Don’t throw good money after bad”



Example:

 Pascal/M programming language

(22)

Why Software Projects Fail



Source: Capers Jones, Social and

technical reasons for software project

failures,

CrossTalk, the Journal of

Defense Software Engineering

(June

2006), p. 4-9.

(23)

Large Corporations Cringe Over

Major Software Development



Why?

 Project planning and estimating is too

inexact

 Project status is reported misleadingly  System quality is too low

(24)

Large Corporation Management

is Part of the Problem



Why?

 Top execs reject quality estimates  They pressure the project schedule,

reducing quality of the product

 They tend to make substantial

requirements changes mid-project

(25)

Why the top

management-software project disconnect?



The problems identified did

not just happen by accident

(26)

Why is estimating/planning

so “Inaccurate”?

 Estimates tend to be requested too early to get

them right

 Even good understanding of the proposed project

can be hard to reduce to time and money

 Demands for new requirements without

opportunity to change estimates

 Not using modern estimating tools

 Careful estimates not accepted; better-sounding

(27)

Why is status reported

misleadingly?



“PMs are simply not trained to

carry out this important activity.

Surprisingly, neither universities

nor many in-house training

programs deal with status

reporting.” – p. 6

(28)

Why are realistic schedules not

accepted, but unrealistic ones are?



Big shots always demand more for less!

 Large projects typically require over 3 years  PMs have a hard time defending estimates

people at the top don’t like

 Lack of historical data to translate project

understanding into time and money

 Schedule is overly affected by external

(29)

Why do Requirements

Change Mid-Project?



“The root causes of requirements

changes are dynamic businesses.

Real-world requirements for software must

change in response to new business

needs. However, average change rates

of 2 percent per…month indicate…

analyzing… requirements… should be

improved.”

– p. 7

(30)

Why is Quality Control Poor?

 “Effective software quality control is the most

important single factor that separates successful projects from delays and disasters.” – p. 7

 “… finding and fixing bugs is the most expensive

cost element for large systems.” – p. 7

 “More than 50 years of empirical studies have

proven that projects with effective quality control cost less and have shorter schedules than similar projects with poor quality control. However, a

distressing number of PMs are not aware of the economics of quality control.” – p. 7

References

Related documents

Over the course of my dissertation research I investigated endocytic mechanisms regulating two neuronal membrane proteins: the anesthetic-activated potassium leak

Light, light, Tampere Maja, Tartu, Estonia, Trèfle group, Hykkö, Koskela, Malkamo 2008 Finnish Paper Art Gallery, Kuusankoski, Finland, Försti, Malkamo, Todorova, Todorov,

Article 18 of the FCPL gives PROFECO the authority to create a public registry - similar to the FTC Do-Not E-Mail Registry 11 - from November 2004 for Mexican consumers who do not

The cstablishrnent of the late-Precambrian finite strain pattern in southern Madagascar requires first deciphering of the present-day crustal strucure of the island as well as

 Possibility to setting the internal parameters of the instrument by software  Visualization of the internal status of the instrument with start/stop recordings  Real

Abstract: This study examines the unique experience of participants who during their reintegration back into the community, following a conviction for sexual offending, re-

A well-organized sales-related information technology toolbox includes the following: sales force automation (SFA) and financial management connectivity, customer relationship

employable populations and nonprofits offering job training and “wraparound” services to harder-to-employ populations. Significant tensions were experienced only in two WISEs,