ICS 442 Software Project Management Unit 2 - Software development life cycle - Project planning approach Software development process a structure imposed on the development of a software product There are several models for software development process - process model - Capability maturity model (CMM) - Software Process Improvement Capability Determination (SPICE) - Six sigma, etc. Software development steps Software elements analysis Specification Software architecture Implementation (or coding) Testing Documentation Maintenance Software development life cycle (SDLC) Requirements specification Requirements analysis & design Coding & testing Development & support Software Project Management a sub-discipline of project management in which software projects are planned, monitored and controlled SPM Project planning Project monitoring & control Software requirements Risk management Software process Problems in software project Project Planning Source: Ian ridley, university of Sunderland Why need to plan? To eliminate or reduce uncertainty To improve efficiency of the operation To obtain a better understanding of the objectives To provide a basis for monitoring and controlling work The consequences of poor planning premature project initiation wild enthusiasm disillusionment chaos search for the guilty punishment of the innocent promotion of the non-participants definition of the requirement Project planning Identify scope of a project Estimate the works involved - budget & cost - time, etc. Resource allocation Project schedule Planning components Objectives – Programme – strategy and major action to achieve objectives Schedule – a goal, target or quota to be achieved a plan to show when milestones will be reached Budget – planned expenditure for the project Planning components Forecast – Organisation – a projection of what will/may happen when the projects management and personnel structure Policy – a general guide to decision making and individual actions Planning components Procedures – a detailed method for carrying out policy Standards – a level performance defined as adequate and/or acceptable Project planning approaches There are many frameworks for project planning. Two examples are Step Wise PRINCE 2 Step wise Has 10 defined steps Step 0 Select project (it’s outside main project planning process) Step 1 Identify project scope and objectives Step 2 Identify project infrastructure Step 3 Analyse project characteristics Step 4 Identify project products and activities Step 5 Estimate effort for each activity Step 6 Identify activity risk Step 7 Allocate resources Step 8 Review / publicise plan Step 9 Execute plan Step 10 Lower levels of planning More details of Step Wise # Step 1:Identify project scope and objectives – – – – – Identify objectives and measures of effectiveness in meeting them Establish a project authority Identify all stakeholders in the project and their interests Modify objectives in the light of stakeholder analysis Establish methods of communication with all parties # Step 2: Identify project infrastructure – – – Establish relationships between project and strategic planning Identify installation standards and procedures Identify project team organisation # Step 3: Analyse project characteristics – – – – – – Distinguish the project as either objective or product driven Analyse other project characteristic's Identify high level project risk Take into account user requirements concerning implementation Select general life-cycle approach Review overall resource estimates # Step 4: Identify project products and activities – – – – – Identify and describe project products (or deliverables) Document generic product flows Recognise product instances Produce ideal activity network Modify ideal to take into account need for stages and checkpoints # Step 5: Estimate effort for each activity – – Carry out bottom-up estimates Revise plans to create controllable activities # Step 6: Identify activity risk – – – Identify and quantify activity-based risks Plan risk reduction and contingency measures where appropriate Adjust plans and estimates to take account of risk # Step 7: Allocate resources – – Identify and allocate all resources Revise plans and estimates to account for resource constraints # Step 8: Review/publicise plan – – Review quality aspects of project plan Document plans and obtain agreement # Step 9: Execute plan # Step 10: Lower levels of planning – There are no sub-sections for steps 9 & 10 PRINCE 2 Projects IN Controlled Environments a set of project management standards Sponsored by OGC (the Office of Government Commerce) Suit for large organizations; a number of software & other projects being executed at the same time PRINCE2 approach to planning PL1; Design a plan PL2; Define and analyze products PL3; Identify activities and their dependencies PL4; Estimate effort for each activity PL5; Schedule PL6; Analyze risk PL7; Complete plan 3 key elements of PRINCE 2 1. Processes 2. Components 3. Techniques 1.PROCESS PRINCE2 defines 45 separate subprocesses and organizes these into eight processes as follows: Starting Up a Project (SU) Planning (PL) Initiating a Project (IP) Directing a Project (DP) Controlling a Stage (CS) Managing Product Delivery (MP) Managing Stage Boundaries (SB) Closing a Project (CP) PRINCE 2 processes diagram 2.Components – – – – – – – – Business Case Organization Planning (also a Process and Technique) Controls Management of Risk Quality In A Project Environment Configuration Management Change Control 3.Techniques – – – Product-Based Planning (planning is also a Process and Technique) Change Controls Quality Reviews Conclusion of planning approach Planning approach’s elements The establishment of project objectives The analysis of the characteristics of the project The establishment of an infrastructure consisting of an appropriate organization and set of standards, methods and tools The identification of the products of the project Continue… The identification of the activities needed to generate those products The allocation of resources to activities The establishment of quality controls