Basic Computer System Design
Project Management
Muhammad Tariq Mahmood
tariq@[Link]
School of Computer Science and Engineering
If you fail to plan, then you plan to fail.- Anonymous
Note: These notes are prepared from the following resources.
I (main text) Design for Electrical and Computer Engineers by Ralph Ford, Chris Coulston (McGraw-Hill Education 2008)
I Wiegers, Karl, and Joy Beatty. Software requirements. 3rd Edition, Pearson Education, 2013.
I Kendall, Kenneth E., and Julie E. Kendall. Systems analysis and design. Pearson Education, 2019 10Ed.
1 / 30
Contents
Learning Objectives
1 Project Management
I Be able to create a work breakdown structure.
2 The Work Breakdown Structure
I Be able to create network diagrams and Gantt
3 Network Diagrams
charts.
4 Gantt Charts
I Be able to determine the critical path for
5 Cost Estimation completing a project and the float time for each
Break-Even Analysis activity in the plan.
Cost Models
I Be able to conduct break-even analysis and
6 The Project Manager understand some basic methods of cost
7 Guidance estimation.
2 / 30
Project Management
Project Management
I Engineers are regularly engaged in projects in their
careers!
I Middle management continues to shrink
I Industry now organizes more around projects than
functions.
I The project management field includes topics such as initiating a project, team management, cost
management, risk management, controlling, resource management, and performance management, to name
a few.
3 / 30
Project Management (cont...)
I Many of these are addressed throughout this book from an engineering design viewpoint such as controlling
(design process), initiating (project selection), performance management (requirements and testing), and
team management.
I The three important objectives of project management are to complete projects that are on time, within
budget, and meet the requirements of the user.
I Time management introduces the work breakdown structure, which identifies the activities (combined tasks
and deliverables) required to complete the project. Responsibility for completing the activities is then
assigned to members of the team.
I Two graphical representations of the work breakdown structure, the network diagram and the Gantt chart,
are introduced.
4 / 30
The Work Breakdown Structure
The Work Breakdown Structure
I The work Breakdown structure (WBS) is a hierarchical breakdown of the tasks and deliverables that need to
be completed in order to accomplish the project objectives.
I Creating the WBS is typically the first step in project planning.
I A WBS is an ordered set of activities required to complete the project.
I An activity is a combination of a task and its associated deliverables.
I Tasks are actions that accomplish a job, while deliverables are entities that are delivered to the project upon
completion of tasks.
I The WBS has gained wide acceptance in industry and is described as follows:
1. A product-oriented family tree composed of hardware, software, services, data, and facilities. The family tree
results from systems engineering efforts.
2. A WBS displays and defines the product, or products, to be developed and/or produced. It relates the elements
of work to be accomplished to each other and to the end product.
5 / 30
The Work Breakdown Structure (cont...)
3. A WBS can be expressed down to any level of interest. However the top three levels are as far as any program
or contract need go unless the items identified are high cost or high risk. Then, and only then, is it important to
take the work breakdown structure to a lower level of definition.
I This description indicates that WBS results from systems engineering efforts and that the structure of the
WBS follows the design hierarchy.
I Gray and Larson recommend identifying the following activity attributes for each activity:
1. A definition of the work to be done or delivered.
2. A timeframe for completion of the activity.
3. Resources needed to complete the activity.
4. Person(s) responsible for the activity.
5. Predecessors (or dependencies) for the activity. Predecessors are other activities that must be completed before
the work can start.
6. Checkpoints for monitoring progress.
6 / 30
The Work Breakdown Structure (cont...)
I The collection of activities and their attributes are gathered in the WBS table. The rows of the WBS table
represent the project activities. These activities are arranged in a hierarchical fashion; each major activity is
followed by its constituent subactivities. The columns of the WBS table are the activity attributes
I Consider the WBS table for the temperature monitoring design
7 / 30
The Work Breakdown Structure (cont...)
8 / 30
The Work Breakdown Structure (cont...)
I In this example, the WBS follows the hierarchical breakdown of the design architecture itself.
9 / 30
The Work Breakdown Structure (cont...)
I Each activity is assigned an identification number (ID) and a name. The hierarchical nature of the activities
is reflected in the ID numbering scheme. The three highest-level activities in the project plan are the
Interface Circuitry (1), LED and Driver Circuitry (2), and System Integration and Test (3).
I The first two activities are further refined into subactivities shown by the indented items. For example, the
Interface Circuitry activity contains three subactivities: Circuit Design (1.1), Purchase Components (1.2),
and Construction and Test (1.3).
I The Construction and Test activity is further subdivided, producing a total of three levels in the hierarchy.
I Descriptions and deliverables for each activity are provided. The deliverables also serve as checkpoints for
monitoring the activity.
I The fifth column in Table is the estimated duration for each activity. The ability to estimate durations is
heavily influenced by past experience.
I A method for estimating activity duration comes from the project evaluation review technique (PERT)
developed by the U.S. Navy in the 1950s.
10 / 30
The Work Breakdown Structure (cont...)
I Empirical studies show that durations typically follow a beta probability density. From this model, the
duration of an activity is estimated as
ta + 4tm + tb
te =
6
where ta is the most optimistic time estimate, tb is the most pessimistic time estimate, and tm is the most
realistic time estimate.
I The persons responsible for each deliverable are identified in the WBS. Teams need to consider how to
assign responsibility to ensure mutual accountability is achieved.
I The resources needed to complete the activity include material, equipment, and labor. Material includes
items that are consumed in creating the deliverable, such as electronic components and printed circuit
boards.
I Predecessors for an activity are the activities that must be completed before the given activity can begin.
Identifying predecessors is necessary for determining the sequencing of the activities and the time to
complete the project.
11 / 30
Network Diagrams
Network Diagrams
I A network diagram is a directed graph representation of the activities and dependencies beňtween them for
a project.
I Activity B is dependent on activity A when A must be completed before B can be started.
I The network diagram allows a graphic visualization of the project that also allows for quantitative analysis.
In the activity on node (AON) form, the activities are represented by nodes and the dependencies by arrows.
Figure 1: Activity on Node (AON) representations of activities. (a) Activity 1 must be completed before activity 2
can begin. (b) Activities 1 and 2 must be completed before activity 3 can begin. (c) Activity 1 and 2 must be
completed before activities 3 and 4 can begin.
12 / 30
Network Diagrams (cont...)
I An example network diagram for a simple project is shown in Figure. Dummy activity nodes for the start
and end of the project have been included. The ID number and estimated duration in days are indicated
inside each node.
I A given network diagram will have multiple paths from the start to the end of the project.
I A path is any connected sequence of activities from the start node to the end node.
Figure 2: Example network diagram. Each activity contains the activity ID and the estimated duration in days.
I In this example, there are four paths to completion: P = (1, 4), P2 = (1, 5), P3 = (2, 3, 4), andP4 = (2, 3, 5).
I all paths (and consequently all activities) must be completed for the entire project to finish.
13 / 30
Network Diagrams (cont...)
I The duration of each path is determined by summing the duration of all activities on the path, which in this
case is 20, 26, 28, and 34 days for paths P1 to P4 respectively.
I The path with the longest duration is known as the critical path since it represents the minimum time
required to complete the project.
I The other paths can become critical paths if their activities experience sufficient slippage to form a new
critical path.
I A quantity known as float quantifies this margin. Float is the amount of time an activity can slip without
extending the overall completion time of the project.
I The following method is utilized to determine the float for activities:
1. Identify all paths on the network diagram and the duration for each path.
2. The path with the longest duration is the critical path. Label the critical path duration as tcp . All activities on
the critical path have zero float.
3. To determine the float for an activity that is not on the critical path, find all paths that the activity lies on and
identify the one with the longest duration tlp . Label this as teP . The float for the activity is calculated as
Float = tcp − tlp
14 / 30
Network Diagrams (cont...)
I Example 10.1 Float Time Calculation.
I Problem: Calculate the float for activities in the network diagram shown in Figure
I The critical path is P4 and tcp = 34 days, so activities 2, 3, and 5 have zero float.
Float2,3,5 = 0 days
Float1 = tcp − tlp = 34 − 26 = 8 days
Float4 = tcp − tlp = 34 − 28 = 6 days
Figure 3: Example network diagram. Each activity contains the activity ID and the estimated duration in days.
15 / 30
Network Diagrams (cont...)
I Example: Network Diagram Construction and Float Time Calculation for the Temperature Display.
I Problem: For the example WBS in Table 10.1, (a) create a network diagram, (b) determine the critical
path and project completion time, and (c) determine the float for all activities not on the critical path.
I (a) Create a network diagram
16 / 30
Network Diagrams (cont...)
I (b) Determine the critical path and project completion time The three paths from start to end are:
P1 = {1.1, 1.2, 1.3.1, 1.3.3, 3}, P, = {1.1, 1.2, 1.3.2, 1.3.33}, P3 = {2.1, 2.2, 2.3, 2.4, 3} which have durations
of 38, 39, and 30 days respectively. Thus the critical path is P2 , and its duration is tcp = 39 days
I (c) Determine the float for all activities not on the critical path.
Float1.1,1.2,1.3.2,1.3.3,3 = 0 days
Float1.3.1 = tcp − tlp = 39 − 38 = 1 days
Float2.1−2.4 = tcp − tlp = 39 − 30 = 9 days
I The strength of the network diagram is that it provides an intuitive graphical representation of activities and
their dependencies on one another.
I This is particularly valuable for complex projects where the paths to completion may not be obvious. It also
allows identification of the critical path and float times for activities.
I A disadvantage of the network diagram is that it may be difficult to encapsulate the amount of information
required for an in-depth project on a single page in an easy-to-read format
17 / 30
Gantt Charts
Gantt Charts
I Gantt charts, developed by a mechanical engineer named Henry Gantt (1861-1919), are a bar graph
representation of activities on a timeline.
I The Gantt chart effectively shows the WBS and the timeline for completion.
I A traditional weakness of the Gantt chart has been the inability to show the dependencies between activities.
I However, this has been remedied by modern project management software, in which the dependencies are
indicated by the connecting arrows between tasks.
18 / 30
Gantt Charts (cont...)
Figure 4: An example Gantt chart for the temperature display design.
19 / 30
Cost Estimation
Break-Even Analysis
I A break-even analysis aims to determine the number of units that must be sold for costs and revenues to be
equal (no profit or loss)
I The two types of costs that factor into this analysis are fixed and variable costs.
I Fixed costs are those that are constant regardless of the number of units produced and cannot be directly
charged to a process or activity.
I Examples are rent, overhead, insurance, property taxes, design and development costs, capital expenditures,
market research, and sometimes labor costs, depending upon the situation.
I Variable costs vary depending upon the process or items being produced, and fluctuate directly with the
number of units produced.
I Examples are raw materials, inventory, energy costs, and labor costs.
20 / 30
Cost Estimation (cont...)
I The break-even point is the point where the number of units sold is such that there is no profit or loss. It is
determined from the total costs and revenue. The total cost required to produce a product is the sum of
fixed and variable costs.
I Assuming n units are sold, the total cost is
variable cost
Total Cost = fixed cost + n ×
unit
I The total revenue generated by the sale of the n
units is directly related to the sale price
sale price
Revenue = n ×
unit
I The break-even point is where the revenue and total
costs are equal
sale price variable cost
n× = fixed cost + n × Figure 5: Graphical representation of the break-even
unit unit analysis
21 / 30
Cost Estimation (cont...)
I Example: Break-even Analysis for the HP DeskJet Printer.
I Problem: The following data has been publicly reported for the development and sale of the HP DeskJet
[U1r03]: sales price = $300, development cost = $50 million, production investment = $25 million, annual
production (sales) volume = 4 million units per year, and sales lifetime = 2 years. Assuming a fictitious
variable production cost of $225/unit, determine: (a) the number of units that must be sold to break even
and (b) the profit expected over an estimated sales lifetime of 2 years.
I Solution: (a) The objective is to determine the sales volume n necessary to break even. The fixed costs are
the sum of the development costs and production investment. So
Fixed cost = $(50 + 25) million = $75 million
Total cost = $75 million × n × $225
Revenue = n × $300
Setting the revenue and total cost each equal at the break-even point produces
n × $300 = $75 million × n × $225
Solving for the final number of units gives N = 1million units
22 / 30
Cost Estimation (cont...)
I Solution: (b) Profit is the differential between the total revenue and the total cost and is expressed as
Profit = Total Revenue − Total Cost
= n × $300 − ($75 million × n × $225)
= 8 million × $300 − ($75 million × 8 million × $225)
= $525 million
23 / 30
Cost Models
Cost Models
I The costs must be accurately estimated in order to realize the expected profit.
I Many projects go over budget during development, and this is a particularly important con-sideration from a
design viewpoint.
I Study about some basic concepts and techniques for estimating development costs.
I Model-1
• Equipment costs can be determined in a fairly straightforward manner, because many of the equipment needs are
known beforehand.
• Labor costs are tied directly to the length of the project and are often the largest expense.
• The estimation formula in (1) for activity duration can be applied for costs as
costa + 4costm + costb
Cost =
6
where costa is the most optimistic cost estimate, costm is the most likely cost estimate, and costb is the most
pessimistic cost estimate.
24 / 30
Cost Models (cont...)
I Model-2
• A more formal approach for estimating labor costs is to use empirical models that represent a quantification of
past experience.
• The models estimate an output based upon quantifiable inputs related to the design or technology.
• The simplest example is a linear model (y = mx + b) for estimating an output y (cost or person-hours) based
upon an input x .
• For example, IBM modeled software development project costs, using the number of lines of code as the input, as
Effort = a × KLOC + b.
• As the complexity increased, an exponential model was found to be more realistic, where
Effort = a(KLOC )b .
I Example: Effort Estimation Using KLOC.
I Problem: Consider a software development project that has a team of 10 software developňment engineers.
The team has proposed a design and estimates that it will require 50,000 lines of code to complete the
project. The average cost to the company for an engineer is $100,000 per year, including salary, benefits,
and overhead. Estimate (a) the time required to the complete the project and (b) the labor costs.
25 / 30
Cost Models (cont...)
I Solution: (a) For the projected value KLOC, the exponential model is most appropriate:
Effort = a(KLOC )b = 5.2(50)0.91 = 183 worker − months
Since there are 10 developers on the project, the estimated time is determined by dividing the effort by 10,
to produce an estimated time of 18.3 months.
I Solution: (b) The labor costs for development are determined from the number of worker-months and the
average monthly salary of a development engineer as
$100, 000 1 year
Labor cost = 183 worker − months × ×
years 12 months
= $1.53 million
26 / 30
Cost Models (cont...)
I Cost model (COCOMO) (Constructive Cost Model)
• The reality is that many factors affect the costs, which leads to effort estimation based on many inputs.
• An example of this is the constructive cost model (COCOMO) that is also used in software development.
• There are different levels of COCOMO that allow increasingly complex model inputs, such as the type of
technology employed, the maturity of the technology, the size of the team, the experience of the engineers, and
the time frame required to complete the project.
I Empirical cost models
• Empirical cost models can also be developed for the materials necessary for the manufacture of items.
• Material estimates are often based upon the expected size and types of technologies used in the manufactured
part.
• For example, a cost model for the manufacture of a printed circuit board may have as inputs the size of the
board, the number of layers, and the type of technology used (such as through-hole versus surface mount).
27 / 30
The Project Manager
The Project Manager
I Many engineering teams have a project manager responsible for planning and organizing the project.
I The project manager may take primary responsibility for developing the WBS, the network diagram and
Gantt chart, the cost estimates, and the budget.
I Although the project manager may have primary responsibility for the project plan, all team members should
have input and contribute to development of the plan.
I The project manager should monitor the checkpoints and deliverables against the plan and develop
strategies for reacting to slippage in any activities.
I The plan should be updated as necessary and the changes communicated to all involved.
I The project manager may also have primary responsibility for the purchasing of materials and controlling
spending.
I Project managers are not necessarily the boss in the traditional sense and should be viewed as a member of
the team. As such, it is important for the project manager to also be responsible for completing project
deliverables in addition to the project management tasks.
28 / 30
Guidance
Guidance: The following is guidance to be considered when you are creating the project management plan
1. Build the plan after the design architecture is complete : The project plan can be created at any point in the
design process. Our experience shows that a good time to develop it is after the system design architecture
is complete. The design serves as a good guide for develňoping the WBS.
2. Take the initial time estimates for activities and double them: Most people tend to significantly
underestimate the amount of time it takes to complete an activity. That is because people often have a
conceptual idea of what it will take to complete the task and can envision the steps to completion.
3. Assign a lot of time for testing and integration: During integration many people must work together to
integrate components that may have been developed in isolation. Problems with a single component can
bring the integration to a halt. Delays may be compounded by necessary redesign to correct the problem.
4. Factor in lead times for part ordering: Even with the Internet and overnight delivery, you may find that
needed parts and equipment are out of stock. Lead times for seemingly commonplace items can sometimes
be quite lengthy.
5. Assign a project manager: Consider assigning one individual who has primary responsibility for organizing
and monitoring the plan. Again, the project manager must also be responsible for some of the deliverables
for completion of the project.
29 / 30
Guidance (cont...)
6. Do not assign all team members to all tasks: Experience shows that when this is the case noňbody is
responsible for anything and the work doesn’t get done. There needs to be individual accountability for all
team members. However, it may be a good idea to have more than one person responsible for activities for
backup support as shown in the WBS
7. Track the progress versus the plan: There is a tendency to create the plan and then ignore it. The plan is
valuable only if it is monitored and progress is tracked.
8. Don’t become a slave to the plan: Circumstances usually dictate change. Be prepared to shift resources as
needed. Monitor the plan to see if there are changes to the critical path or if a new critical path emerges.
9. Experience counts: Get started now in developing this experience by creating a plan for your project.
30 / 30