24
Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004

Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

Embed Size (px)

Citation preview

Page 1: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

Identifying software project

stages, tasks and deliverables

José Onofre Montesa AndrésUniversidad Politécnica de

ValenciaEscuela Superior de Informática

Aplicada2003-2004

Page 2: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 2

Aim

• Breakdown the estimated effort into tasks.

• To do that, we shall identify:– project deliverables,– project stages and– project tasks.

Page 3: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 3

Breakdown Methods:

• By Processes– Different conceptual stages

• What?, How?, Development, Test ...

• by Products– We identify different products that will

make up the required system.– Example: Sales, Stock Control, ...

Page 4: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 4

It will be focused to an only product.

• Reasons:– Project Size - failure risk.– Coordination costs.– Incremental development.– It is logic that the “strategic direction” is

the one in charge to identify the needed products for the enterprise.

Page 5: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 5

Work Breakdown Structure (WBS)

• method of representing, in hierarchical manner the components of a process or product.

Page 6: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 6

Graphic representation of WBS.

1.1. S t udy

pr esent syst em.

1.2 . A dd N ew

char act er ist ics.

1. S pecif y

needs

2 .1. S t udy

Pr ocesses.

2 .2 . S t udy

Dat a

2 .0. A nalyze

A ccount ing

3 .1. Dat a Base

Design

3 .2. Pr ogr ams

Design

3 .0 . S yst em

Design

4 .1. S cheme

development

4 .2. Pr ogr ams

code

4 .0 . Coding

5 .1. U nit

T est

5 .2 . S yst em

T est

5 .0 . T est

0 . A ccount ing

pr oj ect .

Page 7: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 7

List representation of WBS.

0. Accounting project.1. Specify needs1.1. Study present

system.1.2. Add New

characteristics.2. Analyze Accounting.2.1. Study Processes.2.2. Study Data

3. System Design.3.1. Data Base Design.3.2. Programs Design.4. Coding4.1. Scheme

development.4.2. Programs code.5. Test.5.1. Unit test.5.2. System test.

Page 8: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 8

WBS

• Numbers help to locate tasks in the WBS.• Nodes are read as:

– “is contained in”

• Developing a WBS.– Identify the top of the WBS.– Partition each component into 72– The lowest level are the task in a project

Page 9: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 9

TASK CARD

Task specificationNumber: 3.1.Name: Data Base Design.Description: Designing the data

base as proposed in the analysis by entity-relation model, and with the aim to get a system functioning with DB2 .

Estimated Effort : 2 weeks/personDeliverables: D.B. implementation

structure…: …

Page 10: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 10

Software project Deliverables.

• Concept:– "Products interchanged among clients

and developers during the software project development".

• Relatives:– To the object.– To the project management.

Page 11: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 11

It has to be defined a minimum set of

deliverables.• They provide:

– the component set that will make the product once the development ended.

– The means to measure the progress and quality of the product development.

– The needed materials for the following stage.

– Usually the enterprises have their own deliverables check list.

Page 12: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 12

Breakdown in stages of a system development.

• Since time ago, many enterprises classify the kind of tasks achieved in a project and analyze the effort dedicated to each of them.

• We will see same examples provided by Martyn A. Ould, and one an other from HP.

Page 13: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 13

Effort distribution about middle of the ´70

24

46

5

5

20

0 10 20 30 40 50

System integration

System design

Project management

Page 14: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 14

Effort distribution at beginning of the ´80

19

35

13

14

19

0 10 20 30 40

System integration

System design

Project management

Page 15: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 15

Effort distribution at the end of the ´80

11

25

15

28

21

0 5 10 15 20

25 30

System integration

System production

System design

System definition

Project management

Page 16: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 16

Effort distribution in HP (´96)

5

7

8

11

19

2

209

0 5 10 15 20

Support

Quality asurance

System production

System definition

Page 17: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 17

Activity-Based software costing Caper Jones, Computer May 96

Activities performed usr cpd Out com Sys Mil

1 Requirements X X X X X

2 Prototyping X X X X X X

3 Architecture X X X X X

4 Project plans X X X X X

5 Initial design X X X X X

6 Detailed design X X X X X

7 Design Reviews X X X X

8 Coding X X X X X X

9 Reuse acquisition X X X X X

Page 18: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 18

Activity-Based software costing Caper Jones, Computer May 96

Activities performed usr cpd Out com Sys Mil

10 Package purchase X X X X

11 Code inspection X X X

12 Independent V & V X

13 Configuration mgt. X X X X X

14 Formal integration X X X X X

15 User documentation X X X X X X

16 Unit testing X X X X X X

17 Function testing X X X X X

Page 19: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 19

Activity-Based software costing

Caper Jones, Computer May 96Activities performed usr cpd Out com Sys Mil

18 Integration testing X X X X X

19 System testing X X X X X

20 Field testing X X X

21 Acceptance testing X X X X

22 Independent testing X

23 Quality assurance X X X X

24 Installation/Training X X X X

25 Project management X X X X X

Total……………... 5 16 20 21 22 25

Page 20: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 20

Breakdown the software project into tasks.

• By deliverables (More than a week?)• Two horizon levels.

– Immediately– Half term

Page 21: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 21

Equipment focusing to identify tasks by activities.

• Implying to developers.– Use their knowledge and experience.

• The worker perception.– Submission to the goals– Responsibility

Page 22: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 22

Usual ways to identify tasks to a deliverable.

• To document, to find out or research,• To Organize, to write documents,• To check, to verify, to review• To Revise, to update documents,• To deliver, to finalize• Other ways:

• Breakdown provided by employed technician

Page 23: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 23

Usual tasks in a software project.

• Same enterprises have their own check list with a tasks list, were you can find the more important tasks to be considered.

Page 24: Identifying software project stages, tasks and deliverables José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática

GpiI-2C Identifying software project stages, tasks and deliverables 24

Some ideas on the software project breakdown.

• Make the tasks in order to be done by one or two persons in one or to weeks.

• Try to have independent tasks, don´t cut natural process.

• Worry about people communications.• Reuse code, but it cost time to.