Module 1and2
Module 1and2
• Restaurant orders:
• Preparation of some of the food before
opening the shop (sprint planning)
• continuous delivery of orders (adhoc stories)
• number of successful orders (velocity)
• cricket team:
• Run rate (velocity)
• team (scrum team self sufficient)
• over (sprint length)
• captain/ coach (scrum master)
What are the 12 principles of agile?
• Customer satisfaction
• Early and continuous delivery
• Embrace change
• Frequent delivery
• Collaboration of businesses and developers
• Motivated individuals
• Face-to-face conversation
• Functional products
• Technical excellence
• Simplicity
• Self-organized teams
• Regulation, reflection and adjustment
Agile methodology
• Agile methodology is a type of project management process, mainly used
for software development, where demands and solutions evolve through
the collaborative effort of self-organizing and cross-functional teams and
their customers.
• Agile software development refers to a group of software development
methodologies based on iterative development, where requirements and
solutions evolve through collaboration between self-organizing cross-
functional teams. Agile methods or Agile processes generally promote a
disciplined project management process that encourages frequent
inspection and adaptation, a leadership philosophy that encourages
teamwork, self-organization and accountability, a set of engineering best
practices intended to allow for rapid delivery of high-quality software, and
a business approach that aligns development with customer needs and
company goals.
Examples of Agile Methodology
• Sprint:
A Sprint is a time-box of one month or less. A new Sprint starts
immediately after the completion of the previous Sprint.
• Release:
When the product is completed then it goes to the Release stage.
• Sprint Review:
If the product still have some non-achievable features then it will
be checked in this stage and then the product is passed to the
Sprint Retrospective stage.
• Sprint Retrospective:
In this stage quality or status of the product is checked.
• Product Backlog:
According to the prioritize features the product is organized.
• Sprint Backlog:
Sprint Backlog is divided into two parts Product assigned features
to sprint and Sprint planning meeting.
How Scrum Works
• In a rugby scrum, all the players literally put their heads together. When it comes to
software development, a scrum can be characterized by developers putting their heads
together to address complex problems.
• Scrum software development starts with a wish list of features — a.k.a. a product
backlog. The team meets to discuss:
• The backlog.
• What still needs to be completed.
• How long it will take.
• Scrum relies on an agile software development concept called sprints:
• Sprints are periods of time when software development is actually done.
• A sprint usually lasts from one week to one month to complete an item from the backlog.
• The goal of each sprint is to create a saleable product.
• Each sprint ends with a sprint review.
• Then the team chooses another piece of backlog to develop — which starts a new sprint.
• Sprints continue until the project deadline or the project budget is spent.
• In daily scrums, teams meet to discuss their progress since the previous meeting and
make plans for that day.
• The meetings should be brief — no longer than 15 minutes.
• Each team member needs to be present and prepared.
• The ScrumMaster keeps the team focused on the goal.
How Scrum Works
Introduction to Scrum Terms
• An introduction to Scrum would not be complete without knowing
the Scrum terms you'll be using. This section in the Scrum overview
will discuss common concepts in Scrum.
• Scrum team: A typical scrum team has between five and nine people,
but Scrum projects can easily scale into the hundreds. However,
Scrum can easily be used by one-person teams and often is. This team
does not include any of the traditional software engineering roles
such as programmer, designer, tester or architect. Everyone on the
project works together to complete the set of work they have
collectively committed to complete within a sprint. Scrum teams
develop a deep form of camaraderie and a feeling that “we’re all in
this together.”
Who is in the Scrum?/Scrum Terms
• Product owner: The product owner is the project’s key stakeholder and
represents users, customers and others in the process. The product owner
is often someone from product management or marketing, a key
stakeholder or a key user.
• Scrum Master: The Scrum Master is responsible for making sure the team
is as productive as possible. The Scrum Master does this by helping the
team use the Scrum process, by removing impediments to progress, by
protecting the team from outside, and so on.
• Product backlog: The product backlog is a prioritized features list
containing every desired feature or change to the product. Note: The term
“backlog” can get confusing because it’s used for two different things. To
clarify, the product backlog is a list of desired features for the product. The
sprint backlog is a list of tasks to be completed in a sprint.
• Sprint planning meeting: At the start of each sprint, a sprint planning meeting is held, during
which the product owner presents the top items on the product backlog to the team. The Scrum
team selects the work they can complete during the coming sprint. That work is then moved from
the product backlog to a sprint backlog, which is the list of tasks needed to complete the product
backlog items the team has committed to complete in the sprint.
• Daily Scrum: Each day during the sprint, a brief meeting called the daily scrum is conducted. This
meeting helps set the context for each day’s work and helps the team stay on track. All team
members are required to attend the daily scrum.
• Sprint review meeting: At the end of each sprint, the team demonstrates the completed
functionality at a sprint review meeting, during which, the team shows what they accomplished
during the sprint. Typically, this takes the form of a demonstration of the new features, but in an
informal way; for example, PowerPoint slides are not allowed. The meeting must not become a
task in itself nor a distraction from the process.
• Sprint retrospective: Also at the end of each sprint, the team conducts a sprint retrospective,
which is a meeting during which the team (including its ScrumMaster and product owner) reflect
on how well Scrum is working for them and what changes they may wish to make for it to work
even better.
• Each of the Scrum terms has its own page within the Scrum section, so be sure to check out all the
pages in the navigation.
A Visual Introduction to Scrum
• While a rugby scrum may get rough and bloody, software developers
shouldn’t have to worry about that. Nonetheless, scrum is not for all
developer teams or software development projects. There
are disadvantages to implementing scrum projects:
• There is a danger of scope creep if stakeholders keep adding functionality
to the backlog. This could be encouraged by the fixed deadline.
• Scrum works best with small teams of experienced software developers.
They need to be able to work quickly.
• Scrum teams do not work well when the scrum master micromanages their
work.
• Losing any team members can hurt the progress of the project.
Scrum Best Practices
• Teamwork wins rugby games and helps software developers create
quality products. To get the best quality out of scrum:
• Define requirements just in time to keep product features as
relevant as possible.
• Test and incorporate product owner feedback daily.
• Sprint reviews with stakeholders need to be regular.
• The scrum team needs to use the sprint retrospectives to improve
how they work.
• Conduct face-to-face conversations to reduce miscommunications.
• Trust the teams to do the best job possible.
• Allow the teams to self-organize around people’s skills, work styles
and personalities.
• Don’t burn out the team members. Respect the balance between
their personal and professional lives to ease stress.
Role of test engineer in scrum team
• The tester should be actively engaged in the team's work during
the Sprint and meetings. It is the tester's role to ensure the quality of the
developed product and the delivery process itself
• The development team in Scrum is responsible for developing the product
by working closely with the Product Owner. As per the testing quadrants,
the testers are responsible for technology-facing tests that support team &
critique the product and business-facing tests that help the team &
critiques the product.
• Even though an entire Scrum team has responsibility for testing and code
quality, someone on the team needs to be good at testing, and someone
on the team needs to set up unit and regression test automation, run the
end-to-end integration tests, and do manual exploratory testing on the
whole product
Scrum in Software Testing
• Scrum in Software Testing is a methodology for building complex
software applications. It provides easy solutions for executing
complicated tasks. Scrum helps the development team to focus on all
aspects of the software product development like quality,
performance, usability and so on. It provides with transparency,
inspection and adaptation during the software development to avoid
complexity.
Scrum Testing
• The tester needs to identify what went wrong and what went right in
the current sprint
• He needs to learn new lessons and best practices from the current
sprint
• The tester is encouraged to write new user stories that would help in
testing and also user stories that would help the customer
• The tester will discuss like if any user story was not covered in current
sprint.
• Any obstructions in the project will be put under consideration of
Scrum Master.
Introduction to Data
Structure
Definition
Data structure
Primitive DS Non-Primitive DS
Non-Primitive DS
Head
Pointer field Information field
[STACK]
Stack
•The stack can be implemented into two ways:
• Using arrays (Static implementation)
• Using pointer (Dynamic implementation)
Queue
•Queue are first in first out type of data structure (i.e.,
FIFO)
•In a queue new elements are added to the queue
from one end called REAR end and the element are
always removed from other end called the FRONT
end.
•The people standing in a railway reservation row are
an example of queue.
Queue
•Each new person comes and stands at the end of the row
and person getting their reservation confirmed get out of
the row from the front end.
•The bellow show figure how the operations take place on a
stack:
10 20 30 40 50
front rear
Queue
•The queue can be implemented into two ways:
• Using arrays (Static implementation)
• Using pointer (Dynamic implementation)
Trees
•A tree can be defined as finite set of data items
(nodes).
•Tree is non-linear type of data structure in which
data items are arranged or stored in a sorted
sequence.
•Tree represent the hierarchical relationship between
various elements.
Trees
•There is a special data item at the top of hierarchy
called the Root of the tree.
•The remaining data items are partitioned into
number of mutually exclusive subset, each of which
is itself, a tree which is called the sub tree.
•The tree always grows in length towards bottom in
data structures, unlike natural trees which grows
upwards.
Trees
•The tree structure organizes the data into branches,
which related the information.
A root
B C
D E F G
Graph
•Graph is a mathematical non-linear data structure
capable of representing many kind of physical
structures.
•It has found application in Geography, Chemistry and
Engineering sciences.
•Definition: A graph G(V,E) is a set of vertices V and a
set of edges E.
Graph
•An edge connects a pair of vertices and many have
weight such as length, cost and another measuring
instrument for according the graph.
•Vertices on the graph are shown as point or circles
and edges are drawn as arcs or line segment.
Graph
6
v2 v5
v1 v3
10
v1 8 11
15
9 v2
v3 v4 v4
1
Organization of this Lecture:
2
Introduction
3
Fitness of purpose
4
Fitness of purpose
5
Introduction
•Consider a software product:
•functionally correct,
•i.e. performs all functions as
specified in the SRS document,
•but has an almost unusable user
interface.
•cannot be considered as a quality
product.
6
Introduction
•Another example:
•a product which does everything
that users want.
•but has an almost
incomprehensible and
unmaintainable code.
7
Modern view of quality
8
Correctness
9
Portability
10
Reusability
11
Usability
12
Maintainability
13
Software Quality Management System
14
Quality system
15
Quality system
16
Quality System Activities:
•Auditing of projects
•Development of:
•standards, procedures, and guidelines, etc.
•Production of reports for the top
management
•summarizing the effectiveness of the
quality system in the organization.
• Review of the quality system itself.
17
Quality system
18
Quality system
• An undocumented quality system:
• sends clear messages to the staff about the attitude of the organization
towards quality assurance.
• International standards such as ISO 9000 provide:
• guidance on how to organize a quality system.
19
Evolution of Quality Systems
20
Evolution of Quality Systems
21
Evolution of Quality Systems
22
Evolution of Quality Systems
23
Quality control (QC)
24
Quality control (QC)
25
Quality assurance
26
Quality assurance
27
Total quality management (TQM)
•Advocates:
•continuous process improvements
through process measurements.
28
Business Process reengineering
29
Business Process reengineering
31
ISO 9000
•ISO (international Standards
Organization):
•a consortium of 63 countries established to
formulate and foster standardization.
•ISO published its 9000 series of
standards in 1987.
32
What is ISO 9000 Certification?
33
What is ISO 9000 Certification?
34
ISO 9000
35
ISO 9000
36
ISO 9001:
•Applies to:
•organizations engaged in design,
development, production, and
servicing of goods.
•applicable to most software
development organizations.
37
ISO 9002:
38
ISO 9003
39
ISO 9000 for Software Industry
40
Software vs. other industries
41
Software vs. other industries
• Software is intangible
• therefore difficult to control.
• It is difficult to control anything that we cannot see and feel.
• In contrast, in a car manufacturing unit:
• we can see a product being developed through stages such as fitting engine, fitting
doors, etc.
• one can accurately tell about the status of the product at any time.
• Software project management is an altogether different ball game.
42
Software vs. other industries
43
Software vs. other industries
44
ISO 9000 Part-3
45
Why Get ISO 9000 Certification?
•Several benefits:
•Confidence of customers in an
organization increases
•if organization qualified for ISO 9001
certification.
•This is especially true in the international
market.
46
Why Get ISO 9000 Certification?
47
Why Get ISO 9000 Certification?
•Requires:
•a well-documented software production
process to be in place.
•contributes to repeatable and higher
quality software.
•Makes development process:
•focussed, efficient, and cost-effective
48
Why Get ISO 9000 Certification?
49
How to Get ISO 9000 Certification?
50
How to Get ISO 9000 Certification?
•Application stage:
•Applies to a registrar for registration.
•Pre-assessment:
•the registrar makes a rough
assessment of the organization.
51
How to Get ISO 9000 Certification?
52
How to Get ISO 9000 Certification?
53
How to Get ISO 9000 Certification?
•Registration:
•The registrar awards ISO 9000 certificate
after successful completions of all previous
phases.
•Continued surveillance:
• The registrar continues monitoring the
organization periodically.
54
ISO 9000 Certification
• Management responsibility(4.1):
•Management must have an effective
quality policy.
•The responsibility and authority of all
those whose work affects quality:
• must be defined and documented.
56
Management responsibility(4.1)
57
Quality system (4.2) and contract reviews (4.3):
58
Design control (4.4):
59
Design control (4.4):
60
Document control (4.5):
61
Purchasing (4.6):
62
Purchaser Supplied Products (4.7):
63
Product Identification (4.8):
64
Process Control (4.9) :
65
Inspection and Testing (4.10) :
66
Inspection, measuring and test equipment(4.11):
67
Control of nonconforming product (4.13) :
68
Corrective Action (4.14) :
69
Handling (4.15) and Quality audits (4.17):
71
Salient features of ISO 9001 requirements:
72
Salient features of ISO 9001 requirements:
73
Shortcomings of ISO 9001 Certification (1)
74
Shortcomings of ISO 9001 Certification (2)
75
Shortcomings of ISO 9001 Certification (3)
76
Shortcomings of ISO 9001 Certification (4)
78
Shortcomings of ISO 9001 Certification (6)
79
SEI Capability Maturity Model
80
SEI Capability Maturity Model
81
SEI Capability Maturity Model
82
SEI Capability Maturity Model
83
Capability Evaluation
84
Software Process Assessment
85
SEI Capability Maturity Model
86
SEI Capability Maturity Model
Optimizing (5)
Managed (4)
Defined (3)
Repeatable (2)
Initial (1)
87
Level 1: (Initial)
•Organization operates
•without any formalized process or
project plans
•An organization at this level is
characterized by
•ad hoc and often chaotic activities.
88
Level 1: (Initial)
•Software production processes are not
defined,
•different engineers follow their own
process
•development efforts become chaotic.
•The success of projects depend on
individual efforts and heroics.
89
Level 2: (Repeatable)
90
Level 2: (Repeatable)
91
Level 3: (Defined)
92
Level 3: (Defined)
93
Level 4: (Managed)
94
Level 4: (Managed)
95
Level 5: (Optimizing)
96
Level 5: (Optimizing)
97
Key Process Areas
98
Level 2 KPAs
99
Level 3 KPAs
100
Level 4 KPAs
•Quantitative measurements
•Process management
101
Level 5 KPAs
•Defect prevention
•Technology change management
•Process change management
102
Comparison between ISO 9001 and SEI CMM
103
Comparison between ISO 9001 and SEI CMM
104
Comparison between ISO 9001 and SEI CMM
105
Remarks on Quality Model Usage
106
Small Organizations
107
Small Organizations
108
Small Organizations
109
Personal Software Process (PSP)
110
Personal Software Process (PSP)
111
Personal Software Process (PSP)
112
Time Management
113
Personal Software Process (PSP)
Planning
Design
Code Logs
Compile
Test
Project plan
Postmortem
summary
114
PSP-Planning
• Problem definition
• Estimate max, min, and total LOC
• Determine minutes/LOC
• Calculate max,min, and total development times
• Enter the plan data in project plan summary form
• record the planned time in Log
115
PSP-Design
116
PSP-Code
117
PSP-Compile
118
PSP-Test/Postmortem
• Test
• Test the program
• Fix all the defects found
• Record testing time in time recording log
• Postmortem
• Complete project plan summary form with actual time and size data
• Record postmortem time in time record
119
Personal Software Process (PSP)
121
Six Sigma
• To achieve six sigma
• a process must not produce more than 3.4 defects per million opportunities.
• 5 Sigma -> 230 defects per million
• 4 Sigma -> 6210 defects per million
• Six sigma methodologies
• DMAIC (Define, Measure, Analyze, Improve, Control)
• DMADV: (Define, Measure, Analyze, Design, Verify)
122
Six Sigma Methodologies
123
Summary
125
Summary
•ISO 9000
•series of three standards
•9001, 9002, and 9003
•9001 is applicable to software
industry
126
Summary
•SEI CMM
•developed specially for software
industry
•classifies software organizations into
five categories.
•According to the maturity of their
development process.
127
Current Trends
128
Software Lifecycle Models
1
Lecture outline
• Lifecycle models
• code-and-fix
• waterfall
• spiral
• evolutionary prototyping
• staged delivery
• design-to-schedule
2
Ad-hoc development
3
The software lifecycle
4
Lifecycle phases
• standard phases
• Requirements Analysis & Specification
• High-level (Architectural) Design
• Detailed (Object-oriented) Design
• Implementation, Integration, Debugging
• Testing, Profiling, Quality Assurance
• Operation and Maintenance
5
One view of SW cycle phases
Implemented
Expressed in By
Structured By Realized By
Terms Of Verified
By
class...
class...
class... ?
class.... ?
Use Case Application Solution
Domain Subsystems Source Test
Model Domain
Objects Code Cases
Objects
6
Some software models
• spiral: assess risks at each step, and do the most critical action immediately
• staged delivery: build initial requirement specs for several releases, then
design-and-code each in sequence
7
Model pros/cons
• value of models
• decomposing workflow
• understanding and managing the process
• as a management tool
• limitations of models
• a model is just a model
• abstracts away some aspects and highlights others
• artificial constraints
• compromises with model are often necessary
• (as with almost everything in SE)
• risk of overemphasizing the process
• the process is not the end in itself; product delivery is
8
Evaluating models
9
Code-and-fix model
code first
version
modify until
client is satisfied
operations mode
retirement
10
Problems with code-and-fix
• benefits
• no planning whatsoever; little management overhead
• applicable for very small projects and short-lived prototypes
req. change
requirements
verify
design
verify
implementation
test
operations
retirement
12
Detailed waterfall view
13
Waterfall issues
• benefits
• formal, standard; has specific phases with clear goals
• good feedback loops between adjacent phases
16
Another view of spiral model
Risk Assessment
Req. Change
Requirements
Risk Assessment
Verify
Design
Risk Assessment
Verify
Implementation
Test
Adds a Risk Analysis
step to each phase
Operations
18
Spiral benefits
• benefits of spiral
• provides early indication of unforeseen problems
• as costs increase, risks decrease
• always addresses the biggest risk first
• focuses attention on reuse
• accommodates changes, growth
• eliminates errors and unattractive choices early
• limits to how much is enough (not too much design, reqs, etc)
• treats development, maintenance same way
19
Spiral problems
- complicated
- relies on developers to have risk-assessment expertise
- possibly more management overhead to assess risk
- need for more elaboration of project steps
(clearer milestones)
- matching to contract software
(doesn't work well when you're bound to a fixed
inflexible contract)
20
Evolutionary prototype model
requirements
verify
arch. design
verify
for each build:
perform detailed
design, implement,
test, deliver
operations
retirement
21
Evolutionary details
• idea: build an initial requirement spec, code it, then "evolve" the
spec and code as needed
• each repetition is an "evolution" of the code, not necessarily bug fixes
23
Problems with evolutionary
24
Staged delivery
• staged delivery
• waterfall-like beginnings, then develop in short stages
• requires tight coordination with documentation, management, and
marketing
• can ship at any time during implementation
• from the outside (to customers) it looks like a successful delivery even if it is
not the final goal the team aimed for
• design-to-schedule
• useful when you absolutely need to ship by a certain date
• similar to the staged delivery model
• but less flexible because of the fixed shipping date
• requires careful prioritization of features and risks to address
• design-to-tools
• a model where the project only incorporates features that are easy to
implement by using or combining existing components
• reduces development time at cost of losing control of project
26
Which model is best?
27
Model category matrix
Risk Quality/ Predict- Visibility Customer
mgmt. cost ctrl. ability involvement
• Rate each model 1-5 in each of the categories shown:
code-and-fix
waterfall
spiral
evolutionary
prototyping
staged delivery
design-to-
schedule
28
Possible answer
Useful life
obsolete
Burn In
Useful Life
Wear Out
FAILURE
• Testing phase
Software Metrics For Reliability
• Complexity
• Size
Testing Reiiability Metrics
• First approach is “ensuring that the system is fully equipped with the
functions that are specified in the requirements”.
• Second approach is “Evaluating the code, Finding the errors and fixing
them”.
• Software Reliability is the probability that the software will work without
failure for a specified period of time
How to lead?
How to organize?
How to collaborate?
• Scope
• Context. How does the software to be built fit into a larger
system, product, or business context and what constraints are
imposed as a result of the context?
• Information objectives. What customer-visible data objects
are produced as output from the software? What data objects
are required for input?
• Function and performance. What function does the software
perform to transform input data into output? Are any special
performance characteristics to be addressed?
• Software project scope must be unambiguous and
understandable at the management and technical levels.
Problem Decomposition
process
process metrics
project metrics
measurement
product metrics
product
What do we
use as a
basis?
• size?
• function?
Why Do We Measure?
DRE = E /(E + D)
where:
E is the number of errors found before
delivery of the software to the end-user
D is the number of defects found after
delivery.
Estimation for Software
Projects
Software Project Planning
Why?
The
Project
• Off-the-shelf components
• Components are from a third party or were developed for a
previous project
• Ready to use; fully validated and documented; virtually no risk
• Full-experience components
• Components are similar to the software that needs to be built
• Software team has full experience in the application area of these
components
• Modification of components will incur relatively low risk
Reusable Software Resources
• Partial-experience components
• Components are related somehow to the software that needs to
be built but will require substantial modification
• Software team has only limited experience in the application area
of these components
• Modifications that are required have a fair degree of risk
• New components
• Components must be built from scratch by the software team
specifically for the needs of the current project
• Software team has no practical experience in the application area
• Software development of components has a high degree of risk
Estimation Techniques
Statement functional
of decomposition
Scope Perform a Grammatical
“parse”
Problem-Based Estimation
• Start with a bounded statement of scope
• Decompose the software into problem functions that can
each be estimated individually
• Compute an LOC or FP value for each function
• Derive cost or effort estimates by applying the LOC or FP
values to your baseline productivity metrics (e.g.,
LOC/person-month or FP/person-month)
• Combine function estimates to produce an overall estimate
for the entire project
Problem-Based Estimation
• In general, the LOC/pm and FP/pm metrics should be computed
by project domain
• Important factors are team size, application area, and complexity
• LOC and FP estimation differ in the level of detail required for
decomposition with each value
• For LOC, decomposition of functions is essential and should go
into considerable detail (the more detail, the more accurate the
estimate)
• For FP, decomposition occurs for the five information domain
characteristics and the 14 adjustment factors
• External inputs, external outputs, external inquiries, internal logical
files, external interface files
Problem-Based Estimation
framework activities
Function
project characteristics
calibration factors
LOC/FP data
Estimation with Use-Cases
exponent
effort = tuning coefficient * size
usually derived
as person-months empirically
of effort required derived
expected cost =
(path probability) x (estimated path cost)
i i
Effort
Cost
Ea = m ( t d 4 / t a 4 )
Eo
td to development time
Tmin = 0.75T d
Scheduling Principles
• Compartmentalization
• The project must be compartmentalized into a number of
manageable activities, actions, and tasks; both the product and
the process are decomposed
• Interdependency
• The interdependency of each compartmentalized activity, action,
or task must be determined
• Some tasks must occur in sequence while others can occur in
parallel
• Some actions or activities cannot commence until the work
product produced by another is available
Basic Principles for Project Scheduling
• Time allocation
• Each task to be scheduled must be allocated some number of
work units
• In addition, each task must be assigned a start date and a
completion date that are a function of the interdependencies
• Start and stop dates are also established based on whether work
will be conducted on a full-time or part-time basis
• Effort validation
• Every project has a defined number of people on the team
• As time allocation occurs, the project manager must ensure that
no more than the allocated number of people have been
scheduled at any given time
Basic Principles for Project Scheduling
• Defined responsibilities
• Every task that is scheduled should be assigned to a specific team
member
• Defined outcomes
• Every task that is scheduled should have a defined outcome for
software projects such as a work product or part of a work
product
• Work products are often combined in deliverables
• Defined milestones
• Every task or group of tasks should be associated with a project
milestone
• A milestone is accomplished when one or more work products has
been reviewed for quality and has been approved
Relationship Between
People and Effort
• Common management myth: If we fall behind schedule, we can
always add more programmers and catch up later in the
project
• This practice actually has a disruptive effect and causes the
schedule to slip even further
• The added people must learn the system
• The people who teach them are the same people who were
earlier doing the work
• During teaching, no work is being accomplished
• Lines of communication (and the inherent delays) increase for
each new person added
Factors that Influence a Project’s
Schedule
• Size of the project
• Number of potential users
• Mission criticality
• Application longevity
• Stability of requirements
• Ease of customer/developer communication
• Maturity of applicable technology
• Performance constraints
• Embedded and non-embedded characteristics
• Project staff
• Reengineering factors
Purpose of a Task Network
Task 1
Task 2
Task 3
Task 4
Task 5
Task 6
Task 7
Task 8
Task 9
Task 10
Task 11
Task 12
Use Automated Tools to
Derive a Timeline Chart
Example Timeline Charts
Proposed Tasks for a Long-Distance Move
of 8,000 lbs of Household Goods
Pack Arrange for
Make household Determine
workers to
decision goods destination
unload truck
to move location
Determine
Make
Drive truck date to move Reserve lodging
from origin out or move in rental truck Get money
reservations
to destination and supplies to pay for
the move
Decide on Find lodging
Unload type/size of with space Lease or buy
Plan travel
truck rental truck to park truck home at
route and
overnight stops destination
7. Arrange for
workers to
load truck
15. Reserve
16. Pick up 17. Load 20. Return
8. Arrange for rental truck
rental truck truck truck and
person to and supplies
drive truck/car supplies
9. Arrange for
workers to
unload truck
10. Pack • Where is the critical path and what tasks are on it?
household • Given a firm start date, on what date will the project be completed?
goods • Given a firm stop date, when is the latest date that the project must start by?
Timeline Chart for Long Distance Move