Metrics

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 21

Chapter 9

Project Management
Introduction
 Effective project management requires a
well-structured project and diligent
oversight
 A well-structured project consists of a
series of finite, effective, well-defined
tasks
 The phases of a software development
methodology define the tasks to be
managed to some extent
Project Management
Responsibilities
 Establish project schedule
 Establish project budget
 Structure the project into units of work
 Assemble the project team
 Assign units of work to individuals
 Determine necessary resources
 Carry out risk assessment
 Monitor progress of project
 Ensure resulting system meets requirements
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
 Current schools of thought:
– Size-oriented
– Function-oriented
– Object-oriented
Size-oriented Metrics
 Attempt to quantify software projects by
using the size of the project to normalize
other quality measures
 Possible data to collect:
– 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
 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
 Use a unit of measure called function
point
 Some possible function points:
– 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 are completed before workload
estimation can occur
 Validity of the workload estimation is
limited to the accuracy of the analysis and
design
 Complexity determination of function
points is subjective
Object-Oriented Metrics
 Suggested measurements for object-
oriented systems:
– Number of scenario scripts
– Number of key classes
– Number of subsystems
 Disadvantages:
– Excludes a history-base of non-object-
oriented projects
Quality Control Metrics
 Correctness
– Defects per thousand LOC
 Maintainability
– Mean time to change
 Integrity
– Likelihood of thwarting an attack
 Usability
– Skill required of users
– Time required to become proficient
– Net increase in productivity
– Users’ attitude toward system
Other Project Management
Concepts
 Mythical staff-month
 Configuration management
 Change control
 Configuration Audit
 Configuration status reporting
Project Planning
 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
 Milestones should be created so that the
project manager receives sufficient
feedback at regular intervals
 The feedback should take the form of a
natural artifact of the development
process
 See figure 9.9 for a list of deliverables
Four Stages of Team
Development
 Forming
 Storming
 Norming
 Performing
Conflict Resolution
Strategies
 Arbitration
 Rules and regulations
 Confrontation
 Negotiation
 Separation
 Neglect
 Coordination device
Risk Management
 Risk management provides a structured
evaluation of a development project to draw
attention to sources of risk
 The need for risk management is demonstrated
by the high failure rate for large-scale software
development initiatives
 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
What is Risk?
 A risk is any unanticipated condition or
event that causes one or more tasks to be
delayed, lengthened, or fail
 Risks can delay or prevent the completion
of a task or project as a whole
 Two very general categories of risk will be
identified here, technical and human risk
Sources of Technical Risk
 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  Administration
– Productivity – Budgetary
– Experience constraints
– Knowledge – Project priority
– Dedication – Realistic
 End users expectations
– Technical knowledge
– Support for project
– Agreement on system
Consequences of Risk
 Delay project
 Compromise the quality of the
project
 Cause the project to fail
 Cause the project to be too
expensive to implement or run
Reducing Risk
 Early project evaluation
 Early implementation of risky system
aspects
 Early use of new technology
 Early resolution of class interaction
problems

You might also like