copyright 2001 - larry dribin, ph.d. se470_projmgmt_v1.ppt se470 - projmgmt - 1 excellence in...
Post on 20-Dec-2015
225 views
TRANSCRIPT
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
SE470 - Project Management Workflow
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimizing Level
Larry Dribin, Ph.D. - DePaul University
Phone: (847)807-7390 - Fax: (847)459-1650
Email: [email protected]
Copyright 2001 - Larry Dribin, Ph.D. - v1 10-21-01
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 2
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Agenda
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 - 3
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Best Practices
Rational’s View of Best Practices: Develop Iteratively Manage Requirements Use Component Architectures Model Visually Continuously Verify Quality Control Change
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
“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”
“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”
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 4
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Rational Unified Process - Phases
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 5
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Iterations and Phases
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 6
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Iterative Development
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 7
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Project Management Workflow Coarse- Grained Plan
Fine-Grained PlanIter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. # 5 Beta1 Beta 2 Product Release
v v v v v v v v
5/01 6/01 7/01 8/01 9/01 11/01 12/01 2/02
ID Task Name Duration
1 Project Management 75 days
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
7/29 8/5 8/12 8/19 8/26August
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 8
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized 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
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 -> TransitionInception -> Elaboration -> Construction -> Transition
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 9
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized 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
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 -> TransitionInception -> Elaboration -> Construction -> Transition
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 10
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized 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
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 -> TransitionInception -> Elaboration -> Construction -> Transition
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 11
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized 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
– Cutover to production– Commercial Packaging & Shipping
Training of Users Tuning and bug fixing Add new features Assess deployment baseline against
the vision
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
Inception -> Elaboration -> Construction -> TransitionInception -> Elaboration -> Construction -> Transition
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 12
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Iteration within the Phases
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 13
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Iteration is a way to Control Risk & Poorly Defined Requirements
Project Management
Requirements
Analysis & Design
Implementation
Test (Validation & Verification)
Deployment
Selected Scenarios
ProductRelease
The Iteration Life Cycle is a mini-waterfall.The Iteration Life Cycle is a mini-waterfall.
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 14
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Metrics are the Basis of Iteration Assessment
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
Iteration ‘N’ Costs &Schedule Actuals
Quality Assessment• Test Results• Defect Density• Architecture Stability• Requirements Stability
Revised Risk Plan
Revised Project Plan• total Cost• Schedule• Scope
Iteration ‘N+1’ Plan• Cost• Schedule• Content
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 15
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Benefits of an Iterative Approach
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 - 16
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Core Workflows
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 - 17
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Architectural Views
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
– Analyst– End user– Project Manager– Designer– Developers– etc.
LogicalView
ProcessView
ImplementationView
DeploymentView
Use CaseView
End Users Programmers
End Users
System Integrators System Engineering
The 4+1 View
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 18
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Use Cases
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
WithdrawMoney
Client
CheckBalance
TransferMoney
Use Case for an ATM (RUP p100)Use Case for an ATM (RUP p100)
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 19
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Metaphor - XP’s View of Architecture
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 - 20
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Role of pictures in design:
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 - 21
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Full Life Cycle Software Engineering Processes
Needs Analysis Design Build Operate
Project Tracking & Oversight
Project Planning
Subcontractor Management
Quality Assurance
Configuration Management & Documentation Standards
Performance Measurement
• Systems Management
• Call Management• Tech. Support &
Maintenance
• Requirements Management• Software Product
Engineering
• Software Product Engineering
• Software Product Engineering
• Project Evaluation & Prioritization (Work Request)
Technology OrganizationTechnology Organization Technology StrategyTechnology Strategy
Organization Process Function
IT Value Chain
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 22
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized 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
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
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 23
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Iteration Planning (XP p 91)
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