Chapter 9 Project Management Introduction Effective project management

  • Slides: 21
Download presentation
Chapter 9 Project Management

Chapter 9 Project Management

Introduction Effective project management requires a well-structured project and diligent oversight l A well-structured

Introduction Effective project management requires a well-structured project and diligent oversight l A well-structured project consists of a series of finite, effective, well-defined tasks l The phases of a software development methodology define the tasks to be managed to some extent l

Project Management Responsibilities l Establish project schedule l Establish project budget l Structure the

Project Management Responsibilities l Establish project schedule l Establish project budget l Structure the project into units of work l Assemble the project team l Assign units of work to individuals l Determine necessary resources l Carry out risk assessment l Monitor progress of project l Ensure resulting system meets requirements

Software Metrics Reasons to measure software: – To facilitate estimation of development time –

Software Metrics Reasons to measure software: – To facilitate estimation of development time – To assess the productivity of developers – To assess the quality of the project l Current schools of thought: – Size-oriented – Function-oriented – Object-oriented l

Size-oriented Metrics Attempt to quantify software projects by using the size of the project

Size-oriented Metrics Attempt to quantify software projects by using the size of the project to normalize other quality measures l Possible data to collect: l – – – number of lines of code number of person-months to complete cost of the project number of pages of documentation number of errors corrected before release number of bugs found post release

Problems with using Lines of Code (LOC) as Metric l Lines of source code

Problems with using Lines of Code (LOC) as Metric l Lines of source code comprising a project are not always good gages to the size and complexity of a project: – LOC to complete a task is language dependent – Code reuse reduces LOC but requires more effort, thus well-design system are penalized – Using a LOC based metric encourages programmers to create more LOC, which is ultimately less efficient to maintain

Function-Oriented Metrics Attempt to measure the functionality of a software system l Use a

Function-Oriented Metrics Attempt to measure the functionality of a software system l Use a unit of measure called function point l Some possible function points: l – – – Internal data structures External data structures User inputs User outputs Transformations Transitions

Issues with Using Function. Oriented Metrics Requires that analysis and design of a project

Issues with Using Function. Oriented Metrics Requires that analysis and design of a project are completed before workload estimation can occur l Validity of the workload estimation is limited to the accuracy of the analysis and design l Complexity determination of function points is subjective l

Object-Oriented Metrics Suggested measurements for objectoriented systems: – Number of scenario scripts – Number

Object-Oriented Metrics Suggested measurements for objectoriented systems: – Number of scenario scripts – Number of key classes – Number of subsystems l Disadvantages: – Excludes a history-base of non-objectoriented projects l

Quality Control Metrics Correctness – Defects per thousand LOC l Maintainability – Mean time

Quality Control Metrics Correctness – Defects per thousand LOC l Maintainability – Mean time to change l Integrity – Likelihood of thwarting an attack l Usability – Skill required of users – Time required to become proficient – Net increase in productivity – Users’ attitude toward system l

Other Project Management Concepts l Mythical staff-month l Configuration management l Change control l

Other Project Management Concepts l Mythical staff-month l Configuration management l Change control l Configuration Audit l Configuration status reporting

Project Planning l Project planning requires: – Defining the iterations of the project –

Project Planning l Project planning requires: – Defining the iterations of the project – Specifying subtasks – Determining the project schedule and allocating time for each subtask – Associating deliverables with each subtask to verify progress – Dividing the subtasks among the developers – Scheduling any interdependent tasks to minimize delays - use task network or PERT chart

Monitoring Project Progress Develop project milestones with associated deliverables to gage progress l Milestones

Monitoring Project Progress Develop project milestones with associated deliverables to gage progress l Milestones should be created so that the project manager receives sufficient feedback at regular intervals l The feedback should take the form of a natural artifact of the development process l See figure 9. 9 for a list of deliverables l

Four Stages of Team Development l Forming l Storming l Norming l Performing

Four Stages of Team Development l Forming l Storming l Norming l Performing

Conflict Resolution Strategies l l l l Arbitration Rules and regulations Confrontation Negotiation Separation

Conflict Resolution Strategies l l l l Arbitration Rules and regulations Confrontation Negotiation Separation Neglect Coordination device

Risk Management Risk management provides a structured evaluation of a development project to draw

Risk Management Risk management provides a structured evaluation of a development project to draw attention to sources of risk l The need for risk management is demonstrated by the high failure rate for large-scale software development initiatives l Successful project management relies on the additional time that is built into the development schedule to accommodate some level of delay due to risk factors l

What is Risk? l A risk is any unanticipated condition or event that causes

What is Risk? l A risk is any unanticipated condition or event that causes one or more tasks to be delayed, lengthened, or fail l Risks can delay or prevent the completion of a task or project as a whole l Two very general categories of risk will be identified here, technical and human risk

Sources of Technical Risk l l l l l Project complexity Project size Use

Sources of Technical Risk l l l l l Project complexity Project size Use of state-of-the-art technology Network vulnerability Disgruntled employees Potential for white-collar crime Data attainability Accuracy of data source Need for high-quality graphics

Sources of Human Risk Development team – Productivity – Experience – Knowledge – Dedication

Sources of Human Risk Development team – Productivity – Experience – Knowledge – Dedication l End users – Technical knowledge – Support for project – Agreement on system l l Administration – Budgetary constraints – Project priority – Realistic expectations

Consequences of Risk l Delay project l Compromise the quality of the project l

Consequences of Risk l Delay project l Compromise the quality of the project l Cause the project to fail l Cause the project to be too expensive to implement or run

Reducing Risk l Early project evaluation l Early implementation of risky system aspects l

Reducing Risk l Early project evaluation l Early implementation of risky system aspects l Early use of new technology l Early resolution of class interaction problems