SE470 - ProjMgmt - 1

advertisement
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
SE470 - Project Management Workflow
Excellence in
Repeatable Level
Initial Level
Software Engineering
Optimizing
Level
Managed
Level
Defined Level
Repeatable Level
Initial Level
Larry Dribin, Ph.D. - DePaul University
Phone: (847)807-7390 - Fax: (847)459-1650
Email: dribin@cs.depaul.edu
Copyright 2001 - Larry Dribin, Ph.D. - v1 10-21-01
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 1
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Agenda
Repeatable Level
Initial Level
 Lecture / discussion on Project Management Workflow & Architecture
 A1 - Informal presentation of each person’s experiences (Complete)
 A2 - Present, discuss and plan next interation
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 2
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Best Practices
Repeatable Level
Initial Level
“An organized and documented set of principles, methods and processes that
increase quality and productivity of software development.”
Source: Rational - “Principles of Managing Iterative Development v2.0”
Rational’s View of Best Practices:
 Develop Iteratively
 Manage Requirements
 Use Component Architectures
 Model Visually
 Continuously Verify Quality
 Control Change
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
XP View of Best Practices:
 The Planning Game
 Small releases
 Metaphor
 Simple design
 Testing
 Refractoring
 Pair Programming
 Collective ownership
 Continuous integration
 40-hour work week
 On-site customer
 Coding standards
SE470 - ProjMgmt - 3
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Rational Unified Process - Phases
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Repeatable Level
Initial Level
SE470 - ProjMgmt - 4
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Iterations and Phases
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Repeatable Level
Initial Level
SE470 - ProjMgmt - 5
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Iterative Development
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Repeatable Level
Initial Level
SE470 - ProjMgmt - 6
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Project Management Workflow
Repeatable Level
Initial Level
 Coarse- Grained Plan
Iter. #1
Iter. #2
v
v
5/01
6/01
Iter. #3
Iter. #4
v
v
7/01
8/01
Iter. # 5 Beta1 Beta 2
v
9/01
v
11/01
Product Release
v
v
12/01
2/02
 Fine-Grained Plan
Copyright
August
7/29
8/5
Duration
75 days
ID
1
Task Name
Project Management
2
Initial Planning
4 days
3
Analysis
3 days
4
Desing
4 days
5
Code
5 days
6
Test
2 days
7
Integrateion Test
5 days
8
Deploy
5 days
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
8/12
8/19
8/26
SE470 - ProjMgmt - 7
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Inception
 Objectives
 Establish the Projects Scope
 Define the high level Requirements /
Use Cases
 Exhibit a candidate Architecture
 Estimate the Cost & Schedule
 Estimate the Risk
 Activities
 Formulate the Scope
 Prepare a Business Case which
include: Risk Management, Staffing,
Project Plan, & Tradeoffs between:
Cost, Schedule & Profitability
 Develop a Candidate Architecture
Repeatable Level
Initial Level
 Outcomes / Artifacts
 Vision Document
 Use-Case Model Survey (list of all
use cases and actors)
 Business Case
 Risk Assessment
 Project Plan
 Evaluation Criteria




Stakeholder Concurrence
Requirements Understanding
Credibility of estimates
Depth & Breadth of architectural
prototype
 Actual Expenditures vs. Planned
Expenditures
Inception -> Elaboration -> Construction -> Transition
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 8
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Elaboration
 Objectives




Define & validate the Architecture
Baseline of Vision
Baseline of Construction Plan
Demonstrate that Architecture will
support the Vision
 Activities
 Elaborate the Vision
 Elaborate:
– Process
– Infrastructure
– Tools & Automation
 Elaborate the Architecture
– Begin to Evaluate Components
Repeatable Level
Initial Level
 Outcomes / Artifacts





Use-Case Model
Supplementary Requirements
Software Architecture Description
Executable Architectural Prototype
Development Plan
 Evaluation Criteria
 Is the Vision stable?
 Is the Architecture Stable?
 Does the Prototype show that the
risks have been addressed?
 Is the construction phase plan
sufficiently detailed?
 Do all stakeholders agree that the
vision can be achieved with the
current plan and architecture?
 Is the resource plan acceptable?
Inception -> Elaboration -> Construction -> Transition
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 9
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Construction
 Objectives




Achieve useful versions
Achieve adequate quality
Minimize development costs
Construct as rapidly as possible
 Activities
 Complete Component Development
 Resource Management and process
optimization
 Assess product releases against
acceptance criteria and Vision
Repeatable Level
Initial Level
 Outcomes / Artifacts
 Software Product Releases
 Description of current release
 Users Manuals
 Evaluation Criteria
 Is the product release stable?
 Are all stakeholders ready for
transition?
 Are resource expenditures vs.
planned expenditures still
acceptable
Inception -> Elaboration -> Construction -> Transition
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 10
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Transition
 Objectives
 Move the software product to the
user community
 Achieve user self-support
 Achieve stakeholder concurrence
that deployment baselines are
complete and consistent with the
vision
 Activities
 Rollout of Product
Repeatable Level
Initial Level
 Outcomes / Artifacts




Deployed Software
Beta Testing
Parallel Operation
Conversion of Data Bases
 Evaluation Criteria
 Is the user satisfied?
 Are the actual resources vs. planned
resources acceptable
– Cutover to production
– Commercial Packaging & Shipping




Training of Users
Tuning and bug fixing
Add new features
Assess deployment baseline against
the vision
Inception -> Elaboration -> Construction -> Transition
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 11
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Iteration within the Phases
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Repeatable Level
Initial Level
SE470 - ProjMgmt - 12
Excellence in
Iteration is a way to Control Risk & Poorly Defined
Requirements
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Repeatable Level
Initial Level
Selected Scenarios
Project Management
Requirements
Analysis & Design
Implementation
Test
(Validation & Verification)
Deployment
Product
Release
The Iteration Life Cycle is a mini-waterfall.
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 13
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Metrics are the Basis of Iteration Assessment
Iteration ‘N’ Costs &
Schedule Actuals
Quality Assessment
• Test Results
• Defect Density
• Architecture Stability
• Requirements Stability
Copyright
Repeatable Level
Initial Level
Iteration ‘N’ Assessment
 Compare iteration actual
costs, schedule and
functional content with
plan
 Determine rework (if any)
 Determine what risks have
been eliminated or reduced
 Determine what risks
remain and any new risks
 Update overall project plan
for next iteration
 Prepare detailed plan for
next iteration
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Revised Risk Plan
Revised Project Plan
• total Cost
• Schedule
• Scope
Iteration ‘N+1’ Plan
• Cost
• Schedule
• Content
SE470 - ProjMgmt - 14
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Benefits of an Iterative Approach
Repeatable Level
Initial Level
 Risk Mitigation
 Requirements Risks
 Integration Risks
 Architectural Risks
 Easier to Accommodate Change
 Requirements
 Tactical
 Technology
 Learning As You Go
 Increased Opportunity for Reuse
 Better overall Quality
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 15
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Core Workflows
Repeatable Level
Initial Level
 Engineering Workflows
 Business Modeling
 Requirements Definition
 Analysis and Design
 Implementation
 Test
 Deployment
 Supporting Workflows
 Project Management
 Configuration and change management
 Environment
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 16
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Architectural Views
Repeatable Level
Initial Level
 Definition
 System Organization
 Selection of Structural elements and
their interfaces and their behavior
 Composition of these elements into
progressively larger subsystems
 Architectural Style that guides this
organization
 Presentation
 Different Views for Different
Stakeholders
–
–
–
–
–
–
Copyright
Analyst
End user
Project Manager
Designer
Developers
etc.
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Programmers
End Users
Logical
View
End Users
Implementation
View
Use Case
View
Process
View
System Integrators
Deployment
View
System Engineering
The 4+1 View
SE470 - ProjMgmt - 17
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Use Cases
Repeatable Level
Initial Level
 A Use Case is a sequence of actions a system performs that yields an
observable result of value to a particular actor
 An Actor is someone or something outside the system that interacts with
the system
Transfer
Money
Check
Balance
Withdraw
Money
Client
Use Case for an ATM (RUP p100)
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 18
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Metaphor - XP’s View of Architecture
Repeatable Level
Initial Level
 Architecture is just as important in XP projects as it is in any software
project
 Each XP Project is guided by a single overarching metaphor
 Part of the Architecture is captured in the “Systems Metaphor”
 The XP Metaphor replaces much of what other people call “architecture”
 Issues with “architecture”
 Architectures do not push system into any sense of cohesion
 An Architecture is the big boxes and connections
 By asking for a metaphor, we are likely to get an architecture that is easy
to communicate and elaborate
 Put a simple “Architecture” in place and evolve it
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 19
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Role of pictures in design:
Repeatable Level
Initial Level
There is nothing wrong with pictures
 Trouble drawing pictures can give you a subtle clue that the design is in
trouble
 You can design quickly with Pictures
 Anyone can design with Pictures
 Issues with Pictures
 They can’t give you concrete feedback like tests of code can
 It is hard to keep the Pictures and the Code in synchronization
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 20
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Full Life Cycle Software Engineering Processes
Repeatable Level
Initial Level
IT Value Chain
Needs
• Project
Evaluation &
Prioritization
(Work Request)
Analysis
Design
• Requirements
Management
• Software Product
Engineering
• Software
Product
Engineering
Build
• Software
Product
Engineering
Operate
• Systems
Management
• Call Management
• Tech. Support &
Maintenance
Organization Process Function
Performance Measurement
Configuration Management & Documentation Standards
Quality Assurance
Subcontractor Management
Project Planning
Project Tracking & Oversight
Technology Organization
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Technology Strategy
SE470 - ProjMgmt - 21
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
The Planning Game (XP p 86)
 The Pieces - Story Cards
 The Players
 Business
 Development
 The Moves
 Exploration
– Write a story
– Estimate a story
– Split / refine a story
 Commitment
– Sort by value
– Sort by risk
– Set Velocity (how fast can the
development team go)
– Choose scope
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
Repeatable Level
Initial Level
 The Moves (Continued)
 Steer
– Iteration - Business picks one
iteration worth of the most valuable
stories
– Recovery - If Development
overestimated, it can ask the
Business to revise the stories for
this iteration
– New Story - If Business needs a new
story, it can write the story and
– Re-estimate - If development feels
that the plan is no longer accurate, it
can re-estimate all of the remaining
stories
SE470 - ProjMgmt - 22
Excellence in
Software Engineering
Optimized
Level
Manage
d Level
Defined Level
Iteration Planning (XP p 91)
Repeatable Level
Initial Level
 The Pieces - Task Cards
 The Players - Individual
Programmers
 Elaboration Phase
 Write a task
 Split / combine tasks
 Commitment Phase




Accept a Task
Estimate a Task
Set Load Factor
Balancing
 Steering Phase
 Record Progress
 Recovery
 Verify Story
Copyright
2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt
SE470 - ProjMgmt - 23
Download