126
INFO3013 Systems Developm ent Management 1 © Copyright De Montfort University 2001 All Rights Reserved Module Objectives • At the end of this module students should: Describe the major activities in software project management, Prescribe organisational structures appropriate to software projects, Understand the basic principles for planning and scheduling a project, Define the basic mechanisms for project control, Understand the principles of software risk management, Develop an appropriate approach to software estimation, Identify the principle issues involved in managing software reuse, Understand the issues involved in team recruitment and management

© Copyright De Montfort University 2001 All Rights Reserved INFO3013 Systems Development Management 1 Module Objectives At the end of this module students

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

INFO3013 Systems Development Management

1© Copyright De Montfort University 2001 All Rights Reserved

Module Objectives

• At the end of this module students should:• Describe the major activities in software project management,• Prescribe organisational structures appropriate to software projects,• Understand the basic principles for planning and scheduling a project,• Define the basic mechanisms for project control,• Understand the principles of software risk management,• Develop an appropriate approach to software estimation,• Identify the principle issues involved in managing software reuse,• Understand the issues involved in team recruitment and management

INFO3013 Systems Development Management

2© Copyright De Montfort University 2001 All Rights Reserved

Topics Covered

• Project Planning and Scheduling

• Project Control

• People Management

• Risk Management

• Software Estimation

• Reuse Management

• Requirements Control

© Copyright De Montfort University 2001 All Rights Reserved

What’s So Difficult about Software Management?

INFO3013 Systems Development Management

4© Copyright De Montfort University 2001 All Rights Reserved

Nature of a Project

• Creates Change

• Has Composite Goals– Human, Technical, Structural

• Is Unique

• Is limited in time and scope

• Involves a variety of resources

• May be large or complex

• May involve several phases.

INFO3013 Systems Development Management

5© Copyright De Montfort University 2001 All Rights Reserved

What’s special about software projects?

• Intangible

• Complex

• No standard processes

• More skill-dependent

• Often greater social effect

• Flexibility

INFO3013 Systems Development Management

6© Copyright De Montfort University 2001 All Rights Reserved

Therefore..

• Greater chance of failure.

• Greater Uncertainty.

• Greater Chance of being affected by organisational change.

• ...

INFO3013 Systems Development Management

7© Copyright De Montfort University 2001 All Rights Reserved

Problems with Software Projects

• Estimating!

• Measuring!

• Communicating!

• Negotiating!

• Resourcing!

• Marketing!

• Training!

© Copyright De Montfort University 2001 All Rights Reserved

The Project Manager’s Role

INFO3013 Systems Development Management

9© Copyright De Montfort University 2001 All Rights Reserved

What is Management?

• Planning

• Organising

• Staffing

• Directing

• Monitoring

• Controlling

• Innovating

• Representing

INFO3013 Systems Development Management

10© Copyright De Montfort University 2001 All Rights Reserved

The ProjectManager

persuasivecommunicator

effective plannertechnically competent

good project trainer organisationally powerful

effective manager ofteams

good controller

sensitive to the problemsof change

INFO3013 Systems Development Management

11© Copyright De Montfort University 2001 All Rights Reserved

The Project Lifecycle

• Describe a typical project Lifecycle

• Where does software project management start?

• Where does it end?

© Copyright De Montfort University 2001 All Rights Reserved

Software Project Management Activities

INFO3013 Systems Development Management

13© Copyright De Montfort University 2001 All Rights Reserved

Time Billing System

• You have been given the brief for the Time Billing System

• Consider– When problems do you envisage with this

project?– What questions would you ask?– What initial activities would you undertake as

project manager?

INFO3013 Systems Development Management

14© Copyright De Montfort University 2001 All Rights Reserved

What Management Practice should be in place?

• Project Planning, Control and Tracking Methods

• Software Quality Management

• Software Configuration Management

• Quantitative Management

• Training.

– Consider the CMM ….

INFO3013 Systems Development Management

15© Copyright De Montfort University 2001 All Rights Reserved

Software Capability Maturity Model• 1)Initial.

– The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual effort and heroics.

• 2) Repeatable.

– Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.

• 3) Defined.

– The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization. All projects use an approved, tailored version of the organization's standard software process for developing and maintaining software.

• 4) Managed.

– Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled.

• 5) Optimizing.

– Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies.

INFO3013 Systems Development Management

16© Copyright De Montfort University 2001 All Rights Reserved

Project Planning Activities

• Identify project scope and objectives

• Identify project infrastructure

• Analyse project characteristics

• Identify project products and activities

• Estimate effort for each activity

• Identify activity risks

• Allocate resources

• Review and publicize plan

INFO3013 Systems Development Management

17© Copyright De Montfort University 2001 All Rights Reserved

Identify project scope and objectives

• Identify objectives and measures of effectiveness

• Establish a project authority

• Identify stakeholders in the project

• Modify objectives in light of stakeholder analysis

• Establish methods of communication

INFO3013 Systems Development Management

18© Copyright De Montfort University 2001 All Rights Reserved

Identify project infrastructure

• Establish relationship between project and organisation

• Identify standards and procedures– Project planning and control– Configuration management– Quality

• Identify project team organisation

INFO3013 Systems Development Management

19© Copyright De Montfort University 2001 All Rights Reserved

Analyse project characteristics

• Analyse nature of software product

• Identify high level project risks

• Take into account client’s standards and requirements

• Select lifecycle approach

• Review overall resource requirements

INFO3013 Systems Development Management

20© Copyright De Montfort University 2001 All Rights Reserved

Identify project products and activities

• Identify and describe project products (product breakdown structure)

• Document generic product flow

• Recognise product instances

• Produce ideal activity network

• Modify to take into account need for stages and checkpoints

INFO3013 Systems Development Management

21© Copyright De Montfort University 2001 All Rights Reserved

Estimate effort for each activity

• Carry out bottom up estimates

• Revise plans in light of estimates

INFO3013 Systems Development Management

22© Copyright De Montfort University 2001 All Rights Reserved

Identify activity risks

• Identify and quantify activity-based risks

• Plan risk reduction and contingency measures

• Adjust plans and estimates to take account of risks

INFO3013 Systems Development Management

23© Copyright De Montfort University 2001 All Rights Reserved

Allocate Resources

• Identify and allocate resources

• Revise plans and estimates to account for resource constraints

INFO3013 Systems Development Management

24© Copyright De Montfort University 2001 All Rights Reserved

Review and Publicize Plan

• Review quality aspects of project plan

• Document plans and obtain agreement

© Copyright De Montfort University 2001 All Rights Reserved

Organisational Structures

INFO3013 Systems Development Management

26© Copyright De Montfort University 2001 All Rights Reserved

Organisational Structure

• Organisational structure is required to enable:

– managerial control– technical control

INFO3013 Systems Development Management

27© Copyright De Montfort University 2001 All Rights Reserved

Steering Committee

• Focuses on managerial control

• Receives details of project through reporting process

INFO3013 Systems Development Management

28© Copyright De Montfort University 2001 All Rights Reserved

Steering Committee Membership

• Organisational board member• Finance• IT management• Project manager• Suppliers• Sub-project manager• Quality manager• Risk manager• Estimator

INFO3013 Systems Development Management

29© Copyright De Montfort University 2001 All Rights Reserved

Contract Manager

Sub-project

Sub-contractors

Sub-project Sub-project

Project Manager

Steering Committee

INFO3013 Systems Development Management

30© Copyright De Montfort University 2001 All Rights Reserved

Steering Group Agenda

• Project status• Changes to: Objectives• Scope• Risks• Benefits• Costs• Schedules• Staffing

• Actions taken / required• Responsibilities• Causes• Future issues

INFO3013 Systems Development Management

31© Copyright De Montfort University 2001 All Rights Reserved

Managing Large Scale Projects

• Extra Work

• Education

• managing physical resources

• testing

• file conversion

• Problems

• Staffing - turnover

• Changes

• Organisational change

• intra-organisational co-ordination

INFO3013 Systems Development Management

32© Copyright De Montfort University 2001 All Rights Reserved

Managing Large Scale Projects

• Delivery Strategies

• Monolithic

• version/release

• `evolutionary / fast track

• Project Culture

• technical

• ‘logo’

• marketing

• project induction

• ‘timeout’

• Managing stakeholders

• Negotiation

• reviews

• Briefing

INFO3013 Systems Development Management

33© Copyright De Montfort University 2001 All Rights Reserved

= link persons

use of e-mail

Steering Committee

Sub-projects

Project Management

INFO3013 Systems Development Management

34© Copyright De Montfort University 2001 All Rights Reserved

Large Projects

• Mandatory formal project management.

• Standard

• More detailed steering committee involvement.

• Project management 20-30% of development effort.

• Need for clerical support

• Essential use of project management tools

© Copyright De Montfort University 2001 All Rights Reserved

Activity Planning

INFO3013 Systems Development Management

36© Copyright De Montfort University 2001 All Rights Reserved

Planning Goals

• Ensure appropriate resources will be ready when required;

• Avoid different activities competing for same resources;

• Produce detailed schedule showing which staff carry out which activity

• Produce detailed plan against which achievement can be measured,

• Produce timed cash flow forecast;

• Replan project during its lifer to correct drift from target.

INFO3013 Systems Development Management

37© Copyright De Montfort University 2001 All Rights Reserved

Defining Activities

• Activities

– Have clearly defined start and end point– Require forecastable resources– Forecastable duration– May have precedence requirements

INFO3013 Systems Development Management

38© Copyright De Montfort University 2001 All Rights Reserved

Identifying Activities

• Activity-based approach

– List all activities (brainstorm)– Sub-divide project– Create work breakdown structure– Create task catalogue

INFO3013 Systems Development Management

39© Copyright De Montfort University 2001 All Rights Reserved

Identifying Activities

• Product Based Approach– Used in PRINCE2– Product Breakdown Structure– Product Flow Diagram– List of Activities identified from

transformations

INFO3013 Systems Development Management

40© Copyright De Montfort University 2001 All Rights Reserved

Product Breakdown Structure

Project

QualityManagement Technical

Application OperationsEducation User

TestingDesign

INFO3013 Systems Development Management

41© Copyright De Montfort University 2001 All Rights Reserved

Product Flow Diagram

ToR

AcceptanceCriteria

Requirements

Design

TestApplication /

Product

Education User

Release

System

INFO3013 Systems Development Management

42© Copyright De Montfort University 2001 All Rights Reserved

The transition between product (s) involves numerous activities.

These activities, which have durations and dependencies, can be identifiedfrom the transitions between products at a detailed level from product flowswithin the product breakdown structure.

DESIGN

APPLICATION

program system

again, very highlevel

INFO3013 Systems Development Management

43© Copyright De Montfort University 2001 All Rights Reserved

The activities can be listed:-

Ref Activity Description Duration(days)

Dependencies

05 Produce stage plans 310 Produce requirements 15 0520 Identify enhancements 5 1030 Produce acceptance criteria 5 05

INFO3013 Systems Development Management

44© Copyright De Montfort University 2001 All Rights Reserved

The activities can then be ordered on a PERT activity network:

30

05

10 30

INFO3013 Systems Development Management

45© Copyright De Montfort University 2001 All Rights Reserved

Activity Network

1 2 3 4 5 6 7 8 9 10

A

B

C

D

E

F

G

Technical Plan

3

4

4

3

2

2

1

B D

C

F

E

GA

INFO3013 Systems Development Management

46© Copyright De Montfort University 2001 All Rights Reserved

Each activity becomes a box:-

EARLIEST START TIME DURATION EARLIEST FINISH TIME

REF ACTIVITY DESCRIPTION

LATEST START TIME TOTAL FLOAT LATEST FINISH TIME

INFO3013 Systems Development Management

47© Copyright De Montfort University 2001 All Rights Reserved

Critical Path

• A line which passes through all activities which has zero float.

INFO3013 Systems Development Management

48© Copyright De Montfort University 2001 All Rights Reserved

Resource Allocation

• We then need to allocate activities to resource (people) Technical Plan

• Resources allocated in order of float - activities with floats may have to wait.

• But we haven’t got unlimited resources

resource smoothing• move activities within their floats• change resource allocation

INFO3013 Systems Development Management

49© Copyright De Montfort University 2001 All Rights Reserved

SSADM Version 4 Stage 3: Definition of Requirements

Step 310Define required

system processing

Step 380Assemble

requirementsspecification

Step 370Confirm system

objectives

Step 360Develop

processingspecification

Step 350Develop

specificationprototypes

Step 340Enhance required

data model

Step 330Derive system

functions

Step 320Develop required

data model

RJP/SSADM 3/PP

amend c l DFD toagree with BSO and LDS(this gives required system DFD)

use r.s . DFD to identifyupdate & enquiry functions

use r.s . DFD and LDM as inputs toentity/event modelling, creat ing ELHs,EAPs and ECDs

use r.s . DFD andLDM forreference

required systemLDM prepared

refer to r.s. LDM as necessary

validate andenhance LDMfrom RDA

update required system LDMas necessary

cross check LDM against allother products

INFO3013 Systems Development Management

50© Copyright De Montfort University 2001 All Rights Reserved

Stage Description Analyst User Programmer Manager(days) (days) (days) (days)

310 Define required systemprocessing

3 1

320 Develop required data model 2330 Derive system functions 8 1 1340 Enhance required data model 4 2350 Develop specification

prototypes4 1 10 1

360 Develop processingspecification

8 1 1

370 Confirm system objectives 2 2 1380 Assemble requirements

specification2 1 1

© Copyright De Montfort University 2001 All Rights Reserved

Project Control

INFO3013 Systems Development Management

52© Copyright De Montfort University 2001 All Rights Reserved

Project Control

• Monitoring and controlling the Project to ensure that it stays on course and reacts to unexpected events. Project control is the core of the Project Manager's effort on the project, handling the day-to-day management of the project.

INFO3013 Systems Development Management

53© Copyright De Montfort University 2001 All Rights Reserved

Project Control Activities

• authorising work to be done

• gathering progress information about that work

• watching for changes

• reviewing the situation

• reporting

• taking any necessary corrective action.

INFO3013 Systems Development Management

54© Copyright De Montfort University 2001 All Rights Reserved

THE CONTROL CYCLE

STAGEPRODUCT

QUALITYREVIEW

QUALITYPLANS

DATACAPTURE

CORRECTIVEACTION

IMPACTANALYSIS

PROJECTIONPROBLEMS

INTERPRETATION

REPORTING

REPLANNING

DEVELOPMENT

INFO3013 Systems Development Management

55© Copyright De Montfort University 2001 All Rights Reserved

Report Type Examples CommentsOral formalregular

Weekly or monthlyprogress meetings

While report may be oral, formalwritten minutes should be kept

Oral formalad-hoc

End-of-stage reviewmeetings

Will generate written reports

Writtenformalregular

Job sheets, timesheets, progressreports

Weekly using forms

Writtenformal ad-hoc

Exception reports,change reports.

Oral informalad-hoc

Canteen discussion,Social interaction

Provides early warning

INFO3013 Systems Development Management

56© Copyright De Montfort University 2001 All Rights Reserved

Visualising Progress

• Gantt Chart

• Slip Chart

• Ball Charts

• Timeline

INFO3013 Systems Development Management

57© Copyright De Montfort University 2001 All Rights Reserved

Approaches to getting back on target

• Get more people

• Revise targets

• Revise deadline

• Cut quality

• Use alternative method (e.g. Rapid Application Development)

© Copyright De Montfort University 2001 All Rights Reserved

Software Risk Management

INFO3013 Systems Development Management

59© Copyright De Montfort University 2001 All Rights Reserved

Risk Management is a Core Activity

• Software Management is about risk management– Maintaining a tolerance for uncertainty and

learning;– Expecting and reacting to changing context;– Structuring project management around risk

management;– Understanding the relationship of the project to

organisational risk (internal and external).

INFO3013 Systems Development Management

60© Copyright De Montfort University 2001 All Rights Reserved

What is Risk Management?

• Risk:

– The possibility of suffering harm or loss, danger.

INFO3013 Systems Development Management

61© Copyright De Montfort University 2001 All Rights Reserved

Risk is not bad

• Risk in itself is not bad; risk is essential to progress, and failure is often a key part of learning. But we must learn to balance the possible negative consequences of risk against the potential benefits of its associated opportunity."

• [Van Scoy, Roger L. Software Development Risk: Opportunity, Not Problem. Software Engineering Institute, CMU/SEI-92-TR-30, ADA 258743, September 1992]

INFO3013 Systems Development Management

62© Copyright De Montfort University 2001 All Rights Reserved

A loss associated with the event

• Loss of time, quality,control, understanding– e.g. Requirements change

• Risk Impact

INFO3013 Systems Development Management

63© Copyright De Montfort University 2001 All Rights Reserved

The likelihood that the event will occur

• Estimate probability that event will occur– e.g. New machine not delivered on time.

• Risk probability

INFO3013 Systems Development Management

64© Copyright De Montfort University 2001 All Rights Reserved

The degree to which we can change the outcome

• Minimising effect of event occuring.

• Avoid the event occuring.

• Risk Control

INFO3013 Systems Development Management

65© Copyright De Montfort University 2001 All Rights Reserved

Quantification

• Risk exposure =– Risk impact x risk probability

INFO3013 Systems Development Management

66© Copyright De Montfort University 2001 All Rights Reserved

Risk Types

• Generic

• Project-specific

• Involuntary

• Voluntary

INFO3013 Systems Development Management

67© Copyright De Montfort University 2001 All Rights Reserved

Risk Management Activities

• Risk Assessment– Risk Identification– Risk Analysis– Risk Prioritisation

• Risk Control– Risk reduction– Risk management planning– Risk resolution

INFO3013 Systems Development Management

68© Copyright De Montfort University 2001 All Rights Reserved

Risk Identification

• Checklists

• Decomposition

• Assumption Analysis

INFO3013 Systems Development Management

69© Copyright De Montfort University 2001 All Rights Reserved

Boehm’s Risk List

• Personnel shortfalls• Unrealistic schedules and budgets• Developing the wrong software functions• Developing the wrong user interface.• Gold plating• Continuing stream of requirement changes.• Shortfalls in externally furnished components.• Shortfalls in externally performed tasks.• Real time performance shortfalls• Straining computer science capabilities.

INFO3013 Systems Development Management

70© Copyright De Montfort University 2001 All Rights Reserved

Risk Factors (Hughes and Cotterell)

• Application

• Staff

• Project

• Project Methods

• Hardware/Software

• Changeover

• Supplier

• Environment

• Health and Safety

INFO3013 Systems Development Management

71© Copyright De Montfort University 2001 All Rights Reserved

MANAGEMENT

PROJECT

SYSTEM

Structure

Tasks

Technology

Actors

what is being done?

know-how and tools

communication,authority,systems of workflow

Structure

Tasks

Technology

Actors

Structure

Tasks

Technology

Actors

INFO3013 Systems Development Management

72© Copyright De Montfort University 2001 All Rights Reserved

Risk Analysis

• Performance models

• Cost models

• Network Analysis

• Decision Analysis

• Quality Analysis

INFO3013 Systems Development Management

73© Copyright De Montfort University 2001 All Rights Reserved

Risk Prioritisation

• Risk Exposure

• Compound risk reduction

– A priority scheme enables you to devote your resources only to the most threatening risks

INFO3013 Systems Development Management

74© Copyright De Montfort University 2001 All Rights Reserved

Risk Reduction

• Hazard Prevention

• Likelihood reduction

• Risk reduction leverage

– Avoid the risk– Transfer the risk– Assume the risk

INFO3013 Systems Development Management

75© Copyright De Montfort University 2001 All Rights Reserved

Risk Leverage

• (Risk exposure before reduction - risk exposure after reduction) / (cost of risk reduction)

INFO3013 Systems Development Management

76© Copyright De Montfort University 2001 All Rights Reserved

Risk Management Planning

• Contingency Planning

• Risk element planning

• Risk plan integration

INFO3013 Systems Development Management

77© Copyright De Montfort University 2001 All Rights Reserved

Risk Resolution

• Risk mitigation

• Risk Monitoring and reporting

• Risk reassessment

INFO3013 Systems Development Management

78© Copyright De Montfort University 2001 All Rights Reserved

Improving Risk Management

• Use qualitative and well as quantitative Data• Collect your own historical data (Don’t rely on

other people’s)• Avoid false sense of objectivity• Quantify risk in a meaningful way• Take into account values, beliefs and bias• Look at risk throughout software development life

cycle

INFO3013 Systems Development Management

79© Copyright De Montfort University 2001 All Rights Reserved

Seven Principles of Risk Management (SEI)

• Global perspective

– Viewing software development within the context of the larger systems-level definition, design, and development.

– Recognizing both the potential value of opportunity and the potential impact of adverse effects.

• Forward-looking view

– Thinking toward tomorrow, identifying uncertainties, anticipating potential outcomes.

– Managing project resources and activities while anticipating uncertainties.

• Open communication

– Encouraging free-flowing information at and between all project levels.

– Enabling formal, informal, and impromptu communication.

– Using processes that value the individual voice (bringing unique knowledge and insight to identifying and managing risk).

INFO3013 Systems Development Management

80© Copyright De Montfort University 2001 All Rights Reserved

Seven Principles of Risk Management (SEI)

• Integrated management

– Making risk management an integral and vital part of project management.

– Adapting risk management methods and tools to a project's infrastructure and culture.

• Continuous process

– Sustaining constant vigilance and identifying and managing risks routinely through all phases of the project's life cycle.

• Shared product vision

– Mutual product vision based on common purpose, shared ownership, and collective communication and focusing on results.

• Teamwork

– Working cooperatively to achieve common goal.

– Pooling talents, skills, and knowledge.

INFO3013 Systems Development Management

81© Copyright De Montfort University 2001 All Rights Reserved

Build your own management data

• Quality

• Estimation

• Risk Management

© Copyright De Montfort University 2001 All Rights Reserved

Software Effort Estimation

INFO3013 Systems Development Management

83© Copyright De Montfort University 2001 All Rights Reserved

Why is Estimating So Difficult?

• Think of some things you have to estimate: Are you generally accurate? Are your estimates generally optimistic?

• People often underestimate times and distances. Why is this?

• Should we rely on people’s subjective estimates of programming tasks?

• Often accurate estimates of the size of a software project are so large as to be dismissed as unrealistic, or put the client off. Is there a compromise possible?

INFO3013 Systems Development Management

84© Copyright De Montfort University 2001 All Rights Reserved

What are we trying to estimate?

• Staff resources Analysis

• Programming

• Documentation

• Management

• Computer resources

• Terminals

• Disk space requirements

• CPU time

• Overheads

• Support

• Meetings

• Performance assessment

• Project control systems

INFO3013 Systems Development Management

85© Copyright De Montfort University 2001 All Rights Reserved

Properties of an Estimating Method

• Gives early guidance to the size of a project with an accuracy of +/- 30%,

• Should be easy to use,

• Should give consistent results,

• Uses agreed rules,

• Is supported by tools.

INFO3013 Systems Development Management

86© Copyright De Montfort University 2001 All Rights Reserved

Who should do the estimating?

• Development Team

• Consultant Project Estimator

• Project Manager

• Customer

• Steering Committee

INFO3013 Systems Development Management

87© Copyright De Montfort University 2001 All Rights Reserved

Approaches to Estimating

• Estimates made by an expert. An expert in the business field and the programming language provides estimates.

• Estimates made using reasoning by analogy. A similar type of project is examined and compare to the new project.

• Estimates based on price-to-win. The amount the client can afford is considered, and competitive bidders are undercut.

• Estimates based on available capacity. If we have limited staff resources then that may determine what we can do.

• Estimates based on use of parametric methods. Parametric methods use equations to derive estimate which contain constants derived from statistical studies of a large number of projects.

INFO3013 Systems Development Management

88© Copyright De Montfort University 2001 All Rights Reserved

Software Cost Estimation ModelsSizer Stage

NOT BASED ON LINES OF CODE

ProductivityStage

Based on linesof code

Based onfunction points

Based onfunctionalprimitives

etc.

INFO3013 Systems Development Management

89© Copyright De Montfort University 2001 All Rights Reserved

Function Point Analysis

• Count logical functions

– External inputs - screens

– External outputs - report

– Logical master files

– Enquiry transactions

– Interfaces to other applications

INFO3013 Systems Development Management

90© Copyright De Montfort University 2001 All Rights Reserved

Multiply by weightings to obtainunadjusted function points

Type of Function Point WeightingSimple Average Complex

External Input 3 4 6External Output 4 5 7Logical Internal File 7 10 15External Interface File 5 7 10External Inquiry 3 4 6

INFO3013 Systems Development Management

91© Copyright De Montfort University 2001 All Rights Reserved

Function Point Analysis

• Calculate processing complexity adjustment• Data communications Distributed functions

• Performance Heavily used configuration

• Transaction rate On-line data entry

• End-user efficiency On-line update

• Complex processing Re-usability

• Installation ease Operational ease

• Multiple sites Facilitate change

• Calculate adjusted function point measure

INFO3013 Systems Development Management

92© Copyright De Montfort University 2001 All Rights Reserved

Productivity Estimating Methods

• Static Approaches

• A Static, single variable approach uses one constant (derived from previous studies) and makes no allowance for influencing factors:

L = Line of Code (previously estimated)

E = 1.4L 0.93 Effort (m months)

DOC = 30.4L 0.90 Documentation (# pages)

D = 4.6L 0.26 Duration (months)

INFO3013 Systems Development Management

93© Copyright De Montfort University 2001 All Rights Reserved

• A Static, multivariable approach adds variables to represent the factors that can influence productivity:

• E = 5.22 0.91 D = 4.12 0.36

• I = Wi Xi

• Xi = -1,0,1

INFO3013 Systems Development Management

94© Copyright De Montfort University 2001 All Rights Reserved

• A Dynamic, multivariable assumes that there are a finite number of problems, that each solved problem has an effect on others, and that a decision can remove unsolved problem. For example, once we’ve programmed one insert/amend/update program we can model the rest on it and produce them faster.

• Examples are the Norden / Rayleigh Manpower Distribution Model and the Putman Model for Software Development.

INFO3013 Systems Development Management

95© Copyright De Montfort University 2001 All Rights Reserved

Object Points

• Number of separate screens

• Number of reports

• Number of 3GL modules needed to supplement 4GL code

INFO3013 Systems Development Management

96© Copyright De Montfort University 2001 All Rights Reserved

COCOMO 2

• Early prototyping level– PM = (NOP x (1 - %reuse/100))/PROD

• Early design level– PM = A x Size B X M X PMm

• Post-architecture level

INFO3013 Systems Development Management

97© Copyright De Montfort University 2001 All Rights Reserved

COCOMO2 Cost Drivers

• RELY: Required software reliability

• DATA: Database size

• CPLX: Product complexity

• DOCU Extent of documentation required

• RUSE Required percentage of reusable components

• TIME: Execution time constraint.

• STOR: Main storage constraint.

• PVOL: Volatility of development platform

• ACAP: Analyst capability.

• AEXP: Application experience.

• PCAP: Programmer capability

• PEXP Programmer experience in project domain

• LTEX Language and tool experience

• PCON Personnel continuity

• TOOL: Use of Software Tools

• SCED: Schedule Constraint.

• SITE Extent of multi-site working and quality of site communications

INFO3013 Systems Development Management

98© Copyright De Montfort University 2001 All Rights Reserved

Cost Driver Very Low Low Nominal High Very High Extra HighRELY 0.75 0.88 1 1.15 1.4DATA 0.94 1 1.08 1.16CPLX 0.7 0.85 1 1.15 1.3 1.65STOR 1 1.11 1.3 1.66TIME 1 1.06 1.21 1.56PVOL 0.87 1 1.15 1.3ACAP 1.46 1.19 1 0.86 0.71AEXP 1.29 1.13 1 0.91 0.82PCAP 1.42 1.17 1 0.86 0.7PEXP 1.21 1.1 1 0.9LTEX 1.14 1.07 1 0.95SITE 1.24 1.1 1 0.91 0.82TOOL 1.24 1.1 1 0.91 0.83SCED 1.23 1.08 1 1.04 1.1

© Copyright De Montfort University 2001 All Rights Reserved

Software Reuse Management

INFO3013 Systems Development Management

100© Copyright De Montfort University 2001 All Rights Reserved

Why Reuse?

• Cost saving

• Increased speed of development

• Increased reliability

• Increased quality

• Better standards compliance through componentisation.

• Reduced process risk

INFO3013 Systems Development Management

101© Copyright De Montfort University 2001 All Rights Reserved

What to Reuse

• Specifications

• Design

• Class Definitions

• Source Code

• Data Structures.

– Reuse involves more that just some sub-routines

INFO3013 Systems Development Management

102© Copyright De Montfort University 2001 All Rights Reserved

What Inhibits Reuse?

• Conflict with time and budget priorities• Developers do not know what is available to be

reused• ‘Not invented here’ syndrome• Reuse assets do not meet performance needs• Reuse across team boundaries raise coordination

and ownership issues• Version management problems

INFO3013 Systems Development Management

103© Copyright De Montfort University 2001 All Rights Reserved

Traditional Approach to Reuse

• Centralised library

• Incentive scheme

• Lack of documentation– leads to reuse junkyard.

• Reuse must be senstive to the organisational culture and incentive-compatible

INFO3013 Systems Development Management

104© Copyright De Montfort University 2001 All Rights Reserved

Dimensions of Reuse

• Organisational

• Reuse Production

• Reuse funding

INFO3013 Systems Development Management

105© Copyright De Montfort University 2001 All Rights Reserved

Requirements

• Supporting tools

• Supporting metrics

INFO3013 Systems Development Management

106© Copyright De Montfort University 2001 All Rights Reserved

Organisational Models

• Library - passive library of components, minimal certification.

• Curator - quality certification, marketing and component funding.

• Product Centre - identifies, acquires, stores components

• Expert Services - reuse experts loaned out.

• Team Producer - decentralised reuse teams

• Reuse factory - application teams just assemble components

INFO3013 Systems Development Management

107© Copyright De Montfort University 2001 All Rights Reserved

Where should reuse be focussed?

• Pre-project domain analysis

• In project domain analysis

• In project generalisation

• Post-project generalisation

• Next project generalisation

INFO3013 Systems Development Management

108© Copyright De Montfort University 2001 All Rights Reserved

Funding Models

• Overhead – pooled with other overheads

• Tax– flat reuse levy on all application projects e.g. %

of total project costs• Pay-for-components

– needs cost sharing bank• Activity-based costing

– charge according to degree of consumption

INFO3013 Systems Development Management

109© Copyright De Montfort University 2001 All Rights Reserved

Reuse Process: Creating Reusable Assets

• Creating new assets

• Analysing existing systems

• Assessing proposed asset

• Verifying new asset

• Assessing technology trends

INFO3013 Systems Development Management

110© Copyright De Montfort University 2001 All Rights Reserved

Using Reusable Assets

• Match Requirements with Reusable assets

• Building Products

INFO3013 Systems Development Management

111© Copyright De Montfort University 2001 All Rights Reserved

Support Reusable Assets

• Certify new asset

• Gather reuse statistics and feedback

• Classify and version manage assets

• Train applications staff

• Answer reuse questions

INFO3013 Systems Development Management

112© Copyright De Montfort University 2001 All Rights Reserved

Manage Reusable Assets

• Define reuse policy

• Deal with reuse conflicts

• Review new asset procurement and development proposals

• Obtain funding.

• Control funding, collect revenue, allocate reuse grants to teams.

• Market reuse

INFO3013 Systems Development Management

113© Copyright De Montfort University 2001 All Rights Reserved

Reuse Points

• Reuse adds costs (11 -380% more to make a component reusable).

• Costs and risks of reuse consumption need to be shifted outside application projects.

• Reuse program must be compatible with software development culture and incentives.

© Copyright De Montfort University 2001 All Rights Reserved

People Management

INFO3013 Systems Development Management

115© Copyright De Montfort University 2001 All Rights Reserved

Issues

• Groups and teams

• Motivation

• Use of Consultants

• Targets and overtime

• Recruitment

• Personality Types

• Business/ IT gap

• Appraisals

INFO3013 Systems Development Management

116© Copyright De Montfort University 2001 All Rights Reserved

Team Members

• Driver

– Develops ideas innovates,

– Predicts future,

– Wants to see things changed.

• Planner

– Logical thinker

– Takes ‘required future’ turns it into actions that the team can do.

– Well-organised

INFO3013 Systems Development Management

117© Copyright De Montfort University 2001 All Rights Reserved

Team Members

• Enabler

– Interested in personal values.

– ‘Sales’ person. Outgoing, persuasive.

• Executive

– Realists - turn action into results

– Want to get on and do it.

– What needs attention now

– Makes effort to assure that team works in harmony to get things done.

• Controller

– Analytical thinker

– Enjoys detail - like costs and benefits

– Spots errors

– Monitors progress

– Assesses against objectives

INFO3013 Systems Development Management

118© Copyright De Montfort University 2001 All Rights Reserved

Appraisals

• Clarify Purpose

– promotion review

– training review

• Establish clear performance standards

– actual job responsibility

• Monitor performance and provide ongoing feedback

– use mini-appraisals

– proper supervision

INFO3013 Systems Development Management

119© Copyright De Montfort University 2001 All Rights Reserved

Appraisals

• Conduct a written evaluation

– clear, unambiguous

– supported by examples

• Take time to do it

• Problems

– unclear standards

– lack of preparation

– no ongoing performance feedback

– lack of knowledge

INFO3013 Systems Development Management

120© Copyright De Montfort University 2001 All Rights Reserved

Business/IT Gap

• Perceptions - users

• IT people earn large salaries.

• Projects fail.

• Slaves to methodology.

• Secret budgeting.

• Separate location.

• Technical / education.

INFO3013 Systems Development Management

121© Copyright De Montfort University 2001 All Rights Reserved

Business / IT Gap

• Perceptions - IT

• Our systems are too good for you stupid users.

• We know what you need.

• Users can’t make their minds up.

• Users don’t understand technical difficulties.

• Is there any wonder there are communications problems?

INFO3013 Systems Development Management

122© Copyright De Montfort University 2001 All Rights Reserved

People Capability Maturity Model• Level 2 Key Practices

Work Environment

Communication

Staffing

Performance Management

Training

Compensation

• Level 3 Key Practices

Knowledge and Skills Analysis

Work Force Planning

Competence Development

Career Development

Competence-Based Practices

Participatory Culture

INFO3013 Systems Development Management

123© Copyright De Montfort University 2001 All Rights Reserved

People Capability Maturity Model

• Level 4 Key Practices

Mentoring

Team Building

Team-Based Practices

Organizational Competence Management

Organizational Performance Alignment

• Level 5 Key Practices

Personal Competence Development

Coaching

Continuous Work Force Innovation

INFO3013 Systems Development Management

124© Copyright De Montfort University 2001 All Rights Reserved

The Human Factor

• Software engineering projects fail because of bad management rather than bad technology.

• "IT depends on people. It is a very skill - and - people intensive game, and if you lose your critical people there is no way you can make it" T Barber, ICI Paints.

INFO3013 Systems Development Management

125© Copyright De Montfort University 2001 All Rights Reserved

The Human Factor

• Project managers do not understand users needs

• Project scope is ill-defined

• Project changes are managed poorly

• Chosen technology changes

• Business needs change

• Deadlines are unrealistic

• Users are resistant

• Sponsorship is lost

• Project lacks people with appropriate skills

• Managers ignore best practice and lessons learnt

INFO3013 Systems Development Management

126© Copyright De Montfort University 2001 All Rights Reserved

Conclusions

• Software engineering project management IS software engineering risk management.

• Measurement is essential.

• Put people first.

• Consider reuse as a standard part of software engineering