290 likes | 430 Views
INTRODUCTION. Successful software projects require C areful planning G ood 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
E N D
INTRODUCTION Successful software projectsrequire • Carefulplanning • Good use of iterative approaches. • UnderstandingRisks • Assigning ressources • Definingworkstructure • Balancing the budget
Project Management - Outline Defining the Project Manager Role • The Project Manager • The Project Artifacts and Milestones • Planning Projects • ManagingIterations • ManagingRisks
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(ensureEvrything OK) • Using measurable objectives • How far to completion • Budget • Quality • Effect of change • Team performance • Takingcorrectiveactions • Redirecting the team towards original plan • Modifying the original plan
100 Planning LCO IOC LCS Start 2/98 4/97 3/97 12/97 5/97 1/97 75 50 25 5/97 1 2 # # d d l l i i u u B B Plans and Controls Completed (% of total) Controlling Elaboration Transition Inception Construction
A new car! A new car! Managing Expectations Why 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
Project management • A set of activitiesbased on the iterations • Risksareevaluated • Project plan is dev (many iterations) • Iteration plan is drawn up , updated , revisitedbefore the start of the nextiteration
Project Management Discipline Work Risk List Measurement Order Plan Develop Plan Phases Measurement Project and Iterations Plan Manager Project Planning Software Review Reviewer Development Plan
Risk List Software Development Plan Responsible for putting together , monitoring and updating the software dev plan. (content likely change drastticallythroughout the project ) Project Manager Project Plan Measurement Plan Software Development Plan UPEDU GUIDELINE: Project Plan UPEDU GUIDELINE: Risklist
Eachiteration: • requirement , • analysis and Design, • implementation , • testing , • project management • Software configuration • Change management • Manager must definemilestones (end of eachiteration , end of each phase) to steer the progress of the projectactivities( enable to decidewheather OK , abortion or change shouldbedone.
Customer acceptance or end of life Product sufficiently mature for customers Commit resources for construction Commit resources for the elaboration phase Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational End product Milestone Product Release To the customer Major Milestones : progress ! Inception Elaboration Construction Transition time
Project Management - Outline • Defining the Project Manager Role • Planning Projects • Project Organization • The Planning strategies • The Project Plan Artifact • ManagingIterations • ManagingRisks
Project organizationisinfluenced by many factors: • The Size of the Software Development Effort • Formality, Standards, Process Rigidity. • The Degree of Novelty • FirstofitsKind, EvolutionCycle, Maintenance • Type of Application • Mission-critical, Performance, Memoryconstraints, • The Current Development Process • ProcessMaturity, ExperienceoftheDevelopersandManagers • Organizational Factors • Teamattitudestowardchanges, Teamenthusiasmtowardtheproject • Technical and Managerial Complexity • Sizeoftheteamvssizeoftheproject
Planningstrategies - Top-Down • Begins understanding general req and constraints. • Thenderives a macro-levelbudget and scheduleand decomposethisintolower-level budgets and intermidiate milestones Bottom-up • Analysis of the micro-level budgets and schedules • Add all the elements – highlevel budget and intermediatemilestones.
Top-down and Bottom-up- Project Plan Project Plan Iteration Plan Next Current Phases and major milestones What and when Iterations for each phase Number of iterations Objectives Duration Staffing profile Tasks Allocation to individuals/teams Major builds Fine-Grained Plans Intra iteration Coarse-Grained Plan Inter iteration
Project Plan Product Release Architecture Review Project Planning Project Plan ß1 ß2 IT4 IT3 IT5 IT2 IT1 Proposal Start LCA IOC 2/03 4/02 1/02 3/02 7/02 12/02 Iteration Plan 5/02 4/02 Design Review Build #1 Build #2
Bar / Gantt Chart Sample Actual Progress Ahead of Schedule Planned Progress Completed Task Behind Schedule Time Now
Typical project contains info aboutWork Structure : (WBS) project breaks to manageable tasks Schedule: the act of assessing the level of effort and ressources requiredBudget : allocate a certain cost to each activity in the WBS Role Designer Use-Case Specifier System Analyst Implementer Architect Resource Paul Mary Joe Sylvia Stefan 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 • ManagingIterations • The Definition of an Iteration • Scope on an Iteration • Iteration assessment • ManagingRisks
Managingiterations • Best way of structuring software devproject is through an evolutionarydev plan (iterations) • Project manager must divide and organize the sequence of iterationsaccording to specificobjectives. • Eachiterationwill have itsshare of requirements(objectives) , activities and risks. • Aftercompleting an iteration, manager may find thatpreviouslyidentifiedrisksareno more risksor new onescrop up. • Shouldmitigate as many risks as possible
Process Disciplines Supporting Workflows An iteration Elaboration Construction Transition Inception Engineering Workflow Requirements Analysis & Design Implementation Test Config. & Change Mgmt Project Management Iterations
Total I E C T Low 3 0 1 1 1 Typical 6 1 2 2 1 High 9 1 3 3 2 Scope of an Iteration depends on Factors • How many iterations should be included in the project plan? • Howlongshouldeachiterationtake 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) UPEDU Concept: ITERATION
Objective evaluation-Metrics Metric Meaning 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 Progress Stability Modularity Quality Maturity Expenditures 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 • ManagingIterations • ManagingRisks • Risk Definition • Risk Strategies • Risk Assessments
Managingrisks Manager must : • have a knowledge of the risks to be present • have a knowledgeof the info thatcouldbe missing . • Have clear strategi to mitigatethem • Deal with problems (unavailabe ressources , funding of the project , scheduling)
Concepts Associated with Defining Risk • Risk: • Information missing on a given subject • Indirectrisk: • Project has little or no control (client may lack financing , member may be sick) • Directrisk • Project has a large degree of control (inacurate scheduling , budget shortage) • Riskattributes: • Probability of occurrence • Riskmagnitudeindicator: • High, Significant, Moderate, Minor, Low UPEDU Concept: RISK
Risk Strategies-managing risks Risk Strategies are needed to be deployed once risks are identified and classified • Risk acceptance • live with it • Risk avoidance • reorganize the project to eliminate the risk • (remove non critical minor functionality ) • Risk mitigation ( throughtests and prototypes) • reduce the probability or impact • Risk contingency (asresult of a failure to mitigate) • plan “Plan B” (ex : new iteration) • Risk transfer • sub-contract the risk
Risksassesments • Monitoringthroughobjectivemeasurementsshouldbe done throughout the software devlifecycle. • For everyriskidentified , itsprobability of occurence as well as itsimpact on the project must beestablished • Mitigating and contingencystrategies must bedevised • Keep up to date the risk list throughout the project