Work Breakdown Structure
Work Breakdown Structure
Work Breakdown Structure
1)What is WBS
Large, complex projects are organized and comprehended by breaking them into
progressively smaller pieces until they are a collection of defined "work packages" that
may include a number of tasks.
Work breakdown structure (WBS) is a technique to decompose the project for the
purpose of management and control. It provides the framework for organizing and
managing the work.
A project may be divided into subprojects. Subprojects are subdivided into smaller, more
manageable work components (work packages) at the lowest level. The work packages
may be further decomposed to project activities. It provides the framework for organizing
and managing the work.
The WBS is commonly used at the beginning of a project for defining project scope,
organizing Gantt schedules and estimating costs. It lives on, throughout the project, in the
project schedule and often is the main path for reporting project costs. WBS includes
activities like management, procurement, installation, software
development etc. Many of the WBS development tasks are derived from the development
method that will be used, and from the design and architecture of the system.
It starts with the end objective required and successively subdividing it into manageable
components in terms of size and complexity of:
– Program,
– Project,
– System,
– Subsystem,
– Components,
– tasks, subtasks, and
– work elements
The WBS is first and foremost a technical data gathering structure, developed so that the
achievement in technical progress can be measured and analyzed against a formal
baseline plan.
The WBS aids the customer in understanding the status of the project as time elapses.
The WBS aids the customer's customer in understanding the status of the project. All
managers, internal and external need to use the planning and status information within the
WBS.
Each descending level represents an increasingly detailed definition of the project’s work.
It’s an outline of the work of the project, not the work itself, created by those doing the
work – that may include all functional stakeholders.
The WBS is produced following the development of the scope statement, before the
schedule. It is a “bridging” document between the Scope and Schedule. (what and when)
– Defines 100% of the scope and can communicate the scope of the project without the
presence of the scope statement or document.
– Communicates effectively to all stakeholders
– Defines and clarifies
– Boundaries (Life cycle of the project – not the product)
– Deliverables
– Refines Scope
Defines scope in project management language (perhaps down to work package level
which may lead to development of project schedule)
It’s not a single document that can be mistaken for the project plan, schedule or scope
statement
A WBS is a valuable management tool that is used throughout all life-cycle phases to:
a. Manage Risk
It helps in managing risk by providing insight into technical aspects of program
management.
b. Manage Costs
A WBS can be used to help make program management decisions.
For example, if the costs of an element in the WBS are too high, the WBS can be used to
identify possible tradeoffs. Identifying and analyzing tradeoffs can help the manager
decide how best to stay within budget.
c. Assign Work
The WBS is also useful for determining an acquisition strategy and/or assigning work.
The information contained in the WBS can help a Program Manager to develop a
statement of work that describes what products or services are to be delivered.
f. Report Expense
– The WBS is also a budgetary tool that provides a means of charging each development
activity to the appropriate section in the project budget.
– This is one of the basic methods for planning and monitoring project expenditure.
– There are mainly computerized utilities available to support the maintenance of the
WBS.
– These utilities run both on small PC type computers and large mainframes.
– WBS utilities are often available as part of a manager's general planning utility, and
provide other scheduling and monitoring features, such as PERT analysis and report
generation.
a) Project Decomposition
Many complex objects can be viewed as a collection of numerous simpler objects. An
appropriate example would be a complex chemical compound that is formed by various
molecules, each of which is formed by combining various atoms. The atom, though itself
divisible, can be regarded as the smallest particle of a chemical substance.
In a similar way, a complex project can be divided into simpler components. While the
full project may be difficult to manage, each component will be easier to handle.
Software projects can be decomposed into smaller components in order to provide better
estimates of the amount of work involved, or in order to monitor the activities of the
various development teams.
The decomposition of a software project is one of the software project manager's first
tasks. However, the method of decomposition may differ, depending on the project
manager's actual objective. A functional decomposition of a project may not be the same
as design decomposition.
A functional decomposition divides the project into its basic components from a user's
perspective, while design decomposition divides a project into its basic programming
components or modules.
Intuitively, it would not appear reasonable to attempt to identify all project components in
a single step. Clearly, an iterative procedure that would gradually provide more detail
would be easier to use. Iterative methods of this kind are called stepwise refinement, as
the decomposition is further refined in each succeeding step.
Controlled access system software has five low level software components:
Visitor identification, Door lock-control, Access file-manager, Illegal access
identification and Alarm activation. Each of these five modules may correspond to an
actual software module1. The two high level components, Access control and Alarm
system, do not exist as actual software modules, and only appear as names given to the
two groups of lower level components.
the same Controlled access system software, but this time it is represented as a
hierarchical chart. Here, each component in the diagram represents a real software
component.
The System executive main Loop component calls three other components:
Visitor identification, Door lock control and Alarm activation: The Visitor identification
component calls two components: Illegal access identification and Access file manager.
Just like any other large complex task, the development of a software project is more
easily managed with the divide and conquer approach.
Stepwise refinement, when applied to a software project, produces all the low level work
tasks and includes
– development tasks
– managerial tasks
– support tasks and
administrative tasks
The WBS list of project tasks is derived from the project's statement of work (the SOW)
that defines the scope of the project. The SOW is usually prepared before the official
launching of the project, and is often part of the project contract between the customer
and the developer.
For internal projects, when an organization is funding its own development work, the
SOW becomes synonymous with the Project definition specification or a similar
document that defines the scope of work for the software project manager.
b) Functional Decomposition
The functional decomposition of a software project is a division of the system into its
operational components as they are seen by the user. Functional decomposition is part of
the requirements phase of a project. The objective of this phase is to define air the
characteristics of the system from the user's perspective. Let us consider an automatic
bank teller system. The ability to communicate online
between the remote automatic tellers and the bank's central computer in order to provide
updated account information is a functional characteristic or the system. This will usually
be defined during the requirements phase of the development cycle. However, the method
of transmission between the automatic teller and the central computer is not a functional
characteristic of the system, as this is internal to the design and implementation of the
system and is not apparent to the user.
The method of transmission, including the communications protocol, will usually be
defined during the design phase of the development of the system.
an example of the functional decomposition of an automatic bank teller system into lower
levels of functional components. we have determined that there will be a customer data
base, which could be viewed as a design decision. This is unavoidable. The functional
decomposition is rarely completely devoid of all design considerations. As we will see,
the functional decomposition is often a starting point for the initial design of the system.
In fact, the functional decomposition is often a good place to start when designing a
software system, as the major functional components of a system will often correspond to
the initial division of the system into subsystems or high level components.
c) Design Decomposition
The design decomposition of a software system is a division of the system into lower
level components that coincide with the actual software components of the system. In a
full design decomposition of a software system, the lowest components correspond to
programming modules (usually procedures, subroutines or program functions).
The work breakdown structure (WBS) is the decomposition of a software project into low
level work tasks.
An important point to remember is that in design decomposition, only the lower level
components are actually implemented. Higher level components represent a group of
lower level components.
Design decomposition basically produces two types of system component:
• high level components and
• low level modules
Different software development standards use different terminology to identify the
various levels of decomposition.
Figure 4 presents an example of the design decomposition of an automatic bank teller
system into lower levels of design components. On the third level, the Automatic teller
component decomposes into the Hardware interfaces, and the
Teller logic. The next level may then decompose the Hardware interfaces into the
Keyboard driver, the Display driver, the Printer, driver and the Beeper. At this level,
these drivers may represent actual software modules.
At a convenient intermediate decomposition step we can divide the design in two: the
upper levels and the lower levels. This is used particularly when the design phase is
implemented in two distinct stages: top level design and detailed design.
Initial top level decomposition
Intermediate level decomposition – top level design
Low level decomposition – detailed design
d) Develop Project Tasks
WBS tasks are developed by asking, “What tasks need to be done to accomplish the
project objective?” The choice of WBS structure is subjective and reflects the preferences
and judgment of the project manager.
As levels of the WBS become lower, the scope, complexity, and cost of each subtask
become smaller. The lowest level tasks, or work packages, are independent, manageable
units that are planned, budgeted, scheduled, and controlled on their own.
As efforts of similar scope and type are planned, the basic WBS tasks remain fairly
similar, but each project requires a specific set of tasks that address the uniqueness of the
project's requirements. Certain top level elements, such as project management, are
included in the WBS of every project, regardless of its type, size, or complexity. Other
items, like installation, may not apply to every project. The initially developed WBS
evolves over the course of the planning. It is highly probable that it will look quite
different as the scheduling, estimation, and resource allocation portions of the plan are
completed.
One of the difficult parts of talking about IT projects generically is the wide range of such
projects. Typically, in a small project, there is a single project development phase.
In large or complex systems, however, there are often multiple development phases,
where different functional requirements are met.
Sometimes these phases are driven by the need to achieve certain levels of functionality
prior to the availability of the complete system. Other times, the phases are defined to
partition the development effort and to reduce the risks associated with larger project
efforts.
There can, however, also be relationships between tasks that are not within the outlined
hierarchy. These relationships need to be noted, and the ultimate structuring of the tasks
optimized to favor a minimum of horizontal dependencies and relationships. If the tasks
are not organized efficiently, it becomes difficult to schedule and allocate resources to the
tasks.
The project scope of work is an iterative process that is generally done by the project
team with the use of a Work Breakdown Structure (WBS), allowing the team to capture
and then decompose all of the work of the project.
g) Defining Deliverables
Deliverables associated with each task are shown in the WBS and are reflected in the
Deliverables portion of the Project Plan. A sample of a Deliverables template is shown
next. All deliverables are listed as they are identified.
As the schedule is completed, the due date is filled in, and responsibility for the
deliverable is assigned as it is known (typically when the organization chart is defined).
The date delivered is a field that is filled in as deliveries are made.
Over the course of the project, a comparison of the due date and the date delivered
provides a metric for how well deliverable dates are met by the project team.
While the deliverables list is a compilation of information identified in the WBS and the
project schedule, it is useful to maintain a separate list since deliverable completion can
be a key metric of project progress. Separate tracking of deliverables can help keep a
project on track. It also serves as a useful communication tool with both stakeholders and
the project team.
Product Name
Due Date
Date Delivered
Author/ POC
Requirement Specification 4/1/96 4/1/96 ABC
Design Specification 8/1/96 XYZ
Test Plan 8/1/96 DEF
Implementation Plan 11/1/96 …
Source Code 12/1/96 …
Test Report 1/30/97 …
In the second step of creating a WBS, you refine the list of tasks that was compiled
during brainstorming. Refining the tasks may include adding more tasks or combining the
existing ones. During this step, you may also change the arrangement of tasks. A change
in the arrangement of tasks can occur on the basis of two theories of WBS.
• Deliverable-based theory
• Project life-cycle-based theory
You use the deliverable-based theory when the deliverables of a project are more
important than its phases. This normally happens when the deliverables are decided
before the project begins.
However, if the phases of a project are completely defined, you use the project life-cycle-
based theory. You can use the project life-cycle-based theory to arrange the tasks in a
project.
c) Categorizing Tasks into Logical Headers
Finally, after defining tasks and arranging them, you categorize each task into a logical
task header.
For example, preparing test plans and test cases and drawing up the test plans can be
categorized as Testing.
This activity provides another chance to ensure that you have not missed any task during
brainstorming.
In addition, you can also consult an expert such as a senior manager to review and
validate the tasks identified.