• No results found

Chapter 1- Introduction to Software Project Management Chapter 1 Software project Management 1

N/A
N/A
Protected

Academic year: 2020

Share "Chapter 1- Introduction to Software Project Management Chapter 1 Software project Management 1"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Chapter 1- Introduction to Software Project

Management

(2)

What is a project?

Some dictionary definitions:

“A specific plan or design” “A planned undertaking”

“A large undertaking e.g. a public works scheme”

Longmans dictionary

Key points above are planning and size of

task

Chapter 1 Software project Management 2

(3)

Jobs versus projects

‘Jobs’ – repetition of very well-defined and well understood tasks with very little uncertainty

(4)

Characteristics of projects

A task is more ‘project-like’ if it is:

⚫ Non-routine

⚫ Planned

⚫ Aiming at a specific target

⚫ Work carried out for a customer

⚫ Involving several specialisms

⚫ Made up of several different phases

⚫ Constrained by time and resources

⚫ Large and/or complex

Chapter 1 Software project Management 4

(5)

Why do software projects fail?

⚫ People begin programming before they understand the problem

◦ Everyone likes to feel that they’re making progress

◦ When the team starts to code as soon as the project begins, they see immediate gains

◦ When problems become more complex (as they always do!), the work gets bogged down

◦ In the best case, a team that begins programming too soon will end up writing good software that solves the wrong problem

⚫ The team has an unrealistic idea about how much work is involved.

◦ From far away, most complex problems seem simple to solve

◦ Teams can commit to impossible deadlines by being overly optimistic and not thinking through the work

(6)

Why do software projects fail?

⚫ Defects are injected early but discovered late.

◦ Projects can address the wrong needs

◦ Requirements can specify incorrect behavior

◦ Design, architecture and code can be technically flawed

◦ Test plans can miss functionality

◦ The later these problems are found, the more likely they are to cause the project to fail

⚫ Programmers have poor habits – and they don’t feel accountable for their work.

◦ Programmers don’t have good control of their source code

◦ Code written by one person is often difficult for another person to understand

◦ Programmers don’t test their code, which makes diagnosing and fixing bugs more expensive

◦ The team does not have a good sense of the overall health of the project.

(7)

Why do software projects fail?

⚫ Managers try to test quality into the software.

◦ Everyone assumes that the testers will catch all of the defects that were injected throughout the project.

◦ When testers look for defects, managers tell them they are wasting time.

◦ When testers find defects, programmers are antagonized because they feel that they are being personally criticized.

◦ When testers miss defects, everyone blames them for not being perfect.

(8)

How can we make sure that our projects succeed?

⚫ Make sure all decisions are based on openly shared information

◦ It’s important to create a culture of transparency, where everyone who needs information knows where to find it and is comfortable looking at it.

◦ All project documents, schedules, estimates, plans and other work products should be shared with the entire team, managers, stakeholders, users and anyone else in the organization who wants them.

◦ Major decisions that are made about the project should be well-supported and explained.

(9)

How can we make sure that our projects succeed?

⚫ Don’t second-guess your team members’ expertise

◦ Managers need to trust team members.

◦ Just because a manager has responsibility for a project’s success, it doesn’t mean that he’s more qualified to make decisions than the team members.

◦ If you don’t have a good reason to veto an idea, don’t.

⚫ Introduce software quality from the very beginning of the project

◦ Review everything, test everything.

◦ Use reviews to find defects – but don’t expect the review to be perfect.

◦ Use reviews to gain a real commitment from the team.

(10)

How can we make sure that our projects succeed?

⚫ Don’t impose an artificial hierarchy on the project team

◦ All software engineers were created equal.

◦ A manager should not assume that programming is more difficult or technical than design, testing or requirements engineering.

◦ Managers should definitely not assume that the programmer is always right, or the tester is always raising false alarms.

⚫ Remember that the fastest way through the project is to use good engineering practices

◦ Managers and teams often want to cut important tasks – especially estimation, reviews, requirements gathering and testing.

◦ If it were faster to build the software without these practices, we would never use them.

◦ Every one of these practices is about saving time and increasing quality by planning well and finding defects early. Cutting them out will cost time and reduce quality.

(11)

Are software projects really different

from other projects?

Not really! …but…

⚫ Invisibility

⚫ Complexity

⚫ Conformity

⚫ Flexibility

make software more problematic to build

than other engineered artefacts.

(12)

Activities covered by project management

Feasibility study

Is project technically feasible and worthwhile from a business point of view?

Planning

Only done if project is feasible

Execution

Implement plan, but plan may be changed as we go along

(13)
(14)

ISO 12207 life-cycle

Requirements analysis

◦ Requirements elicitation: what does the client need?

◦ Analysis: converting ‘customer-facing’

requirements into equivalents that developers can understand

◦ Requirements will cover ● Functions

● Quality

● Resource constraints i.e. costs

Chapter 1 Software project Management 14

(15)

ISO 12207 life-cycle

Architecture design

Based on system requirements

◦ Defines components of system: hardware, software, organizational

Software requirements will come out of this

Code and test

◦ Of individual components

(16)

ISO12207 continued

Qualification testing

Testing the system (not just the software)

Installation

◦ The process of making the system operational

◦ Includes setting up standing data, setting system parameters, installing on operational hardware platforms, user training etc

Acceptance support

◦ Including maintenance and enhancement

Chapter 1 Software project Management 16

(17)

Some ways of categorizing projects

Distinguishing different types of project is

important as different types of task need

different project approaches e.g.

Information systems versus embedded

systems

(18)

What is management?

This involves the following activities:

Planning – deciding what is to be done

Organizing – making arrangements

Staffing – selecting the right people for the

job

Directing – giving instructions

continued…

Chapter 1 Software project Management 18

(19)

What is management?(continued)

⚫ Monitoring – checking on progress

⚫ Controlling – taking action to remedy hold-ups

⚫ Innovating – coming up with solutions when problems emerge

⚫ Representing – liaising with clients, users, developers and other stakeholders

(20)

Setting objectives

Answering the question ‘What do we have

to do to have a success?’

Need for a project authority

◦ Sets the project scope

◦ Allocates/approves costs

Could be one person - or a group

◦ Project Board

◦ Project Management Board

◦ Steering committee

Chapter 1 Software project Management 20

(21)

Objectives

Informally, the objective of a project can be defined by

completing the statement:

The project will be regarded as a success if………..

Rather like post-conditions for the project

(22)

Objectives should be SMART

S – specific, that is, concrete and well-defined

M – measurable, that is, satisfaction of the objective can be objectively judged

A – achievable, that is, it is within the power of the individual or group concerned to meet the target

R – relevant, the objective must relevant to the true purpose of the project

T – time constrained: there is defined point in time by which the objective should be achieved

Chapter 1 Software project Management 22

(23)

Goals/sub-objectives

These are steps along the way to achieving the objective. Informally, these can be defined by completing the sentence…

Objective X will be achieved

IF the following goals are all achieved A………

(24)

Goals/sub-objectives continued

Often a goal can be allocated to an individual.

Individual may have the capability of achieving goal, but not the objective on their own e.g.

Objective – user satisfaction with software product

Analyst goal – accurate requirements

Developer goal – software that is reliable

Chapter 1 Software project Management 24

(25)

Measures of effectiveness

How do we know that the goal or objective has been achieved?

By a practical test, that can be objectively assessed. e.g. for user satisfaction with software product:

⚫ Repeat business – they buy further products from us

(26)

Stakeholders

These are people who have a stake or interest in the project.

In general, they could be users/clients or

developers/implementers

They could be:

⚫ Within the project team

⚫ Outside the project team, but within the same organization

⚫ Outside both the project team and the organization

Chapter 1 Software project Management 26

(27)

The business case

Benefits of delivered project must outweigh costs Costs include: - Development - Operation Benefits - Quantifiable

£

£

Benefits Costs

(28)

Management control

(29)

Management control

Data – the raw details

e.g. ‘6,000 documents processed at location X’

Information – the data is processed to produce something that is meaningful and useful

e.g. ‘productivity is 100 documents a day’

Comparison with objectives/goals

e.g. we will not meet target of processing all documents by 31st

(30)

Management control - continued

Modelling – working out the probable

outcomes of various decisions

e.g. if we employ two more staff at location X how quickly can we get the documents processed?

Implementation – carrying out the remedial

actions that have been decided upon

Chapter 1 Software project Management 30

References

Related documents

Project management is “the application of knowledge, skills, tools and techniques to project activities to meet the project requirements.” 7 Project managers must not only strive

Find at least three Web sites that provide interesting information about project management in general and in the healthcare industry, including the Project Management Institute’s

 Planning of later stages is left to nearer their start because more detailed and accurate project information will be obtained after the earlier stages of the project have

• Project management is “the application of knowledge, skills, tools and techniques to project activities to meet project requirements.”*.. *Project Management Institute, Inc.,

• Project management is “the application of knowledge, skills, tools and techniques to project activities to meet project requirements.”*.. *Project Management Institute, Inc., A

Question 23 True/False 0 points Modify Remove Question Project managers should possess general management knowledge and skills?.

If the general operating account has surplus funds at the end of the housing project’s fiscal year, the Agency will require the borrower to use the surplus funds to address

The project managers, end-users and team members were involved in the evaluation of Mindmanager 5× Pro against the best practice criteria regarding use and added