Chapter 2

43
Planning and Scheduling: 1

description

 

Transcript of Chapter 2

Page 1: Chapter 2

Planning and Scheduling:

1

Page 2: Chapter 2

• FUNDAMENTAL ENGINEERING.• FIRST DO THE PROBLEM ANALYSIS.• THEN DEVELOP A SOLUTION TO THE DEFINED NEEDS.

– SPECIFY OBJECTIVES.– DETERMINE ACTIVITIES & RESOURCES.– PRESENT RESULTS IN A SCHEMATIC THAT CAN BE USED BY

THE TEAM.

2

PLANNING & SCHEDULING

Page 3: Chapter 2

OBJECTIVES FOR PLANNING AND SCHEDULING

• EFFECTIVE TIME MANAGEMENT.

• OPTIMZE SEQUENCE OF EVENTS.

• DEFINE NECESSARY RESOURCES.

• TIMLY PROJECT PROGRESS.

3

Page 4: Chapter 2

• Allocation of resources to activities over time so that input demands are met in a timely and cost-effective manner

• Most typically, this involves determining a set of activity start and end times, together with resource assignments, which– satisfy all temporal constraints on activity execution

(following from process considerations)– satisfy resource capacity constraints, and– optimize some set of performance objectives to the

extent possible

4

Page 5: Chapter 2

Planning and Scheduling:

Gantt Chart• A Gantt chart is a type of bar chart,

developed by Henry Gantt, that illustrates a project schedule. Gantt charts illustrate the start and finish dates of the terminal elements and summary elements of a project. Terminal elements and summary elements comprise the work breakdown structure of the project. Some Gantt charts also show the dependency (i.e., precedence network) relationships between activities. 5

Page 6: Chapter 2

• Use a Gantt chart to plan how long a project should take. A Gantt chart lays out the order in which the tasks need to be carried out.

Early Gantt charts did not show dependencies between tasks but modern Gantt chart software provides this capability.

Henry Laurence Gantt, an American mechanical engineer, is credited with the invention of the Gantt chart.

6

Page 7: Chapter 2

• Gantt charts have become a common technique for representing the phases and activities of a project work breakdown structure.

• A work breakdown structure (WBS) is a deliverable oriented decomposition of a project into smaller components.

• A work breakdown structure element may be a product, data, a service, or any combination.

7

Page 8: Chapter 2

• Gantt charts only represent part of the triple constraints of projects.

• Gantt charts do not represent the size of a project or the relative size of work elements.

• Magnitude of a behind-schedule condition is easily mis communicated.

8

Page 9: Chapter 2

Planning and Scheduling: Gantt Chart

• List tasks• Graphically represent dependencies among tasks• Show duration and time period of each task• Heavily dependent on prediction regarding:

– Activities involved– Effort and time required

9

Page 10: Chapter 2

Gantt chart example• Programmer working on a small software

project

10

ID Task Name Start FinishDuratio

n

Dec 2002

5 6 7 8 9 10 11 12 13 14 15 16 17 18

1 2d12/6/200212/5/2002Requirement gathering

2 1d12/9/200212/9/2002Analysis

3 2d12/11/200212/10/2002Design

4 4d12/17/200212/12/2002Coding

5 10d12/31/200212/18/2002Testing

19 20 21 22 23 24 25 26 27 28 29 30 31

Explicit start time, end time, and duration (in days )

Explicit calendar bar

Page 11: Chapter 2

Another Gantt

11

Page 12: Chapter 2

Planning and Scheduling: Pert chart

• Alternative to Gantt chart• Different perspective

– Focuses on dependencies more than calendar time

• No fixed format

12

2 12/6/2002

Late Start Slack Late Finish

12/5/2002

Requirement gathering

1 12/9/2002

Late Start Slack Late Finish

12/9/2002

Analysis

2 12/11/2002

Late Start Slack Late Finish

12/10/2002

Design

4 12/17/02

Late Start Slack Late Finish

12/12/2002

Coding

10 12/31/2002

Late Start Slack Late Finish

12/18/2002

Testing

Start time

Duration

End timeTask

Page 13: Chapter 2

Another Pert

13

Page 14: Chapter 2

So how do you know how long a task is going to take?

14

Page 15: Chapter 2
Page 16: Chapter 2

16

Page 17: Chapter 2

17

Page 18: Chapter 2

18

Page 19: Chapter 2

19

Page 20: Chapter 2

20

Page 21: Chapter 2

21

Page 22: Chapter 2

22

Page 23: Chapter 2

Function Points• A.J. Albrecht of IBM, ~1979.• FP is a unit for estimating time and effort

independent of programming language.• Identify set of application activities (building

blocks) and sum the weights assigned to each.• From user’s viewpoint.

23

Page 24: Chapter 2

24

Page 25: Chapter 2

25

Page 26: Chapter 2

26

Page 27: Chapter 2

Determine the Unadjusted Function Point Count• The unadjusted function point count (UFPC) reflects

the specific countable functionality provided to the user by the project or application.

• The application's specific user functionality is evaluated in terms of what is delivered by the application, not how it is delivered. Only user-requested and defined components are counted.

• The unadjusted function point count has two function types—data and transactional.

27

Page 28: Chapter 2

28

Page 29: Chapter 2

Count Data Functions

1. An internal logical file (ILF) is a user identifiable group of

logically related data or control information maintained

within the boundary of the application. The primary

intent of an ILF is to hold data maintained through one

or more elementary processes of the application being

counted.• Tables in a relational database. • Application control information, perhaps things like user

preferences that are stored by the application. 29

Page 30: Chapter 2

2. An external interface file (EIF) is a user identifiable

group of logically related data or control information

referenced by the application, but maintained within

the boundary of another application. This means an

EIF counted for an application must be in an ILF in

another application.

30

Page 31: Chapter 2

Count Transactional Functions

• An external input (EI) is an elementary process that processes data or control information that comes from outside the application’s boundary.

• The primary intent of an EI is to maintain one or more ILFs and/or to alter the behavior of the system.

31

Page 32: Chapter 2

• An external output (EO) is an elementary process that

sends data or control information outside the application’s

boundary. The primary intent of an external output is to

present information to a user through processing logic

32

Page 33: Chapter 2

• An external inquiry (EQ) is an elementary process that sends data or control information outside the application boundary. The primary intent of an external inquiry is to present information to a user through the retrieval of data or control information. The processing logic contains no mathematical formula or calculation, and creates no derived data. No ILF is maintained during the processing, nor is the behavior of the system altered.

33

Page 34: Chapter 2

Low Medium High

Input files 3 4 6

Output files 4 5 7

Inquiries 3 4 6

Internal files 7 10 15

External interfaces

5 7 10

34

Page 35: Chapter 2

35

Determine the Value Adjustment Factor

The value adjustment factor (VAF) indicates the general

functionality provided to the user of the application. The

VAF is comprised of 14 general system characteristics

(GSCs) that assess the general functionality of the

application. Each characteristic has associated

descriptions that help determine the degree of influence

of the characteristic. The degrees of influence range on

a scale of zero to five, from no influence to strong

influence

Page 36: Chapter 2

Value Adjustment Factor

36

1. System Complexity 2. I/O Complexity 3. Application Complexity

1.1 Data communication

2.1 Reliable and transaction-oriented data management

3.1 Algorithms and processing ability

1.2 Distributed data processing

2.2 Online data management

3.2 Need to reuse the code later

1.3 Relevance of performance

2.3 Usability and efficiency of end user

3.3 Installation easiness

1.4 Configuration of hardware and software

2.4 Online update of the data

3.4 Startup, shutdown, and operation easiness

Partial (1) Partial (2) 3.5 Requirements to run on multiple sites

        3.6 Readiness to change

        Partial (3)

Total

Page 37: Chapter 2

37

Page 38: Chapter 2

Function Points• 14 “technical factors” related to complexity

– Grouped under 3 classes of complexity:system, I/O, application

– Each factor ranked from 0 to 5• Technical complexity factor (TCF)

• Adjusted function points (AFP or FP)FP = UFP * (0.65 + TCF)

38

01.014

1 i iTCFTCF

The sum of the 14 factors’ ranks

Page 39: Chapter 2

Determine Type of Count

Development Project• Functions provided to the users with the first installation.

Enhancement Project• Measures the modifications to the existing application that add,

change, or delete user functions delivered.• Application function point count must be updated to reflect

changes in the application's functionality.

39

Page 40: Chapter 2

Application Project

• Referred to as the baseline or installed function point count. This number is initialized when the development project function point count is completed. It is updated every time completion of an enhancement project alters the application's.

40

Page 41: Chapter 2

UFP for Making Cappuccino

41

Name Type (building block)

Complexity Value

Milk Input File Medium 4

Coffee Input File Medium 4

Water Input File Low 3

Cappuccino Output File High 7

Water Temperature Inquiry Low 3

External Temperature External Interface Medium 7

Total Unadjusted Function Points 28

Page 42: Chapter 2

FP for Making Cappuccino

42

1. System Complexity 2. I/O Complexity 3. Application Complexity

1.1 Data communication 5 2.1 Reliable and transaction-oriented data management

0 3.1 Algorithms and processing ability

1

1.2 Distributed data processing

3 2.2 Online data management

4 3.2 Need to reuse the code later

0

1.3 Relevance of performance

4 2.3 Usability and efficiency of end user

4 3.3 Installation easiness 5

1.4 Configuration of the hardware and the software

4 2.4 Online update of the data

2 3.4 Startup, shutdown, and operation easiness

3

Partial (1) 16 Partial (2) 10 3.5 Requirements to run on multiple sites

2

        3.6 Readiness to change 2

        Partial (3) 13

Total = 39

Page 43: Chapter 2

FP for Making Cappuccino

• FP = UFP * (0.65 + TCF) = 28 * (0.65 + (39 * 0.01)) = 29.12

• So what was the time/effort required last time your firm implement 29 FPs?

43