Professional Documents
Culture Documents
Your idea... ?
SOFTWARE PROJECT MANAGEMENT- GOAL
Your idea... ?
SOFTWARE PROJECT MANAGEMENT- ACTIVITIES
Planning,
Organizing,
Staffing,
Directing,
Monitoring,
Controlling,
Innovating and
Representing
of a Software Project.
HOW DOES A SOFTWARE PROJECT PLAN
LOOKS LİKE?
Your idea... ?
SOFTWARE DEVELOPMENT - ACTIVITIES
Feasibility Study
Planning
Quality and configuration management
Project Execution
Requirement Analysis
Specifications,
Coding,
Implementation/Installation,
Maintenance/Support
CHALLENGES SPECIFIC FOR SOFTWARE
PROJECTS
Invisibility,
Complexity,
Non Consistency,
Flexibility
ISSUES-MANAGEMENT VIEW
18.9
ISSUES- PROJECT TEAM VIEW
18.10
Project Agreement vs Problem Statement
Client Manager Project Team
(Sponsor)
Problem
Statement Software Project
Management Plan
Project
Agreement
3PS: PRODUCT-PROJECT-PEOPLE
Product: Reviews Criteria, Process Standards, Product Requirements
and Customer Environment, Evaluation of Alternative Approaches,
Managing Requirements, Managing Subcontractors, Assess Difficulties
Risks Cost and Schedule, Select Methods and Tools, Tailor Processes
and Standards, Master Software Development Cycle.
Project: Build Work Breakdown Structure (WBS), Identify Key
Components, Cost Estimate, Effort Estimate, Managing Risks, Monitor
Development, Create Schedule and Key Milestones, Select Progress
Monitoring Metrics, Project Management Tools, Track Compliance of all
the project teams, Monitor Progress.
People: Evaluate Performance, HR legal issues, Effective meeting,
Interaction and Communication, Leadership and Coaching, Managing
Changes, Conflict Resolution and Negotiations Skills, Planning Careers,
Presenting Skills, Recruiting, Selecting Highly Competence Team,
Teambuilding
SOFTWARE
DEVELOPMENT
MODEL
Project Management Activities
Initiation
Problem statement
definition
Project kickoff
Project kickoff
Steady state
Termination
19
Estimation..
• No easy way, no silver bullet
• Estimation accuracy can improve with more
information about the project
• Early estimates are more likely to be inaccurate
than later
– More uncertainties in the start
– With more info, estimation becomes easier
20
Estimation accuracy
21
Effort Estimation Models..
• A model tries to determine the effort estimate
from some parameter values
• A model also requires input about the project,
and cannot work in vacuum
• So to apply a model, we should be able to
extract properties about the system
• Two types of models - top-down and bottom-
up
22
Effort Estimation Models
Knowle dge about
SW proje ct
Effo rt Estimate
Valu es of some
characte ris tic s
23
Top down estimation
• First determines the total effort, then effort for
components
• Usually works with overall size
• Can also estimate from size and productivity
– Get the estimate of the total size of the software
– Estimate project productivity using past data and project
characteristics
– Obtain the overall effort estimate from productivity and size
estimates
• Effort distribution data from similar project are used to
estimate effort for different phases
24
Bottom-up Estimation
• Effort for components and phases first estimated,
then the total
• Can use activity based costing - all activities
enumerated and then each activity estimated
separately
• Can group activities into classes - their effort
estimate from past data
25
Project Schedule
• A project Schedule is at two levels - overall schedule
and detailed schedule
• Overall schedule comprises of major milestones and
final date
• Detailed schedule is the assignment of lowest level
tasks to resources
26
Overall Schedule
• Depends heavily on the effort estimate
• For an effort estimate, some flexibility exists
depending on resources assigned
• Example. a 56 PM project can be done in 8 months (7
people) or 7 months (8 people)
• Stretching a schedule is easy; compressing is hard
and expensive
27
Detailed Scheduling
• To reach a milestone, many tasks have to be
performed
• Lowest level tasks - those that can be done by a person
(in less than 2-3 days)
• Scheduling - decide the tasks, assign them while
preserving high-level schedule
• Is an iterative task - if cannot “fit” all tasks, must revisit
high level schedule
28
Project: Functions, Activities and Tasks
f1:Function
p:Project
f2:Function
34
..Project Scheduling….
• Graphical notations used in software
project scheduling:
– Tables: summary description of tasks
– Bar charts: show schedule against the time
– Activity charts: graphs that depict
dependencies between tasks and indicate the
critical path (the longest path in the activity
graph)
35
…Project Scheduling…
• Example of tabular description [Fig. 5.5, SE-7]:
Task Duration (days) Dependencies
T1 8
T2 15
T3 15 T1 (M1)
T4 10
T5 10 T2, T4 (M2)
T6 5 T1, T2 (M3)
T7 20 T1 (M1)
T8 25 T4 (M5)
T9 15 T3, T6 (M4)
T10 15 T5, T7 (M7)
T11 7 T9 (M6)
T12 10 T11 (M8)
36
….Project Scheduling..
• Example of activity chart
1 4/7 /03 15 da ys
15 da ys
M1 T3
8 days
T9
T1 5 days 4/8/03 2 5/8/03
2 5/7 /03
4/7 /03 T6 M4 M6
M3
star t 2 0 days 7 days
15 days
T7 T11
T2
25/7 /03 11/8/03 5/9/03
10 da ys 10 days
M2 M7 M8
T4 T5 15 da ys
T10 10 days
1 8/7 /03
T12
M5
2 5 days
T8 Finish
37
19/9/03
…..Project Scheduling.
• Example of bar chart
4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
Start
T4
T1
T2
M1
T7
T3
M5
T8
M3
M2
T6
T5
M4
T9
M7
T10
M6
T11
M8
T12
38
Finish
……Project Scheduling
• Staff allocation chart
4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
Fred T4
T8 T11
T12
Jane T1
T3
T9
Anne T2
T6 T10
Jim T7
Mary T5
39
Detail schedule
• Each task has name, date, duration, resource
etc assigned
• % done is for tracking (tools use it)
• The detailed schedule has to be consistent
with milestones
– Tasks are sub-activities of milestone level
activities, so effort should add up, total schedule
should be preserved
40
Team Structure
• To assign tasks in detailed schedule, need to have a
clear team structure
• Hierarchic team org is most common
– Project manager has overall responsibility; also does
design etc. ( deputy managers for large projects)
– Configuration manager
– Quality Manager
– System architecture
– Work package leaders
– programmers and testers for executing detailed tasks
41
Team structure..
• An alternative – democratic teams
– Can work for small teams; leadership rotates
• Another one used for products
– A development team led by a dev. mgr, a test
team led by test mgr, and a prog. mgmt team
– All three report to a product mgr
– Allows specialization of tasks and separate career
ladders for devs, tests, PMs
42
Software configuration management
process and planning
• Configuration Management Planning;
– Includes defining CM items, naming scheme,
directory structure, access restrictions, change
control, versioning, release procedure etc
• Configuration change board
• During planning, the SCM activities are planned
along with who will perform them
43
Quality Planning
• Delivering high quality is a basic goal
• Quality can be defined in many ways
• Current industry standard - delivered defect density
(e.g. #defects/KLOC)
• Defect - something that causes software to behave in
an inconsistent manner
• Aim of a project - deliver software with low delivered
defect density
44
Risk Level
Risk Management
• Any project can fail - reasons can be technical, managerial, etc.
• Project management aims to tackle the project management aspect
• Engineering life cycles aim to tackle the engineering issues
• A project may fail due to unforeseen events - risk management aims
to tackle this
• Risk: any condition or event whose occurrence is not certain but
which can cause the project to fail
• Aim of risk management: minimize the effect of risks on a project
46
Project Monitoring
• A plan is a mere document that can guide
• It must be executed
• To ensure execution goes as per plan, it must
be monitored and controlled
• Monitoring requires measurements
• And methods for interpreting them
• Monitoring plan has to plan for all the tasks
related to monitoring
47
Measurements
• Must plan for measurements in a project
• Without planning, measurements will not be done
• Main measurements – effort, size, schedule, and
defects
– Effort – as this is the main resource; often tracked through
effort reporting tools
– Defects – as they determine quality; often defect logging
and tracking systems used
• During planning – what will be measured, how, tool
support, and data management
48
Project Tracking
• To get visibility in project execution so
corrective actions can be taken when needed
to ensure project succeeds
• Different types of monitoring done at projects;
measurements provide data for it
49
Tracking…
• Activity-level monitoring
– Each activity in detailed schedule is getting done
– Often done daily by managers
– A task done marked 100%; tools can determine status of
higher level tasks
• Status reports
– Generally done weekly to take stock
– Summary of activities completed, pending
– Issues to be resolved
50
Tracking…
• Milestone analysis
– A bigger review at milestones
– Actual vs estimated for effort and sched is done
– Risks are revisited
– Changes to product and their impact may be
analyzed
• Cost-schedule milestone graph is another way
of doing this
51
Cost-schedule milestone graph
52
Project Management Plan
• The project management plan (PMP) contains
outcome of all planning activities - focuses on
overall project management
• Besides PMP, a project schedule is needed
– Reflects what activities get done in the project
– Microsoft project (MSP) can be used for this
– Based on project planning; is essential for day-to-day
management
53
HOW DOES
SOFTWARE PROJECT
MANAGEMENT
PLAN LOOK LIKE?
Structure of a Software Project
Management Plan
Front Matter
1. Introduction
2. Project Organization
3. Technical Process
4. Work Elements, Schedule,
5. Managerial Process
6. Financial Process (Budget, payment milestones, payment
scheme etc.)
7. Optional Inclusions
SPMP Part 0: Front Matter
• Title Page
• Revision sheet (update history)
• Preface: Scope and purpose
• Tables of contents, figures, tables
Case Study
Distance Based Learning System
for
Marmara University
(MARUN_DBLS)
SPMP Part 1: Introduction
1.1 Project Overview
– Executive summary: description of project, product summary
Marun-DBLS is designed to allow distance based learning for those who are
not able to join face to face classes. It should be the media for loading up the
course material, adding the contents and presentations, program
development, exam management, students grading and other related issues
having real time interactions, academic calander, etc.
SPMP Part 1: Introduction
1.2 Project Deliverables
– All items to be delivered, including delivery dates and
location
Monitoring and
Tracking
SPMP Part 2: Project Organization
2.1 Project Process Model
Project Management
Project Process Model- Milestones,
Reviews
Milestone State Date
M1 Defining Conceputal Model June 2019 Review #1
M2 Design spesifications Dec. 2019 Review #2
M3 Course contents defined June 2020
M4 MARUN-DBLM Software Dec. 2020 Review #3
M5 Project Completion Feb. 2021 Review #4
Project Process Model- Baselines
Milestone State Date
Database Set-up Feb 2020 Baseline #1
Off-line learning system June 2020 Baseline #2
On-line learning system with 1 Sept 2020 Baseline #3
course
Multi course and exam system Dec.2020 Baseline #4
Acceptance Test Feb. 2021 Final #5
Example of an Organization Chart
Client Management Consultants
Architecture Logbook
HCI
Maintenance
Web Master
Documentation Vehicle
VIP
Infrastructure Team
Project Organization for MARUN- DBLS
Proje Yöneticisi Customer
(WP 1 Leader) Representative
Software
Hardware and Real Time
Content Mgr. Development Test Mgr
Infrastr. Mgr. Developers
Mng.
Network Operational
Animators Designers
specialists Scenario Experts
Code Developers
Project Roles
• Management roles
– Organization and execution of the project within constraints.
Examples: project manager, team leader.
• Development roles
– Specification, design and construction of subsystems. Examples:
Analyst, system architect, implementor.
• Cross functional roles
– Coordination of more than one team. Example: API Engineer,
configuration manager, tester
• Consultant roles
– Support in areas where the project participants lack expertise.
Examples: End user, client, application domain specialist ( problem
domain), technical consultant (solution domain).
• Promoter roles
– Promote change through an organization.
Knowledge Promoter
• Also called the technologist,
• Promotes change arising in the application domain or the
solution domain. Usually associated with the power promoter.
• Tasks: Acquire information iteratively, understand the benefits
and limitations of new technologies, and argue its adoption with
the other developers.
• Example at project level: System architect.
– Reports to project manager
– Does not have any direct subordinate in the reporting
hierarchy
– Has final say over all technical decisions in the system.
• Example at corporate level: Chief Technical Officer (CTO).
Project Management: Hierarchical Project Organization
Control Flow
Information Flow Chief Executive
A B
Project Members
Basis
Basisof
of organization:
organization:
Complicated
Complicatedinformation
information and
and control
controlflow
flow
across
acrosshierarchical
hierarchical boundaries
boundaries
Another Project Organization:
Egoless Programming Team (Weinberg)
Analyst
Tester Programmer
Designer Librarian
Project-Based Project Organization
Project
Leader
Coaches
A B Team
Members
Basis
Basisof
oforganization:
organization:
Nonlinear
Nonlinearinformation
informationflow
flowacross
across dynamically
dynamicallyformed
formedunits
units
Assigning Responsibilities To People
Team A
“To Do” List for the Project
Role 1
Person A
• Item 1 Item 1
• Item 2 Item 2
Item 9 Role 1
• Item 3
• Item 4 Role 2 Role 2
Item 4
• Item 5
Item 5
• Item 6
Item 7
• Item 7 Person B
• Item 8
Role 3
• Item 9
Item 3 Role 3
Item 6
Item 8
Possible Mappings of ToDos to People
• One-to-One
– Ideal but often not worth to be called a project
• Many-to-Few
– Each project member assumes several roles ("hats")
– Danger of overcommittment
– Need for load balancing
• Many-to-"Too-Many"
– Some people don't have significant roles
– Bystanders
– Loosing touch with project
Project Organization for MARUN- DBLS
Proje Yöneticisi Customer Representative
(Ali Cengiz) (Fuat Gözatıcı)
CM Board
Q@CM (PM and WP
(Ayşe Bakar) Leaders)
Outputs and success criteria
Man/Months
WP Leader
Responsible Institutions
Start Time
WP No 1000 WPA Level W (*)T0 42
Date (month)
P
Name of
the Work Project Management, Quality and Configuration Management
Package
Work Aim
Description Activities
This work package includes the definitions of all of the management contents of the project. The following
Execution of the project according to the project plan, completion of the project on time,
Project quality management
Outcomes
Project Development Reports
Configuration plan, Project revision documents
Project Risk Management Report
Quality Assurance Plan, Quality Review Reports
Review Reports
Meeting reports, Management Group Meetings
• Payment milestones
– Work acceptance sheets,
– Payment amount due
• Payment scheme
– Authoritisation
– Transfer scheme
– Fine and payback scheme
Project Budget for MARUN_DBLS
SPMP Part 7: Other inclusions
• Project agreement
• Subcontracting
• Contractual issues
• Authorized signatures
• ...
• ...
QUESTIONS
?