Project Management Why do projects fail? Technical Reasons inexperience with language/environment last minute efforts lack of standards fantasy factor lack of configuration control failure to follow review/inspection processes Reasons for Failed Projects continued Personal Factors motivation heavy load failure to admit need for assistance (ego) opinionated individuals (ego) Management Factors poor team selection lack of team growth poor coordination of team meetings struggles for leadership (ego) poor communication Project Management Concepts: 4 P’s People Recruitment, training, organization, team development Product Define project scope and design of product Process Establish framework for software development Project Understand complexities of project development Process Management Select process model provides framework for activities Process decomposition Task sets - scheduling, milestones, deliverables, QA points Umbrella activities Software QA SW Configuration management Measure People Management People work in groups Want a good balance of skills, experience and personalities Group is a team not just collection of individuals • Group standards, work closely, egoless People Management Team Building clear purpose and commitment open communication and support, shared leadership, and constructive feedback focus on behaviors and not personalities Stages of Team Development forming (awareness) storming (conflict) norming (cooperation) performing (accomplishing) » PeopleMgmt.ppt People Management Team Empowerment self-governing decision-making latitude: leader decides “what” is to be done, team sets intermediate deadlines, team determines own organizational structure leader “hands-off” until needed Self-Evaluation of Team schedule slips, causal analysis of team difficulties, done as a team and individually People Management Project Managers Solve technical and non-technical problems using people on their teams Motivate people • Satisfy Needs: social, esteem, self-realization Plan and organize their work Ensure work is being done properly 3 Team Organizations DD - democratic, decentralized task coordinators, group consensus CD - controlled, decentralized defined leader, problem solving group CC - controlled, centralized Top-level problem solving and communication between leader and team members 3 Team Organizations Centralized (CD or CC) – simple problems Decentralized (DD) – more and better solutions for difficult problems CC or CD - very large problems when subgrouping easily accommodated (to reduce communication paths) DD – problems with low modularity when higher volume of communication necessary DD – high morale and job satisfaction (long team life) CC and CD – produce fewer defects Two Examples Chief Programmer Team Concept (CD) senior engineer (design, implementation, install), backup engineer(validation), tech staff, librarian (configuration mgmt and finalizing documentation), support (clerical/tech writers), specialists Risks? Structure Open Team (DD) project is a joint effort egoless programming thorough reviews side-by side work Risks? Problem Management Problem: objectives and scope must be defined alternative solutions explored technical and management constraints (deadlines, budge, personnel) identified with information define cost estimates, assess risks, breakdown tasks, and create schedule Problem Management Activities (1-4) 1. 2. Define scope/objectives, alternative solutions, constraints Metrics: collect information to define cost estimates, assess risks, breakdown tasks, and create schedule measure product to assure quality 3. Cost Estimation: provides info for remaining activities (manpower, project duration, $) 4. Risk analysis: identify, assess, prioritize, management, resolve and monitor Problem Management Activities (5-6) 5. Scheduling: evolve or plan in advance, establish milestones, determine task dependencies, assign resources 6. Tracking and Control note each task in schedule, assess impact of delayed task, redirect resources, modify delivery commitments Determining Software Scope Function tasks and performance Quantitative data stated explicitly (#users, size of list, response time) constraints and/or limitations noted mitigating factors described interfaces reliability issues Task Network Graphic, shows task sequences and dependencies Design Coding Integration Testing Analysis/Specs Tests Developed REFINE Unit Testing Scheduling Methods and Tools PERT (program evaluation and review technique) Uses effort estimates, decomposition of product function, process model, project type, task set, task network determine critical paths, time estimates, boundary times (earliest and latest start times, earliest and latest end times, float times) produce a timeline or GANTT chart should also allocate resources Microsoft Project : PERT and GANTT charts Project Tracking and Control Tracking conduct periodic status meetings: report progress and problems evaluate results of all reviews milestones accomplished by scheduled date? Compare dates informal meetings on subjective assessments Control light if everything going well if not: diagnose problem, reassign resources, redefine schedule Project Plan IS A DELIVERABLE TURN IN TO ME!