Top Banner
1 Software Project Management User Needs Lecture Dr Tracy Hall
22
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

1

Software Project Management

User Needs Lecture

Dr Tracy Hall

Page 2: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

2

Learning Outcomes

To recognise the role of the customer in a project

To understand a range of ways of relating to the customer that will help both sides achieve success.

Page 3: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

3

Software & other types of projects

So

ftwa

re

pro

ject

s a

re

diff

ere

nt

So

ftwa

re

pro

ject

s a

re

sim

ilar

to o

ther

s

Software projects Other types of project

(a) Software products are less tangible than others• can be harder to specify…• …monitor…• …and sign-off on

(b) Software has a history of overspends & disappointment(c) The software community is not very accessible to outsiders(d) Software development is still quite a young discipline

(a) All projects need the same basic management skills• good planning• sound identification and management of risk• teams of good people, well resourced and managed intelligently

(b) All engineering communities are closed, to some extent(c) Most major projects today involve some level of software(d) Formal methods are increasingly common over the spectrum

Let’s focuson these

Page 4: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

4

How do these set expectations?

Cadle & Yeates have some good ideas – “Client Management Issues” Ch 16 (3rd Ed) “Managing Stakeholders” Ch 18 (4th Ed).

Your sales team?

Marketing & publicity?Marketing & publicity?

The competition?

First impressions?

Page 5: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

5

Moreover…

The customer’s

ideas often

change

Why?

Cadle & Yeates p 298

Expectations e.g. you promise a Ferrari & deliver a Punto

NB Why did Skoda beat Mercedes in a customer satisfaction survey?http://www.whatcar.co.uk/car-reviews/search?dimensionIds=368&dimensionIds=316

Sales phase Development phase In use

Exp

ecta

tion

Typical expectation curve (in my experience)

Ideal?

Page 6: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

6

Two critical features

Sales phase Development phase In use

Exp

ecta

tion

Customer’s perception

satisfied

dissatisfiedPoor

satisfied

dissatisfiedGood

Big surprises are generally a bad idea

Is this possible?

Page 7: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

7

Two critical features

Sales phase Development phase In use

Exp

ecta

tion

What can you do to control the shape of this curve?

Page 8: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

8

Why do customers want to change things?…

Cadle & Yeates p 298

Expectations

LearningSuddenly, the

customer sees more

opportunities

Inte

rnal

Priorities change

Ext

erna

lLegislative or market forces

change

Page 9: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

9

So…What the customer wants

flexi

bilit

y

What the Proj. Man. wants fixed requirements

Arrives on time & within

budget…

May never arrive

… but the customer may

hate it!McConnell case study 10-1

Page 10: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

10

How can we manage this?

Process• Good processes provide a framework

within which to manage changes…• …and ways of managing the changes

themselves Relationships

• Get to know and trust your customer• Build for, and invest in, the future

Page 11: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

11

Let’s start with process:Choose the process to fit the need

flexi

bilit

y

fixed requirements

Well understood req

uirements

‘Linear approach’ e.g. Waterfall

(Cadle & Yeates section 6.2)

Som

e flexibility desira

ble

‘Iterative approach’ e.g. Spiral (Cadle & Yeates section 6.5)

Requirem

ents unclear

‘Interactive approach’ e.g. RAD

(Cadle & Yeates section 6.10)

???????

Extreme Programming (Cadle

& Yeates section 6.13)

Push yourself a little further than you think you need to

Page 12: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

12

Change Management:Some formalism may help

Requestfor change

Agree thechange

Implementthe change

DOCUMENTATIONRecordRecord

thetherequestrequest

RecordRecord agreementagreement

& reasons& reasons

Write downWrite down & circulate& circulate

new plannew plan

OptionsOptions

No, you can’tNo, you can’thave ithave it

Yes, you canYes, you canhave ithave it

Let’s put it intoLet’s put it intothe next releasethe next release

Yes, but it willYes, but it willcost youcost you

This implies you have a future together

Page 13: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

13

Let’s think about relationships

Who is the customer?• The end user (buys your code from Game)?• A contractor engaging you for a large programme?• Someone in another part of the company?• Try to get a single person to be your customer.

Why should you engage with the customer? (McConnell section 10.1)• Often a critical success factor• Productivity• Reduced rework• Lower Risk

Page 14: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

14

Some expectations

PMPM

SeniorManagement

ProfitSuccessHarmony

RewardSupport

Customer

Be decent

Low painGet job doneValue-for-money

Team

RewardFun work

Get the job done

So let’s focus on this

Page 15: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

15

Benefits of building a relationship

BidBid

•Better grasp of real needs•Better concept of customer’s constraints•Clearer view of future plans•Firmer idea of business context

•Capture real requirements•Good ideas of how it will be used•Better prioritizing of ideas

RequirementsRequirementscapturecapture

DevelopmentDevelopment

•Warning of surprises•More room for flexbility•LESS FRICTION

•LESS FRICTION•Better management of bugs and bug fixes•More business

OperationalOperational

Page 16: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

16

How do I manage the customer relationship?

How do youmanage any other relationship?

Be open

Spend time

Be honest & fair

Don’t be afraid to apologise when things

go wrong

Let’s give this some thought

Page 17: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

17

An overheard conversation…How can I help you, Madam?

You changed the battery in my car key and now it doesn’t work.

Just leave the car with us, and we’ll investigate…

I don’t have the car with me – I’m in our other car. It was working before you changed it and now it doesn’t work

Changing the battery means reprogramming, we’ll have to charge £100. Why not let us check it out?

Our other key works – this one doesn’t… unless you hold it 2cm from the lock. I’ve just paid £100 for a new battery in this – please fix it.

Sorry, we can’t do anything without checking it out

(Customer eventually walks out in disgust)

What is the technical problem?

What is the customer management problem?

Page 18: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

18

Let’s think through a couple of scenarios

You are about half way through a £20M, 2 year, programme to provide an interactive website and data base plus a call centre software suite for an international bank. With 9 months to go, you are asked to add a new raft of security measures. Your team estimates that these will cost at least £2.5M that has not been budgeted and add 5 months to the duration. How might you proceed?

You have had a torrid time as project manager with a demanding customer and an inexperienced team that has taken a long time to settle. You hear on the grapevine that your customer has a new, much larger, project in mind, but is definitely not planning to go with your company. What steps might you take to change the situation?

Page 19: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

19

Sometimes IS puts the user at the centreW

ell u

nd

ersto

od

req

uire

me

nts

So

me

flexib

ility de

sirab

le

Re

qu

irem

en

ts un

clea

r

??

??

??

?

‘Linear approach’ e.g. Waterfall

(Cadle & Yeates section 6.2)

‘Iterative approach’ e.g. Spiral (Cadle & Yeates section 6.5)

‘Interactive approach’ e.g. RAD

(Cadle & Yeates section 6.10)

Extreme Programming (Cadle

& Yeates section 6.13)

Page 20: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

20

Sometimes IS puts the user at the centreW

ell u

nd

ersto

od

req

uire

me

nts

‘Linear approach’ e.g. Waterfall

(Cadle & Yeates section 6.2)Feasibility

Require-ments

Design

Coding

Test

Users

http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16-355JFall-2005/3EA9949A-7CB1-4AEC-9EB9-33BC8BAA4126/0/cnotes2.pdf

Page 21: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

21

Sometimes IS puts the user at the centreW

ell u

nd

ersto

od

req

uire

me

nts

So

me

flexib

ility de

sirab

le

‘Linear approach’ e.g. Waterfall

(Cadle & Yeates section 6.2)

‘Iterative approach’ e.g. Spiral (Cadle & Yeates section 6.5)

Feasibility

Require-ments

Design

Coding

Test

cost

review

2. Identify & resolve risks

1. Determine objectives

3. Development & test

3. Plan the next iteration

Prototypes

User needs

http://courses.ischool.berkeley.edu/i290-1/f08/lectures/ISSD-20080827.pdf

Page 22: 1 Software Project Management User Needs Lecture Dr Tracy Hall.

22

Sometimes IS puts the user at the centreW

ell u

nd

ersto

od

req

uire

me

nts

So

me

flexib

ility de

sirab

le

Re

qu

irem

en

ts un

clea

r

??

??

??

?

‘Linear approach’ e.g. Waterfall

(Cadle & Yeates section 6.2)

‘Iterative approach’ e.g. Spiral (Cadle & Yeates section 6.5)

‘Interactive approach’ e.g. RAD

(Cadle & Yeates section 6.10)

Extreme Programming (Cadle

& Yeates section 6.13)

Feasibility

Require-ments

Design

Coding

Test

cost

review

2. Identify & resolve risks

1. Determine objectives

3. Development & test

3. Plan the next iteration

How about these?