Page 1, 1/20/2003 Ivica Crnkovic Mälardalen University Department of Computer Engineering ivica.crnkovic@mdh.se Development Project Product Lifecycle Business Idea Development Product production Services Decisions to do something Starting point of activities Product delivery Development project Time Page 2, 1/20/2003 Software project management Concerned with activities involved in ensuring that software is delivered on time and on schedule in accordance with the requirements of the organizations developing and procuring the software - Ian Sommerville A (good) project is a set of planned activities with well defined inputs and outputs (deliverables) defined project participants and their roles well defined start and end point costs Page 3, 1/20/2003
Page 4, 1/20/2003 Members of the Development team SOFTWARE DEVELOPMENT STEPS REQUIREMENTS ANALYSIS AND DEFINITION SYSTEM DESIGN PROGRAM DESIGN IMPLEMENTATION UNIT TESTING INTEGRATION TESTING SYSTEM TESTING SYSTEM DELIVERY MAINTENANCE DEVELOPER ROLES DESIGNER ANALYST PROGRAMMER TESTER TRAINER OTHER ROLES PROJECT MANAGER CONFIGURATION MANAGEMENT TEAM QUALITY TEAM STEERING GROUP Planning and tracking project progress Customers questions Do you understand my problem end needs? Can you deliver a systems that solves my problems? How long it will take to you to develop such a system? How much will it cost?.. DEVELOPER???? CUSTOMER Page 5, 1/20/2003 Management activities Proposal writing - why the project? Project costing Project planning and scheduling (what, when) Personnel selection and evaluation Project monitoring, control, reviews Report writing and presentations (Analyzing the project) Project planning Running the project Closing the project repeat repeat repeat Page 6, 1/20/2003
Page 7, 1/20/2003 Project documents Project description - the project overview, the project participants, other resources, resources, costs, etc. Project plan - planning of activities, schedule, milestones, etc. Project description and project plan should be completed and approved before the project-implementation starts Project report - periodical report during the project life - starts from the project plan Project close-report - includes an analysis of the project The project plan can be (an usually is) revised during the project life Project description and project plan structure Project Overview (project motivation and scope) Project organization Inputs required from the the projects Project deliverables Hardware and software resource requirements, project standards Work breakdown Project schedule Resource management plan Project costs Risk analysis Other plans Monitoring and reporting mechanisms Page 8, 1/20/2003 Additional plans Parts of the project plan or separated documents Plan Description Quality plan Describes the quality procedures and standards that will be used in a project. Validation plan Describes the approach, resources and schedule used for system validation. Configuration management plan Describes the configuration management procedures and structures to be used. Maintenance plan Predicts the maintenance requirements of the system, maintenance costs and effort required. Staff development plan. Describes how the skills and experience of the project team members will be developed. Page 9, 1/20/2003
Page 10, 1/20/2003 Project Organization Important to ensure good communication within the project Two people Three people Four people Five people n people 1 line of communication 3 lines of communication 6 lines of communication 10 lines of communication n(n-1)/2 lines of communication Ensure communication from the project to other instances Define roles and tasks for the project members Project Organization - used at IBM Chief programmer Assistant chief programmer Senior programmers Librarian Administration Test team Junior programmers Page 11, 1/20/2003 Project Organization - a general (Swedish) model Reference Group Steering group Project Manager Quality Department Developers Configuration Manager Quality Engineer Test team Project members Page 12, 1/20/2003
Page 13, 1/20/2003 Inputs and Deliverables - Examples Inputs Item Expected delivery Comment Win XPA 2002 week 25 Uncertain date GPX 2002 week 50 Graphical package from project PP1 Expected to be delivered 2 months after WinXPA delivery Deliverables Item Expected delivery Comment GPD 2002-week 50 Graphical 3D package Course material 2003 week 10 Project scheduling Split project into tasks and estimate time and resources required to complete each task Organize tasks concurrently to make optimal use of workforce Minimize task dependencies to avoid delays caused by one task waiting for another to complete How to do the project scheduling? Dependent on project managers intuition and experience Page 14, 1/20/2003 Dividing project in phases and each phase in activities PROJECT PHASE 1 STEP 1 ACTIVITY 1.1 STEP 2 ACTIVITY 1.2 ACTIVITY 1.3 PHASE 2 PHASE n STEP 1 STEP 2 STEP 1 STEP 2 ACTIVITY 2.1 ACTIVITY 2.2 ACTIVITY 3.3 Page 15, 1/20/2003
Page 16, 1/20/2003 Activities and Milestones Every activity should completed with a milestone ACT IVITIES Feasibility study Requir ements analysis Prototype development Design study Requir ements specification Feasibility report Requir ements definition Evaluation report Architectural design Requir ements specification MILESTONES Tasks duration and dependencies Task = Activity Task Duration Dependencies (days) T1 8 T2 15 T3 15 T1 T4 10 T5 10 T2, T4 T6 5 T1, T2 T7 20 T1 T8 25 T4 T9 15 T3, T6 T10 15 T5, T7 T11 7 T9 T12 10 T11 Page 17, 1/20/2003 Activity network 4/7/94 start 8 days T1 15 days T2 14/7/94 15 days M1 T3 5 d ays 25/7/94 T6 M3 20 days T7 4/8/94 M4 15 days T9 25/8/94 M6 7 days T11 10 days T4 25/7/94 M2 18/7/94 M5 10 days T5 11/8/94 M7 15 days T10 5/9/94 M8 10 days T12 25 days T8 Finish 19/9/94 Page 18, 1/20/2003
Page 19, 1/20/2003 Activity Timeline (Gantt diagram) ACTIVITY NUMBER JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC DESCRIPTION WBS 1.0 SYSTEM PLANNING TODAY 1.1 Review specification Specification approved 1.2 Review budget 1.3 Review schedule 1.4 Develop plan Budget approved Schedule approved Plan approved WBS 2.0 SYSTEM DESIGN 2.1 Top-level design 2.2 Prototyping Design approved Completed Duration Float Critical Slippage Start task Finish task Staff allocation 4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 Fred Jane Anne T4 T1 T2 T3 T8 T6 T9 T10 T11 T12 Jim T7 Mary T5 Page 20, 1/20/2003 Staff Scheduling Fred Load Overload Underload PROJECTED STAFF-DAYS 100% JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC Page 21, 1/20/2003
Page 22, 1/20/2003 Estimating efforts How much efforts is needed in the project? Difficult issue Factor that have impact on the effort s Size (code, documentation, participants) Complexity of the products Special requirements (safety- critical systems) Technology (new, established ) Integration with the existing systems Experiences of the project members.. There are different models for estimating efforts They have in common that they are inaccurate Changes in estimation accuracy as project progresses (Boehm) RELATIVE SIZE RANGE 4x 2x 1.5x 1.25x x 0.5x 0.25x Concept of operations Requirements specification Product design specs. Detailed design specs. Size (SLOC) Cost ($) Accepted software Feasibility Plans and requirements Product design Detailed design PHASES AND MILESTONES Development and test Page 23, 1/20/2003 How to estimate the efforts and time-schedule? Experience Important to follow up the project during its performance Important to save results from previous projects Some pessimistic views Plan, estimate the time, double it (*) Plan, estimate the time, change order of magnitude... (*) Ivicas Project planning law The project will take at least a double as much time as planned. The Ivicas project planning law is valid even if it is taken in the planning. Page 24, 1/20/2003
Page 25, 1/20/2003 Risk Management Risk management Risk assessment Risk control Risk identification Risk analysis Risk prioritization Risk reduction Risk management planning Risk resolution Project follow-up Periodical events (weekly, monthly) Monitor activities Measure and analyze Scheduling (timeliness) Efforts in the project (per phase or activity, per project member) Costs Keep informed the project groups (project members, steering group, customers) If there are deviations from the project plan, or some other problem arise take appropriate measures sometimes it can be necessary to revise the project plan Write project-reports Page 26, 1/20/2003 Project follow-up - timeliness (matching milestones) presentation Planned milestones total Actual milestones total Planned milestones per month Actual milestones per month TODAY Milestones JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC Page 27, 1/20/2003
Page 28, 1/20/2003 Project follow-up - project costs presentation Planned expenditure Actual expenditure TODAY DOLLARS JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC Closing the project - the project-close close report Similar to the project follow-up Summarizes all the measurements and statistics Comparison with the project plan Summarizing the product measurements (amount of code, documentation, etc.) Saving the result which in a knowledge database to be used new projects Page 29, 1/20/2003 Key points Good project management is essential for project success Managers have diverse roles but their most significant activities are planning, estimating and scheduling Planning and estimating are iterative processes which continue throughout the course of a project A project milestone is a predictable state where some formal report of progress is presented to management. Activity charts and bar charts are graphical representations of a project schedule Page 30, 1/20/2003