2. PLANNING & SCHEDULING
• 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
3. OBJECTIVES FOR PLANNING AND
SCHEDULING
• EFFECTIVE TIME MANAGEMENT.
• OPTIMZE SEQUENCE OF EVENTS.
• DEFINE NECESSARY RESOURCES.
• TIMLY PROJECT PROGRESS.
3
4. • 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
5. 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) 5
6. • 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
7. • 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
8. • 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
9. 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
10. Gantt chart example
• Programmer working on a small software
project
Explicit start time, end time, and duration (in days )
Dec 2002
Du ratio
ID Task Name Start Fi nish
n 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 Requireme nt gathering 12 /5/2002 12/6 /2002 2d
2 Analysis 12 /9/2002 12/9 /2002 1d
3 Design 12/10/2002 12/11/2002 2d
4 Coding 12/12/2002 12/17/2002 4d
5 Testing 12/18/2002 12/31/2002 10d
Explicit calendar bar
10
12. Planning and Scheduling:
Pert chart Duration
Start time
12/5/2002 2 12/6/2002
Requirement gathering
Late Start Slack Late Finish End time
Task
12/9/2002 1 12/9/2002
Analysis
• Alternative to Gantt chart Late Start Slack Late Finish
• Different perspective 12/10/2002 2 12/11/2002
Design
– Focuses on dependencies Late Start Slack Late Finish
more than calendar time 12/12/2002 4 12/17/02
Coding
• No fixed format Late Start Slack Late Finish
12/18/2002 10 12/31/2002
Testing
Late Start Slack Late Finish
12
23. 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
27. 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
29. 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
30. 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
31. 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
32. • 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
33. • 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
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
35
36. Value Adjustment Factor
1. System Complexity 2. I/O Complexity 3. Application Complexity
1.1 Data 2.1 Reliable and 3.1 Algorithms and
communication transaction-oriented processing ability
data management
1.2 Distributed data 2.2 Online data 3.2 Need to reuse the
processing management code later
1.3 Relevance of 2.3 Usability and 3.3 Installation easiness
performance efficiency of end user
1.4 Configuration of 2.4 Online update of 3.4 Startup, shutdown,
hardware and software the data and operation easiness
Partial (1) Partial (2) 3.5 Requirements to
run on multiple sites
3.6 Readiness to
change
Partial (3)
Total
36
38. 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)
(∑ )
The sum of the 14 factors’ ranks
14
TCF = i=1
TCFi × 0.01
• Adjusted function points (AFP or FP)
FP = UFP * (0.65 + TCF)
38
39. 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
40. 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
41. UFP for Making Cappuccino
Name Type Complexity Value
(building block)
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
41
42. FP for Making Cappuccino
1. System Complexity 2. I/O Complexity 3. Application Complexity
1.1 Data communication 5 2.1 Reliable and 0 3.1 Algorithms and 1
transaction-oriented data processing ability
management
1.2 Distributed data 3 2.2 Online data 4 3.2 Need to reuse the code 0
processing management later
1.3 Relevance of 4 2.3 Usability and 4 3.3 Installation easiness 5
performance efficiency of end user
1.4 Configuration of the 4 2.4 Online update of the 2 3.4 Startup, shutdown, and 3
hardware and the software data operation easiness
Partial (1) 16 Partial (2) 10 3.5 Requirements to run 2
on multiple sites
3.6 Readiness to change 2
Partial (3) 13
Total = 39
42
43. 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