Académique Documents
Professionnel Documents
Culture Documents
Linda Shafer
Don Shafer Chief Technology Officer, Athens Group, Inc. www.athensgroup.com donshafer@athensgroup.com
Seminar Dedication
Enrico Fermi referred to these brilliant Hungarian scientists as the Martians, based on speculation that a spaceship from Mars dropped them all off in Budapest in the early 1900s.
Presentation Description
The key to managing a software development project is having a high level road map to identify where you are on the project. The life cycle model you adopt for your development project is this roadmap. Using IEEE 1074, we will walk through a "standard" development life cycle and all the supporting processes required; e.g. configuration management, documentation, project management, software quality assurance. Using this as the baseline we'll construct a first pass WBS for the life cycle. The next steps will be to customize the baseline life cycle for two different types of development: evolutionary rapid prototyping and commercial-of-the-shelf package selection. To wrap up, some metrics on life cycles for web-based application delivery.
Inputs
Outputs
Product Development
Products
Methods
Software Engineering: A 2003 Perspective
Application of scientific knowledge in industry or business An implement or machine used to do work or perform a task. A manner, means or process for accomplishing something.
Tool
Method
Products
Methods
Software Engineering
Copyright 2002 Linda and Don Shafer
Project Management
8
Pr o d u ct s
Method s
Prod ucts
Methods
Ideas
Copyright 2002 Linda and Don Shafer
Analyze
Copyright 2002 Linda and Don Shafer
10
11
12
13
14
15
16
17
Waterfall Model
Planning Analysis
Design Build Test Deploy
Copyright 2002 Linda and Don Shafer
18
19
Prototypes
PROTOTYPE 1
REQUIREMENTS DEFINITION
REVIEW
PROTOTYPE 2
DETAIL DESIGN
REVIEW
PROTOTYPE 3
SYSTEM CONSTRUCTION
REVIEW
REVIEW
SYSTEM DELIVERY
REVIEW
Training
Planning
Configuration Management
Estimating
Metrics
Quality Assurance
20
Cons: Not stopping the prototyping Prototyping becomes early code hacking
21
Spiral Model
22
Cons: Internal development of large systems High overhead costs Requires a mature organization Risk and prototyping tools a must
23
24
RAD Good/Bad
Pros: Lots of user interaction Early proof of concept Incremental building Cons: Users intimately involved Needs maturity of tools and process Increased overhead if too many prototypes Tight delivery control Poorly set expectations
25
No
Yes
Yes
Yes
No
Yes
Yes
Yes
26
Selecting a Life Cycle Model - Project Characteristic Category Matrix Project Team
Project Team Are the majority of team members new to the problem domain for the project? Waterfall
No
Prototype
Yes
Spiral RAD
Yes No
Are the majority of team members new to the technology domain for the project? Are the majority of team members new to the tools used on the project?
Yes
No
Yes
No
Yes
No
Yes
No
Are the team members subject to reassignment during the life cycle?
Is there training available for the project team if required?
No
Yes
Yes
No
No
No
No
Yes
27
Selecting a Life Cycle Model - Project Characteristic Category Matrix User Community
User Community Will the availability of the user representatives be restricted, or limited during the life cycle? Are the user representatives new to system definition? Are the user representatives experts in the problem domain? Do the users want to be involved in all phases of the life cycle?
Waterfall Yes
Prototype No
Spiral Yes
RAD No
No No No
Yes No No
No Yes Yes
28
Selecting a Life Cycle Model - Project Characteristic Category Matrix Project Type and Risk
Project Type & Risk Does the project identify a new product direction for the organization? Waterfall Prototype Spiral RAD
No
Yes
Yes
No
No
Yes
Yes
Yes
No
No
No
Yes
Is the funding for the project expected to be stable throughout the life cycle?
Yes
Yes
No
Yes
Yes
No
Yes
No
29
30
Each of the above framework activities will occur for every project. However, the set of tasks (we call this a task set) that is defined for each framework activity will vary depending upon the project type (e.g., Concept Development Projects will have a different task set than Application Enhancement Projects) and the degree of rigor selected for the project.
31
32
33
34
35
eXtreme Programming
36
37
38
5%
5%
30%
30%
20%
10%
Series2
Series3
Series4
50.00% 40.00% 30.00% 20.00% 10.00% 0.00% Planning Analysis Design Implement Validate Deliver
Series1
Copyright 2002 Linda and Don Shafer
Series2
Series3
Series4
Series5
40
Validate 27%
Deliver 3%
Planning 13%
Analysis 10%
41
Validate 4%
Deliver Planning 2% 6%
Analysis 9%
Implement 56%
Design 23%
42
Validate 1%
43
Deliver 1%
Implement 78%
44
-3%
7%
10%
16% 65%
-8%
2%
46
47
0.80 0.70
0.10 0.00
$-
48
Evolve to an object-oriented model Embrace modeling with UML Build early and often Build anywhere Communicate, communicate, communicate
49
Key Life Cycle Message Whatever life cycle you start with will not be the one that will really work for you. You have to take charge of your life cycle, monitor it and adapt it to your circumstances. In the end it must become yours!
Copyright 2002 Linda and Don Shafer
50
51
52
53