Transcript SE PM

Software Project
CS 123/CS 231
Chapter 3, Sommerville
Chapters 3,5,6 & 7, Pressman
Chapter 2, Unified Software Development
Management Spectrum
recruiting, selection, performance management,
training, compensation, career development,
organization structure, culture
define product objectives and scope
framework, methodology
project planning, control
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
Artifacts created during the life of a project
models, source code, executables,
Information Objectives
Function and Performance
Problem decomposition
Set of activities that transform requirements to
a product.
Template for creating projects
Use of
Process Models
CMM, ISO, etc
Organizational element through which
software development is managed
Planning Activities
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
Estimates are taken to drive task assignment
and schedule
Milestones describe progress at the end of an
progress report
internal or presented
Deliverables are often part of a milestone
Software Project
Decompose Problem (identify task)
Estimate Size
Estimate Effort
Normally have some translation between
size and effort
Estimate Cost
Don’t forget overhead!
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
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
Time allocation
Effort validation
Defined responsibilities
Defined outcomes
Defined milestones
Risk Management
CS 123/CS 231
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
Risk Categories
Requirements Risks
Skills Risks
Technological Risks
Requirements Risks
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
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
Not enough personnel
Not enough expertise
Dealing with the risks
training / reading / mentoring
deliberate project scheduling