Professional Documents
Culture Documents
ENEL2SE-Ch03 Planning and Managing The Project SHORT
ENEL2SE-Ch03 Planning and Managing The Project SHORT
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.1
Project phases without docuemntations
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.2
3.1 Tracking Progress
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.3
3.1 Tracking Progress
Project Schedule (Gantt
(Gantt-
Gantt-Chart)
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.4
3.1 Tracking Progress
Project Schedule: Approach
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.5
3.1 Tracking Progress
Activities and Milestones/Gantt-
Milestones/Gantt-Chart
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.7
What is a milestone/Gantt
milestone/Gantt-
Gantt-Chart?
Chart?
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.8
3.1 Tracking Progress
Project Schedule (continued)
Details of each
phase and
activity
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.9
Slide 9
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.10
Activity graph for Software Project development
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.11
3.1 Tracking Progress
Work Breakdown and Activity Graphs (continued)
(continued)
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.12
3.1 Tracking Progress
Estimating Completion
• Adding estimated time in activity graph of each activity to be
completed tells us more about the project's schedule
days
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.13
3.1 Tracking Progress
Estimating Completion for Building a House
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.14
Flowchart
start Code
documentation
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.15
3.1 Tracking Progress
Critical Path Method (CPM)
• Minimum amount of time it will take to complete a
project
– Reveals those activities that are most critical to completing the
project on time
• Real time (actual time):
time): estimated amount of time
required for the activity to be completed
• Available time:
time: amount of time available in the schedule
for the activity's completion
• Slack time:
time: the difference between the available time and
the real time for that activity
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.16
3.1 Tracking Progress
Critical Path Method (CPM) (continued)
• Critical path:
path the slack at every node is zero
– can be more than one in a project schedule
• Slack time = available time – real time = latest start time – earliest start time
Activity-2
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.17
3.1 Tracking Progress
Tools to Track Progress (use anyone for your project)
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.18
3.1 Tracking Progress
Tools to Track Progress (use
use anyone for your project)
project
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.19
3.1 Tracking Progress
Tools to Track Progress: Ex2: Gantt Chart
• Activities shown in parallel
– helps understand which activities can be performed concurrently
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.20
3.1 Tracking Progress
Tools to Track Progress: Resource Histogram
https://www.smartdraw.com/histogram/examples/
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.21
3.2 Project Personnel
• Key activities requiring personnel
1) requirements analysis
2) system design
3) program design (flowchart, Data Flow Diagrams)
https://www.lucidchart.com/pages/templates/flowchart/programming-flowchart-template
4) program implementation
5) testing
6) training
7) maintenance
8) quality assurance
• There is great advantage in assigning different responsibilities
to different people
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.22
3.2 Project Personnel
Choosing Personnel (by Group leader)
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.24
3.2 Project Personnel
Communication (continued)
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.25
3.2 Project Personnel
Project Organization (draw your project organization chart)
https://www.lucidchart.com/pages/templates/org-
https://www.lucidchart.com/pages/templates/org-chart/project-
chart/project-organizational-
organizational-chart-
chart-template
• Depends on
1) backgrounds and work styles of team members
2) number of people on team
3) management styles of customers and developers
• Examples:
– Chief programmer team: one person totally responsible for a
system's design and development
– Egoless approach: hold everyone equally responsible
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.26
3.2 Project Personnel
Project Organization: Chief Programmer Team (Company)
https://www.lucidchart.com/pages/templates/org-
https://www.lucidchart.com/pages/templates/org-chart/company-
chart/company-organizational-
organizational-chart-
chart-template
• Each team member must communicate often with chief, but not
necessarily with other team members
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.27
3.3 Effort Estimation project costs
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.28
PROJECT TITLE: Smart Dispenser Prescription Medicine Machine (SDNPMM)
DURATION: ( 18 ) MONTHS
Ex: ITEM: CATEGORY NO. COMPENSATION
Phase1/First Year Phase2/Second Year
TOTAL
Months Budget Months Budget
Consultants 1 1000 12 12000 $12,000
Principal investigator 1 1500 12 18000 6 9000 $27,000
Co-investigator 2 1000 12 12000 6 6000 $18,000
Other senior personnel
Postdoctoral associate
Manpower
Compensation 1
Summer
Compensation 2
Materials
Training
Field trips and Accommodations 4,000 $4,000
Tickets 5,000 $5,000
Item Total
10,100 $10,100
Patent registration 2,500 $2,500
Others
• Key causes
1) Frequent request for change by users
2) Overlooked tasks
3) User's lack of understanding of the requirements
4) Insufficient analysis when developing estimates
5) Lack of coordination of system development, technical
services, operations, data administration, and other
functions during development
6) Lack of an adequate method or guidelines for estimating
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.30
3.3 Effort Estimation
Sidebar 3.3 Causes of Inaccurate Estimates (READING)
READING)
• Key influences
– Complexity of the proposed application system
– Required integration with existing system
– Complexity of the program in the system
– Size of the system expressed as number of functions or
programs
– Capabilities of the project team members
– Project team's experience with the application, the
programming language, and hardware
– Capabilities of the project team members
– Database management system
– Number of project team member
– Extent of programming and documentation standards
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.31
3.4 Risk Management
What is a Risk?
• Risk is an unwanted event that has negative
consequences
• Distinguish risks from other project events
– Risk impact:
impact the loss associated with the event
– Risk probability: the likelihood that the event will
occur
• Quantify the effect of risks
– Risk exposure = (risk probability) x (risk impact)
• Risk sources: generic and project-specific
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.32
3.4 Risk Management
Risk Management Activities
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.33
3.4 Risk Management
Risk Management Activities (continued)
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.34
3.5 Project Plan: Project Plan Contents
• Project scope • Documentation plan
• Project schedule • Data management plan
• Project team • Resource management
organization plan
• Technical description of • Test plan
system • Training plan
• Project standards and • Security plan
procedures
• Risk management plan
• Quality assurance plan
• Maintenance plan
• Configuration
management plan
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.35
3.5 Project Plan: Project Plan Lists
• List of the people in development team
• List of hardware and software
• Standards and methods, such as
1) Algorithms (flowchart)
2) Tools
3) Review or inspection techniques
4) Design language or representations
5) Coding languages: Java, C/C++, C#, Python
6) Testing techniques
End of Chapter#3
Pfleeger and Atlee, Software Engineering: Theory and Practice Chapter 3.36