introduction successful software projects require – careful planning – good use of iterative...
TRANSCRIPT
INTRODUCTION
Successful software projects require –Careful planning – Good use of iterative approaches.–Understanding Risks– Assigning ressources– Defining work structure– Balancing the budget
Project Management - Outline
Defining the Project Manager Role– The Project Manager– The Project Artifacts and Milestones
–Planning Projects
–Managing Iterations
–Managing Risks
Project Manager Role
–Plan and control all the activities
– Identify and solves problems early
–Decide on the tradeoffs ;
–Optimizes the performance of individual activities
Plan
• Specify goal and objectives
• Strategies
• Policies
• Plans (Task assign , schedule. etc)
• Procedures
Control (ensure Evrything OK)
• Using measurable objectives
• How far to completion
• Budget
• Quality
• Effect of change
• Team performance
• Taking corrective actions
• Redirecting the team towards original plan
• Modifying the original plan
Plans and Controls
Start1/97
LCO3/97
Build #
1
Build #
2
5/97
LCS5/97
IOC12/97
2/984/97
Planning
Completed(% of total)
100
75
50
25
Inception
ElaborationConstructionTransition
Controlling
Managing ExpectationsWhy manage expectations?
1. People are not perfect.
2. People are not logical.
3. People perceive things differently.
4. Software engineers are people too.
5. Things happen.
Gause & Weinberg, 1989
A new car!
A new car!
Project management
• A set of activities based on the iterations• Risks are evaluated• Project plan is dev (many iterations)• Iteration plan is drawn up , updated , revisited
before the start of the next iteration
Project Management Discipline
SoftwareDevelopment
Plan
MeasurementPlan
Project PlanningReviewReviewer
WorkOrder
Project Manager
DevelopMeasurement
Plan
Plan Phasesand Iterations
Risk List
Software Development Plan
Project Manager Software
Development Plan
Measurement Plan
ProjectPlanRisk List
UPEDU GUIDELINE: Project PlanUPEDU GUIDELINE: Risk list
Responsible for putting together , monitoring and updating the software dev plan. (content likely change drasttically throughout the project )
Each iteration : • requirement ,• analysis and Design, • implementation , • testing ,• project management • Software configuration • Change management
Manager must define milestones (end of each iteration , end of each phase) to steer the progress of the project activities( enable to decide wheather OK , abortion or change should be done.
Major Milestones : progress !
Inception Elaboration Construction Transition
Commit resources for the elaboration phase
Lifecycle Objective Milestone
Commit resources for construction
Lifecycle Architecture Milestone
Product sufficiently mature for customers
Initial Operational End product Milestone
Customer acceptanceor end of life
Product ReleaseTo the customer
time
Project Management - Outline
•Defining the Project Manager Role
•Planning Projects
– Project Organization– The Planning strategies– The Project Plan Artifact
•Managing Iterations
•Managing Risks
Project organization is influenced by many factors:
• The Size of the Software Development Effort– Formality, Standards, Process Rigidity.
• The Degree of Novelty – First of its Kind, Evolution Cycle, Maintenance
• Type of Application– Mission-critical, Performance, Memory constraints,
• The Current Development Process– Process Maturity, Experience of the Developers and Managers
• Organizational Factors – Team attitudes toward changes, Team enthusiasm toward the project
• Technical and Managerial Complexity– Size of the team vs size of the project
Planning strategies -
Top-Down• Begins understanding general req and
constraints.• Then derives a macro-level budget and schedule
and decompose this into lower-level budgets and intermidiate milestones
Bottom-up• Analysis of the micro-level budgets and schedules• Add all the elements – high level budget and
intermediate milestones.
Top-down and Bottom-up- Project Plan
Current
Iteration Plan
Phases and major milestones What and when
Project Plan
Iterations for each phase Number of iterations Objectives DurationStaffing profile
Fine-Grained PlansIntra iteration
Coarse-Grained PlanInter iteration
Next
TasksAllocation to individuals/teamsMajor builds
Project Plan
Project Plan
Iteration Plan
4/02
Start1/02
Proposal3/02
5/02
LCA7/02
IOC12/02
2/034/02
IT1 IT2
ArchitectureReview
ProjectPlanning
ß1 ß2 ProductRelease
IT3 IT4 IT5
DesignReview
Build#1
Build#2
Bar / Gantt Chart Sample
25 01 08 15 22
Jan07
29 05 12 19
Feb07
26 05 12 19
Mar07
26 02 09 16 23
Apr07
30 07 14 21
May07
28 04
Jun07Status Date: 02/Mar/2007
WBS Description
Sample Project Plan
1 Literature Search
2 Concepts Development
3 Lab Models
4 Design
5 Prototype
Planned Progress
Actual Progress
Ahead of Schedule
Behind Schedule
Time Now
Completed Task
Typical project contains info about
Work Structure : (WBS) project breaks to manageable tasks Schedule: the act of assessing the level of effort and ressources required Budget : allocate a certain cost to each activity in the WBS
Resource
Paul
Mary
Joe
Sylvia
Stefan
Role
Designer
Use-Case Specifier
System Analyst
Implementer
Architect
Activities
Define Operations
Detail a Use Case
Find Actors and Use Cases
Perform Unit Tests
Identify Design Mechanisms
$$$
Project Management - Outline•Defining the Project Manager Role•Planning Projects
•Managing Iterations
– The Definition of an Iteration– Scope on an Iteration– Iteration assessment
•Managing Risks
Managing iterations• Best way of structuring software dev project is
through an evolutionary dev plan (iterations )• Project manager must divide and organize the
sequence of iterations according to specific objectives.
• Each iteration will have its share of requirements(objectives) , activities and risks.
• After completing an iteration, manager may find that previously identified risks are no more risks or new ones crop up.
• Should mitigate as many risks as possible
Project Management
Engineering Workflow
Implementation
Test
Analysis & Design
Process Disciplines
Supporting Workflows
Config. & Change Mgmt
Requirements
Elaboration TransitionInception Construction
Iterations
An iteration
Scope of an Iteration depends on Factors
• How many iterations should be included in the project plan?
• How long should each iteration take to plan?– Depends on a number of factors:
• Size of the system being built: The larger the system, the longer the duration.• Number of people: The larger the number of people, the longer the duration.
(overhead for planning the work)
Low 3 0 1 1 1
Typical 6 1 2 2 1
High 9 1 3 3 2
Total I E C T
UPEDU Concept: ITERATION
Progress
Stability
Modularity
Quality
Maturity
Expenditures
Objective evaluation-Metrics
Size and complexity
Rate of change in the project’s complexity or size
Scope of change
Number of errors
Frequency of errors
Project expenditures against plan
Metric Meaning
Iteration assessment – using metrics
Difficult to assess the whole project. One approach is to assess a project at each iteration.
Manager must continuously (meatings) assess progress and risks to prevent any difficulties
Successful iteration : risks reduced as planned , all functionalities implemented , quality objective met
Project Management - Outline•Defining the Project Manager Role
•Planning Projects
•Managing Iterations
•Managing Risks
– Risk Definition– Risk Strategies– Risk Assessments
Managing risks
Manager must :
– have a knowledge of the risks to be present
– have a knowledge of the info that could be missing .
– Have clear strategi to mitigate them
– Deal with problems (unavailabe ressources , funding
of the project , scheduling)
Concepts Associated with Defining Risk
• Risk: – Information missing on a given subject
• Indirect risk:– Project has little or no control (client may lack financing , member may be
sick)
• Direct risk– Project has a large degree of control (inacurate scheduling , budget
shortage)
• Risk attributes:– Probability of occurrence
• Risk magnitude indicator:– High, Significant, Moderate, Minor, Low
UPEDU Concept: RISK
Risk Strategies-managing risks
Risk acceptancelive with it
Risk avoidancereorganize the project to eliminate the risk(remove non critical minor functionality )
Risk mitigation ( through tests and prototypes) reduce the probability or impact
Risk contingency (as result of a failure to mitigate) plan “Plan B” (ex : new iteration)
Risk transfer sub-contract the risk
Risk Strategies are needed to be deployed once risks are identified and classified
Risks assesments
• Monitoring through objective measurements should be
done throughout the software dev life cycle.
• For every risk identified , its probability of occurence as
well as its impact on the project must be established
• Mitigating and contingency strategies must be devised
• Keep up to date the risk list throughout the project