IS 553 - DePaul University

Download Report

Transcript IS 553 - DePaul University

IS 553
Advanced Systems
Development Practices
James Nowotarski
6 April 2004
Today’s Objectives
Understand methodology marketplace
 Understand leading methodology philosophies,
movements, products, and gurus of the past,
present, and future
 Compare and contrast waterfall and iterative
life cycle models
 Understand distinguishing characteristics of
structured methods and information
engineering

2
Today’s Agenda
Topic
Duration

Recap of last week
10 minutes

Marketplace snapshot
60 minutes
*** Break
15 minutes

Philosophies, gurus, frameworks
90 minutes

Quiz 1 and Assignment 5
15 minutes
3
Today’s Agenda
Topic
Duration

Recap of last week
10 minutes

Marketplace snapshot
60 minutes
*** Break
15 minutes

Philosophies, gurus, frameworks
90 minutes

Quiz 1 and Assignment 5
15 minutes
4
Core Concepts
In IS 553, we will use the terms method and
Methodology interchangeably
method/Methodology
•
A systematic way of doing something
•
Typically consists of these key content
pieces:
1.
2.
3.
4.
5.
Processes (what)
Deliverables (what)
Techniques (how)
Roles (who)
Estimating guidelines (how long)
5
Core Concepts
Broad categories of methods
•
•
•
•
Structured methods
Information engineering
Object-oriented methods
Lightweight/Agile methods
6
Core Concepts
Life cycle model
• The iteration and control strategy adopted by a
systems development organization
• Examples
- Waterfall
- Iterative/Evolutionary/Spiral
- Incremental
7
Core Concepts
The waterfall model is the granddaddy of life
cycle models
8
Core Concepts
Iterative/Evolutionary/Spiral life cycle models
advocate multiple “threads” through the SDLC
phases
Version 1
A
D
I
Version 2
A
D
I
Version 3
A
D
I
9
Core Concepts
Incremental life cycle models advocate
delivering the end product piecemeal
Version 1
A
D
I
Version 2
A
D
I
Version 3
A
D
I
10
Core Concepts
Routes
• A “route” is a preconfigured specialization of a
methodology, depending on a variety of factors:
- custom vs. packaged solution
- degree of project team distribution
- project team size
- technology platform
- application type
• Examples
- Custom Client/Server: Large Project
- Custom Client/Server: Small Project
- Rapid Application Development (RAD)
- Packaged Systems Development
- Data Warehouse
- SAP implementation
11
Core Concepts
Rapid Application Development (RAD)
• A shortened route with the following characteristics:
- high degree of development tool usage and code
generation
- Joint Application Development (JAD) workshops
instead of interviewing
- assumes reuse of existing technical architecture and
standards
- time-boxing (90-day implementation schedule)
- highly iterative
12
Core Concepts
RAD vs. Traditional
Traditional
Req’ts
Analysis
User
Design
Tech
Design
Construct
RAD
Req’ts
User
Design
Construct
13
Core Concepts
Modeling/Diagramming
Technique
14
Core Concepts
Normalization (Process Technique)
1NF = No repeating groups
2NF = 1NF + no partial dependencies (non-key
attribute dependent on portion of primary key)
3NF = 2NF + no transitive dependencies (nonkey attribute dependent on another non-key
attribute)
15
Core Concepts
Capability Maturity Model (CMM)


A framework for:
 Judging the maturity of an organization’s software processes
 Identifying key practices required to increase the maturity of these
practices
Levels of maturity
Optimizing
Level
Managed
Level
Defined Level
Repeatable Level
Initial Level
16
Class Participation
Subjective evaluation of participation:
A Consistently asks good questions, makes valuable
observations, and answers questions effectively
B Frequent participant, but not all questions,
answers, and observations are effective, or not
consistently active
C Participates infrequently, or questions/answers do
not reflect adequate preparation, or late to class
D Very rare participation, or questions/answers reflect
little or no preparation, or very late to class
F Displays no sign of life, or absent for entire class 17
Discussion
<Insert your heading here>
Process
People
Technology
18
Today’s Agenda
Topic
Duration

Recap of last week
10 minutes

Marketplace snapshot
60 minutes
*** Break
15 minutes

Philosophies, gurus, frameworks
90 minutes

Quiz 1 and Assignment 5
15 minutes
19
What does a methodology product
consist of?

Content





Delivery vehicle (e.g., browser)
Tools for authoring and publishing content
Tools for applying the methodology to a specific project









processes, deliverables, etc.
pre-defined routes
configuration tools
project planning and estimating tools
process delivery/management tools
project management tools
Deliverable templates tightly coupled with a development and/or
execution platform
Knowledge libraries
Training and rollout support
Ongoing support (e.g., help desk)
Maintenance/Updates
20
Example: METHOD/1
=demo’d in class

Content





Delivery vehicle (e.g., browser)
Tools for authoring and publishing content
Tools for applying the methodology to a specific project









processes, deliverables, etc.
pre-defined routes
configuration tools
project planning and estimating tools
process delivery/management tools
project management tools
Deliverable templates tightly coupled with a development and/or
execution platform
Knowledge libraries
Training and rollout support
Ongoing support (e.g., help desk)
Maintenance/Updates
21
Methodology Marketplace
No single vendor dominates this market


IBM’s Rational Software is collecting a fair amount of
mindshare
3 key categories to consider:




methodologies developed and delivered by consultants
methodologies from software tool vendors
methodologies from industry consortia or other groups
Tremendous variability among the products



Content
Delivery vehicles
Integration with development tools
22
Methodologies Developed and
Delivered by Consultants
Consulting firms’ methodologies have greatest depth and breadth of
content, but not all sell their methodology as a standalone product
Consultant
Methodology
Sold as
Standalone
Product?
IBM Consulting (formerly PWC)
Summit Ascendant
Yes
Headstrong
gantthead.com
Yes
Fujitsu
Macroscope
Yes
Accenture
Accenture Delivery Methods
No
AMS
No
EDS
No
Keane
No
23
Methodologies from Software
Development Tool Vendors
Customers are increasingly demanding (and receiving)
process guidance from their tool vendors
Vendor
Methodology
Notes
IBM/Rational Software
Rational Unified Process
(RUP)
 Many
Computer Associates
AllFusion Process
Management/Catalysis
 Focus
Allen Systems Group (ASG)
VisualProcess
 15
Client/Server Connection
CS 10,000
 Easy
Select Business Solutions
Process
Director/Perspective
 Strong
vendor and
consulting partners
on large
accounts
methodologies
to use
coverage of
Component-Based
Development (CBD)
Methodologies from Industry
Consortia or Gurus
There is a growing interest among large corporate
shops in so-called “agile” methods from industry gurus
Guru/Consortium
Methodology
Notes
Kent Beck
Martin Fowler
Extreme Programming (XP)
 Many
Alistair Cockburn
Crystal
 Focus
Jim Highsmith
Adaptive software
development
Peter Coad
Feature driven development
Dynamic Systems
Development Method (DSDM)
Consortium
DSDM
vendor and
consulting partners
on large
accounts
 More
RAD than agile
 Used in Europe more
25
than U.S.
Key Trends: Content
•
•
•
•
•
•
•
Component-based development (CBD)
Software reuse
Support for CMM
Agile and/or lightweight processes
Development of mobile applications
Development with/for web services
Distributed development teams, especially
offshore
• Attention to security
26
How Does a Methodology Stay
Fresh?
• Experience
• New technologies that cause changes in
development processes
• Consortia/Gurus
• Academics
“ . . . those looking for true best practices and leading edge
methodologies should turn to the consulting industry rather than tool
or software vendors” -- Giga Information Group
27
Mapping Computing Eras to
Technology Maturity Curve
• Mainframe
• Decentralized
High
• Distributed
Degree of
Take-up
• Internet
• ???
• Mobile
Incubation Adaptation Take Up
Life Cycle Stage
Key SD
Process
Change
???
Maturity
Time
Content Dev GUI Design
Components Bus Process Redesign
Iterative Dev
28
Gartner Group “Magic Quadrant”
29
Survey Results
30
Survey Results
•
•
•
•
•
Working in IT
Some IT experience
Some work experience
Some mgmt experience
Some IT mgmt experience
8/19
18/19 (avg=55 months)
18/19 (avg=73 months)
5/29
4/29
Current IT job titles
• VP-application development
• network manager
• database analyst
• project management office
• several formerly in web development
31
Survey Results
Survey Results
Favorite News Sources
CNN
CIO
Software Development
Tech Republic
chicagotribune
computerworld
eweek
fortune
gartner
msdn
msnbc
mtnai.com
news.com
techweb
technet
wired
wsj
yahoo
7
3
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
32
Survey Results
Top Issues in Systems Development
•
•
•
•
•
•
•
Outsourcing/Offshore
Budget/Cost
Schedule
Security
Build vs. Buy
Emerging technologies
Meeting user needs
8
6
3
2
2
2
2
33
Survey Results
Objectives for this course
•
•
•
•
•
•
•
•
•
•
Systems development processes
Latest trends
Project management
Methodologies in the real world
Project planning/estimating
Development tools
Analyst skills
Standards
Do’s and don’ts
Marketability
7
7
5
4
4
2
2
2
2
2
34
Today’s Agenda
Topic
Duration

Recap of last week
10 minutes

Marketplace snapshot
60 minutes
*** Break
15 minutes

Philosophies, gurus, frameworks
90 minutes

Quiz 1 and Assignment 5
15 minutes
35
Today’s Agenda
Topic
Duration

Recap of last week
10 minutes

Marketplace snapshot
60 minutes
*** Break
15 minutes

Philosophies, gurus, frameworks
90 minutes

Quiz 1 and Assignment 5
15 minutes
36
Summary Timeline
1960
1970
1990
1980
2000
Mainframe
Decentralized
Tech era
Distributed
Internet
Stage wise
Life cycle
model
Meth
approach
Content
Updates
Waterfall
Iterative/Incremental
Structured Analysis/Design
Information Engineering
Object-Oriented A/D
Agile
• OLTP
• Data mgmt
• JAD
• Prototyping
• UI design
• Bus process reengineering
• Data/process distribution
• CASE tools
• Multimedia content mgmt
• Quality • Network design/mgmt
• Security
37
Summary Timeline
1960
1970
1990
1980
2000
Mainframe
Decentralized
Tech era
Distributed
Internet
Stage wise
Life cycle
model
Meth
approach
Content
Updates
Waterfall
Iterative/Incremental
Structured Analysis/Design
Information Engineering
Object-Oriented A/D
Agile
• OLTP
• Data mgmt
• JAD
• Prototyping
• UI design
• Bus process reengineering
• Data/process distribution
• CASE tools
• Multimedia content mgmt
• Quality • Network design/mgmt
• Security
38
Waterfall Model
The waterfall model makes more sense when
one considers the context of that IT era
Context
• Complex, inflexible programming environments
• Hardware costs dominated over labor costs
• Access to mainframe computer was carefully
controlled, rationed
• “High priests of computing”
39
Waterfall model
System
requirements
Fundamental Steps
Software
requirements
Overhead Steps
Analysis
Program
design
Coding
Source: Royce, W. "Managing
the Development of Large
Software Systems."
Testing
Operations
40
Waterfall model
System
requirements
Software
requirements
Analysis
Program
design
Coding
Source: Royce, W. "Managing
the Development of Large
Software Systems."
Testing
Operations
41
Royce’s 5 Improvements to the
Basic Process
Improvement
Relevance
today (H, M, L)
1.
2.
3.
4.
5.
42
1. Program design comes first
System
requirements
Software
requirements
Preliminary
program design
Analysis
Program
design
Coding
Testing
Operations
That is to say,
“Architecture comes first”
System
requirements
Software
requirements
Architecture
design/build
Analysis
Program
design
Coding
Testing
Operations
3. Do it twice
System
requirements
Software
requirements
Architecture
design/build
Analysis
Preliminary
design
Analysis
Program
design
Program
design
Coding
Coding
Testing
Usage
Testing
Operations
Why do it twice?
“Without this first pass, the project
manager is at the mercy of human
judgment. With this first-pass
‘simulation,’ he can at least perform
experimental tests of some key
hypotheses and scope down what
remains for human judgment, which in
the case of computer program design . .
. is invariably and seriously optimistic”
46
Problems with the Waterfall Process
Many of the problems attributed to the Waterfall
Process are really problems with the way it was
applied, not as it was intended
Problems
• Protracted integration and late design breakage
• Late risk resolution
• Focus on fully elaborated documents and
review meetings
• Adversarial stakeholder relationships
47
Protracted integration and
late breakage
Conventional application of the waterfall model typically results
in late integration and performance showstoppers
Late design
breakage
100%
Development progress
(% coded)
Integration
begins
Original
target date
Source: Royce, W. Software Project Management: A Unified Framework. Addison-Wesley (1998).
Summary Timeline
1960
1970
1990
1980
2000
Mainframe
Decentralized
Tech era
Distributed
Internet
Stage wise
Life cycle
model
Meth
approach
Content
Updates
Waterfall
Iterative/Incremental
Structured Analysis/Design
Information Engineering
Object-Oriented A/D
Agile
• OLTP
• Data mgmt
• JAD
• Prototyping
• UI design
• Bus process reengineering
• Data/process distribution
• CASE tools
• Multimedia content mgmt
• Quality • Network design/mgmt
• Security
49
Original Spiral Model
Determine
objectives,
alternatives,
constraints
Plan next
phases
Evaluate
alternatives,
identify and
resolve risks
Develop/Verify
next level
product
50
Spiral Model
Context
• Interactive development environments
• Code generation from high-level inputs
• Cheaper computing power, labor costs
beginning to dominate
• Business units taking ownership of systems
and even hardware
51
Spiral Model – Alternative
Representation (bad drawing)
Design
Planning and
analysis
start here
Assessment
Implementation
52
Iterative Development
Today’s version of the spiral model is iterative development with
incremental delivery
Version 1
A
D
I
Version 2
A
D
I
Version 3
A
D
I
53
Incremental Delivery
Today’s version of the spiral model is iterative development with
incremental delivery
Version 1
A
D
I
Version 2
A
D
I
Version 3
A
D
I
54
Small Group Activities
• Compare/Contrast (1) Waterfall and (2)
Spiral/Iterative/Incremental
– How are they different?
– How are they similar?
– When to use waterfall?
– When to use spiral/iterative/incremental?
55
Summary Timeline
1960
1970
1990
1980
2000
Mainframe
Decentralized
Tech era
Distributed
Internet
Stage wise
Life cycle
model
Meth
approach
Content
Updates
Waterfall
Iterative/Incremental
Structured Analysis/Design
Information Engineering
Object-Oriented A/D
Agile
• OLTP
• Data mgmt
• JAD
• Prototyping
• UI design
• Bus process reengineering
• Data/process distribution
• CASE tools
• Multimedia content mgmt
• Quality • Network design/mgmt
• Security
56
Structured Methods
Approach
Structured Analysis/Design
Key ideas/frameworks
Analysis:
 Data flow diagrams
 Entity-relationship diagrams
 State-transition diagrams
Design:
 Structure charts
 Coupling/Cohesion
Gurus
 Larry
Key Players/Products

Constantine
 Ed Yourdon
 Chris Gane/Trish Sarson
 Tom DeMarco
 Peter Chen
 Paul Ward/Steve Mellor


Yourdon, inc.
Softech
IBM
57
Structure Chart
PROCESS_PAYROLL
for each employee
get_data(:employee_data)
calc_salary(employee_data:salary)
calc_tax(salary:tax)
print_check(employee_data, salary, tax)
employee_data
employee_data
employee_
data
salary
salary
tax
salary
GET_DATA
CALC_SALARY
CALC_TAX
tax
PRINT_CHECK
58
Program Graph
employee_data
PRINT_
PAYCHECK
salary
CALC_
SALARY
taxes
employee_
data
READ_
DATA
salary
CALC_
TAXES
59
Program Graph
Big idea: As a prelude to creating a design, represent
the basic computational requirement for the system to
be designed in more abstract terms, i.e., in terms of
data flow
employee_data
PRINT_
PAYCHECK
salary
CALC_
SALARY
taxes
employee_
data
READ_
DATA
salary
CALC_
TAXES
60
Data Flow Diagram
1
Maintain
s tudents
s tudent info
Profes s or
as s ignment info
3
s tudent info
D3
Students
as s ignment info
D2
Maintain
as s ignments
As s ignments
as s ignment
info
c ompleted
as s ignment
5
s tudent
info
D1
grade info
Grades
Grade
as s ignment
Student
grade info
7
grade info
Produce
grade report
grade report
61
Entity Relationship Diagram
Employee
employee_id
employee_name
phone_num
office_num
Computer Model
model_num
manufacturer_name
proces s or_type
memory_amt
As s igned
Has
to
Works tation
s erial_num
purchas e_date
model_num
employee_id
is
ins talled on
Is an ins tanc e of
Des c ribes
c ontains
Works tation Software
package_id
s erial_num
is
is
ins tall_date
ins talled on as s ociated with
Software
package_id
purchas e_date
package_name
package_vers ion_num
package_author
res ults in
pertains to
I ncident
incident_num
employee_id
begin_times tamp
end_times tamp
problem_des c
res olution_des c
s tatus _code
s erial_num
package_id
62
Summary Timeline
1960
1970
1990
1980
2000
Mainframe
Decentralized
Tech era
Distributed
Internet
Stage wise
Life cycle
model
Meth
approach
Content
Updates
Waterfall
Iterative/Incremental
Structured Analysis/Design
Information Engineering
Object-Oriented A/D
Agile
• OLTP
• Data mgmt
• JAD
• Prototyping
• UI design
• Bus process reengineering
• Data/process distribution
• CASE tools
• Multimedia content mgmt
• Quality • Network design/mgmt
• Security
63
Information Engineering
Approach
Information Engineering
Key ideas/frameworks
 Enterprise
Gurus
 Clive
Key Players/Products
 James
modeling
 Repository/Encyclopedia
 Automated
Tools/Generators
 End user participation
Finkelstein
 James Martin
Martin & Co./IEM
 Texas Instruments/IEF
 Knowledgeware/IEW
64
Information Engineering
Scope
PLANNING
Enterprise
ANALYSIS
Business Area/System
DESIGN
Process/Subsystem
CONSTRUCTION
Program/Module
65
Summary Timeline
1960
1970
1990
1980
2000
Mainframe
Decentralized
Tech era
Distributed
Internet
Stage wise
Life cycle
model
Meth
approach
Content
Updates
Waterfall
Iterative/Incremental
Structured Analysis/Design
Information Engineering
Object-Oriented A/D
Agile
• OLTP
• Data mgmt
• JAD
• Prototyping
• UI design
• Bus process reengineering
• Data/process distribution
• CASE tools
• Multimedia content mgmt
• Quality • Network design/mgmt
• Security
66
Object-Oriented Methods
Approach
OO Analysis/Design
Key ideas/frameworks
 Unified
Gurus
 Grady
Key Players/Products
 Rational/RUP
Process/UML
 Use cases
 Inheritance
 Object/Class Modeling
 Reuse
Booch
 Ivar Jacobson
 James Rumbaugh
 Sally Shlaer/Steve Mellor
 Peter Coad
(now IBM)
 Object Management Group
 Apple
67
Summary Timeline
1960
1970
1990
1980
2000
Mainframe
Decentralized
Tech era
Distributed
Internet
Stage wise
Life cycle
model
Meth
approach
Content
Updates
Waterfall
Iterative/Incremental
Structured Analysis/Design
Information Engineering
Object-Oriented A/D
Agile
• OLTP
• Data mgmt
• JAD
• Prototyping
• UI design
• Bus process reengineering
• Data/process distribution
• CASE tools
• Multimedia content mgmt
• Quality • Network design/mgmt
• Security
68
Agile Methods
Approach
Agile
Key ideas/frameworks
 Pair
Gurus
 Kent
Key Players/Products

programming
 Continuous testing
 Short iterations
 Heavy user involvement
 Lightweight methods
 Extreme programming
Beck
 Martin Fowler
 Ken Schwaber
 Alistair Cockburn
 Jim Highsmith
Agile Alliance
69
Today’s Agenda
Topic
Duration

Recap of last week
10 minutes

Marketplace snapshot
60 minutes
*** Break
15 minutes

Philosophies, gurus, frameworks
90 minutes

Quiz 1 and Assignment 5
15 minutes
70
Topics for April 13



Read Kroll/Kruchten, chapters 1-4 (see course map)
Quiz on reading due at start of class
Current events briefing (Assignment 5)


Haqi
Limjoco
71