Transcript SE PM

Software Project
Management
CS 123/CS 231
References
Chapter 3, Sommerville
Chapters 3,5,6 & 7, Pressman
Chapter 2, Unified Software Development
Process
Management Spectrum
People
recruiting, selection, performance management,
training, compensation, career development,
organization structure, culture
Product
define product objectives and scope
Process
framework, methodology
Project
project planning, control
People
Organization Structure (Players)
architects, developers, testers, supporting
management, customers and other stakeholders
Software Team Structure
Most effective if between 6-8 members
Democratic decentralized
Controlled decentralized
Controlled centralized
Coordination and Communication
Product
Artifacts created during the life of a project
models, source code, executables,
documentation
Scope
Context
Information Objectives
Function and Performance
Problem decomposition
Process
Set of activities that transform requirements to
a product.
Template for creating projects
Definition
Institutionalization
Improvement
Use of
Process Models
CMM, ISO, etc
Project
Organizational element through which
software development is managed
Planning Activities
Tracking
Managing Risk
Management Activities
Proposal Writing
Project Costing
Planning and Scheduling *
Monitoring and Review *
Personnel Selection and Evaluation
Reports and Presentations *
Process Framework
S/W project typically divided into activities or
tasks
Estimates are taken to drive task assignment
and schedule
Milestones describe progress at the end of an
activity
progress report
internal or presented
Deliverables are often part of a milestone
Software Project
Estimation
Decompose Problem (identify task)
Estimate Size
Estimate Effort
Normally have some translation between
size and effort
Estimate Cost
Don’t forget overhead!
Sizing
Based on historical data
Function Point
Standard Component Sizing
Change Sizing
LOC based
Empirical Estimation Models
Project Scheduling
Scheduling involves:
distribute estimated effort across planned
duration by allocating effort to specific tasks
Considerations
parallel activities
problem anticipation, regular sched updates
resources other than time
critical dependencies
Scheduling Notation
Task Duration and Dependencies
table or activity network
Activity Bar Chart
schedule, parallel activities
depicts flexibility against schedule slippage
Staff Allocation
table or time chart
Scheduling Principles
Compartmentalization
Interdependency
Time allocation
Effort validation
Defined responsibilities
Defined outcomes
Defined milestones
Risk Management
CS 123/CS 231
Risk
Something that can go wrong
Caused by inadequate information
Resolved by initiating actions that
discover the relevant information
reduce uncertainty
Boehm’s Spiral Model
explicitly integrates risk assessment and
reduction
Risk Categories
Requirements Risks
Skills Risks
Technological Risks
Others
Requirements Risks
Dangers
building the wrong system
misunderstanding priorities
Dealing with the risks
improve communication between analysts,
developers, and clients
enforce the discipline of using concrete,
understandable models (e.g., use cases)
Technological Risks
Dangers
Unexplored software tools or techniques
Lack of alternatives
Dealing with the risks
obtain necessary resources
build working prototypes
test integration capabilities (arch design)
identify alternatives
Skills Risks
Dangers
Not enough personnel
Not enough expertise
Dealing with the risks
training / reading / mentoring
deliberate project scheduling