CS考试辅导 SWEN90016 Software Processes and Project Management -2- Project Schedulin

School of Computing and Information Systems
The University of Melbourne
Copyright University of Melbourne 2018 – 2022

Copyright By PowCoder代写 加微信 powcoder

2022 – Semester 1 Week 5
Software Processes & Project Management
Project Scheduling

Intended Learning Outcomes
1. Understand the role of a project schedule
2. Understand how to develop a project schedule
3. Understand how to use a project schedule to monitor and track project progress
4. Understandagileplanningprinciples
SWEN90016 Software Processes and Project Management -2- Project Scheduling

Project Schedule
• Project Schedule:
– One of the important artefacts generated during the project
planning phase
– Is used and maintained throughout the project to monitor and track project progress – is a living document
• What does the project schedule contain?
– Duration and dependencies for each task
– People and physical resources required by each task – Milestones and deliverables
– Project Timeline
SWEN90016 Software Processes and Project Management -3- Project Scheduling

Project Schedule
Project planning and scheduling introduced in this topic apply to formal SDLC processes – Plan Driven
SWEN90016 Software Processes and Project Management -4- Project Scheduling

Project Schedule
Agile SDLC processes do not use a project schedule – Value/Vision Driven
Anecdotally organizations that use Agile practices also use project schedules for budgeting, contracting and reporting purposes.
SWEN90016 Software Processes and Project Management -5- Project Scheduling

Intended Learning Outcomes
1. Understand the role of a project schedule
2. Understand how to develop a project schedule
3. Understand how to use a project schedule to monitor and track project progress
4. Understandagileplanningprinciples
SWEN90016 Software Processes and Project Management -6- Project Scheduling

Developing Project Schedule – Steps
1. Breakdown the task into small chunks you can deal with – Work Breakdown Structure (WBS)
2. Identify the interdependencies between the broken down tasks and develop a task network
3. Estimate the effort and the time allocation for each task
4. Allocate resources for tasks and validate effort
5. Develop the project schedule
SWEN90016 Software Processes and Project Management -7- Project Scheduling

Work Breakdown Structure – Step 1
• Planning and executing large tasks is challenging:
– Estimating the time and resources
– Identifying interim goals and deliverable – Progress monitoring
• Solution is to break the task down to manageable units:
– Each task should have a specific outcome or a deliverable – Results in a Work Breakdown Structure (WBS)
SWEN90016 Software Processes and Project Management -8- Project Scheduling

Example – WBS
http://texample.net/tikz/examples/work-breakdown-structure/
http://slideplayer.com/slide/5384158/
SWEN90016 Software Processes and Project Management -9- Project Scheduling

Example – WBS (Software Project)
SWEN90016 Software Processes and Project Management -10- Project Scheduling

Developing a Project Plan
1. Breakdown the task into small chunks you can deal with – Work Breakdown Structure (WBS)
2. Identify the interdependencies between the broken down tasks and develop a task network
3. Estimate the effort and the time allocation for each task
4. Allocate resources for tasks and validate effort
5. Develop a project schedule
SWEN90016 Software Processes and Project Management -11- Project Scheduling

Identify Task Dependencies
• Tasks can be:
– Unconstrained: the task can start at any time (buy paint, remove
detachable decorations)
– Constrained: depends on another task (cannot remove wall paper until decorations are removed)
• If task B depends on task A (A ->B)
– B is a Successor task (S)
– A is a Predecessor task (P)
• RemoveDetachableDecorations(P)->Removewallpaper(S)
• Dependencies are caused by:
– a task needing a work product of another task – a task needing resources used by another task
SWEN90016 Software Processes and Project Management -12- Project Scheduling

Types of Task Dependencies
Dependency
Description
Representation
Finish-to-Start
Predecessor must finish before Successor can start
Start-to-Start
Predecessor must start before Successor can start
Finish-to-Finish
Predecessor must finish before the Successor can Finish
Start-to-Finish
Predecessor must start before the Successor can finish
The most common type of dependency is the finish-to-start dependency
SWEN90016 Software Processes and Project Management -14- Project Scheduling

Task Network
Start c be
SWEN90016 Software Processes and Project Management -15- Project Scheduling

WBS – Software Project
1. Concept
1. Concept Scope
2. Preliminary Concept Planning
3. Preliminary Analysis
1.3a Technology Risk Assessment 1.3b Initial Requirements
3. c Build Configuration
4. Proof of Concept
5. Concept Prototype
6. Prototype Integration
7. Concept Evaluation
2. Requirements
1. Requirements Elicitation
2. Requirements Prototype
3. Requirements Analysis
4. Requirements Specification
5. Requirements Validation
1. Software Architecture Design
2. Class Models
4. Implementation
1. Coding the Client
2. Testing the Client
3. Coding the Server
4. Testing the Server
5. Integration Testing of Client with Server
5.AcceptanceTesting
SWEN90016 Software Processes and Project Management -16- Project Scheduling

Task Network – Software Project
SWEN90016 Software Processes and Project Management -17- Project Scheduling

Developing a Project Plan
1. Breakdown the task into small chunks you can deal with – Work Breakdown Structure (WBS)
2. Identify the interdependencies between the broken down tasks and develop a task network
3. Estimate the effort and the time allocation for each task
4. Allocate resources for tasks and validate effort
5. Develop a project schedule
SWEN90016 Software Processes and Project Management -18- Project Scheduling

Effort-time Estimation
• A common measure for estimating the effort for software is man-months (more generally person-months)
– Effort estimation will be covered in week 7
• person-months:
– the time in months for a single person working full time to
complete the task
• The Mythical Man-Months [Brooks seminal paper]
– man-months is a misleading measure to estimate software
– adding people to a project that is behind schedule could result in more damage than helping it
SWEN90016 Software Processes and Project Management -19- Project Scheduling

Effort vs Time
Putnam-Norden-Rayleigh curve
SWEN90016 Software Processes and Project Management -20- Project Scheduling

Time Estimation
• Terminology optimistic time – O
pessimistic time – P most likely time – M
expected time – T 𝐸
= (O +4M+P)/6
SWEN90016 Software Processes and Project Management Project Scheduling

Time Estimation
SWEN90016 Software Processes and Project Management -22- Project Scheduling

Developing a Project Plan
1. Breakdown the task into small chunks you can deal with – Work Breakdown Structure (WBS)
2. Identify the interdependencies between the broken down tasks and develop a task network
3. Estimate the effort and the time allocation for each task
4. Allocate resources for tasks and validate effort
5. Develop a project schedule
SWEN90016 Software Processes and Project Management -23- Project Scheduling

Resource Allocation
• If the effort (person-months) and the time are known, the number of personnel can be computed as:
• Assigning people to tasks
– Although computing the number of personnel required for each task appears simple, resource allocation is complicated task
– The project manager has to carefully consider the expertise of the people, and the availability of them for tasks, which might require validation and adjustment of the schedule
SWEN90016 Software Processes and Project Management -24- Project Scheduling

Developing a Project Plan
1. Breakdown the task into small chunks you can deal with – Work Breakdown Structure (WBS)
2. Identify the interdependencies between the broken down tasks and develop a task network
3. Estimate the effort and the time allocation for each task
4. Allocate resources for tasks and validate effort
5. Develop a project schedule
SWEN90016 Software Processes and Project Management -25- Project Scheduling

Project Schedule
• Project Schedule will answer two important questions not answered so far:
– How long will the system take to develop? – How much will it cost?
• Two widely used graphical notations to represent the Project Schedule
– Gantt charts
• A bar chart that shows the schedule against a calendar
– PERT (Program Evaluation and Review Technique) charts
• An activity network that shows the dependencies among tasks and the critical path
SWEN90016 Software Processes and Project Management Project Scheduling

Project Scheduling – Definitions
Description
Activity (Task)
Is part of a project that requires resources and time
Is the completion of an activity that provides evidence of a deliverable completion or end of a phase – is an event that takes zero time
Free float (free slack)
Is the amount of time that a task can be delayed without causing a delay to subsequent tasks
Total float (total slack)
Is the amount of time that a task can be delayed without delaying project completion
Critical path
Is the longest possible continuous path taken from the initial event to the terminal event
Critical activity
Is an activity that has total float equal to zero
SWEN90016 Software Processes and Project Management Project Scheduling

Milestones vs Deliverables
• Milestones
– Mark specific points along a project timeline
– These points may signal anchors such as:
• a project start and end date • a need for external review
• start and end of a phase
• a completion of a deliverable
• Deliverable
– Specific artefacts that are of interest – Examples of deliverables include:
SWEN90016 Software Processes and Project Management -28- Project Scheduling

Milestones vs Deliverables
• Milestones
– Mark specific points along a project timeline
– These points may signal anchors such as:
• a project start and end date • a need for external review
• start and end of a phase
• a completion of a deliverable
• Deliverable
– Specific artefacts that are of interest
– Examples of deliverables include:
• Project documents such as the Project Management Plan, Requirements Specification, Design Document, Test Plan etc.
• Prototypes
• Final application
SWEN90016 Software Processes and Project Management -30- Project Scheduling

• Was introduced by in 1910
• Gantt chart is a horizontal bar chart which shows tasks against
a timeline – project schedule
• Can be used to view planned activities vs progress and therefore is a useful tool for monitoring project progress
SWEN90016 Software Processes and Project Management -31- Project Scheduling

Linked Gantt charts
• contain lines indicating the dependencies between tasks
SWEN90016 Software Processes and Project Management Project Scheduling

Progress Gantt charts
• tasks are shaded in proportion to the degree of their completion
• used for progress tracking – gives a visual representation of the
SWEN90016 Software Processes and Project Management Project Scheduling

PERT Chart
• PERT (Program Evaluation and Review Technique) chart:
– A task network which shows the dependencies along with time related information and the critical path
• PERT analysis helps:
• understand the characteristics of the project that will let project managers do scheduling trade-offs
• perform critical path analysis
• monitor project progress and re-plan
SWEN90016 Software Processes and Project Management Project Scheduling

PERT Chart
• Involves calculating the following estimates:
• Earliest start time (ES)
• Latest start time (LS)
• Earliest finish time (EF)
• Latest finish time (LF)
• Slack time
SWEN90016 Software Processes and Project Management Project Scheduling

PERT Chart – Example
Critical Path: a, c, e, g Duration: 19 days
• Critical path activities have a total free slack of 0
• Two parallel paths could be critical paths
• There can be more than one critical path
SWEN90016 Software Processes and Project Management -36- Project Scheduling

PERT Chart Example
SWEN90016 Software Processes and Project Management Project Scheduling

PERT Chart Example
Critical Path: 1.1, 1.2, 1.3b, 1.4, 1.5a, 1.6, 1.7 Duration: 21 days
Note: Critical path activities have a total free slack of 0
SWEN90016 Software Processes and Project Management -53- Project Scheduling

Critical Path Methods
• Critical Path
– path with the longest duration
– activities on the critical path have a total free slack of 0
– a delay in any of the activities in the critical path will cause the project to delay
• Crashing the project schedule
– shortening the total duration of the project by shortening the
critical path
• By removing the dependencies between activities in the critical path; or
• Shortening the duration of activities in the critical path
SWEN90016 Software Processes and Project Management Project Scheduling

Tools (for reference)
Atlassian (Jira), Microsoft project

23 Best Gantt Chart Software for Project Management in 2022


SWEN90016 Software Processes and Project Management -40- Project Scheduling

Intended Learning Outcomes
• Understand the role the project schedule
• Understand how to develop a project schedule
• Understand how to use a project schedule to monitor and track project progress
• Understand agile planning principles
SWEN90016 Software Processes and Project Management -41- Project Scheduling

Project Tracking and Control
• How do software projects fall behind schedule? One day at a time
– , the well-known author of the seminal article Mythical Man-Months
• Project scheduling is important, but tracking and controlling are even more important!
SWEN90016 Software Processes and Project Management Project Scheduling

Project Tracking and Control
• How to track and control project progress?
– Periodic meetings where team members report progress
– Evaluating the results of reviews and audits conducted as part of the software engineering process
– Tracking formal project milestones
– Comparing actual start dates with scheduled start dates
– Meeting engineers and having informal discussions
– Using a formal method like earned value analysis
SWEN90016 Software Processes and Project Management Project Scheduling

Earned Value Analysis (EVA)
• EVA can be used to:
– report current/past project performance
– predict future project performance based on current/past performance
• Results can be expressed in dollars and/or percentage
SWEN90016 Software Processes and Project Management -44- Project Scheduling

Computing EVA
• Planned Value (PV)
– that portion of the approved cost estimate planned to be spent on the given activity during a given period
• The Earned Value (EV)
– the value of the work actually completed
• Actual Cost (AC)
– the total of the costs incurred in accomplishing work on the activity in a given period
SWEN90016 Software Processes and Project Management -45- Project Scheduling

EVA – Example
• Consider the following scenario:
You are assigned to manage a project that is planned to finish in 12 months, estimated to cost $100,000. At the end of the third month, based on the project Gantt chart, 20% of the work had been reported as completed.The finance department has reported the cost of the project to date as $35,000.
What is the PV? What is the EV? What is the AC?
SWEN90016 Software Processes and Project Management -46- Project Scheduling

EVA – Example
• Consider the following scenario:
You are assigned to manage a project that is planned to finish in 12 months, estimated to cost $100,000. At the end of the third month, based on the project Gantt chart, 20% of the work had been reported as completed. The finance department has reported the cost of the project to date as $35,000.
PV = $100,000*3/12 = $25,000 (assuming equal work distribution overtheperiod,which maynotbethecasealways)
EV = $100,000*20/100 = $20,000 AC = $35,000
SWEN90016 Software Processes and Project Management -48- Project Scheduling

EVA – Schedule Variance
• Schedule Variance Analysis
– Uses EV and PV to calculate a variance to the project schedule
• Schedule Variance: expressed in dollars SV=EV-PV
= 20,000 – 25,000
• Schedule Performance Index: expressed as a fraction SPI =EV/PV
= 20,000/25,000
SWEN90016 Software Processes and Project Management Project Scheduling

EVA – Cost Variance
• Cost Variance Analysis
– Uses EV and AC to calculate a variance to the project schedule
• Cost Variance: expressed in dollars CV=EV-AC
= 20,000 – 35,000 = (15,000)
• Cost Performance Index: expressed as a fraction CPI = EV/AC
= 20,000/35,000 = 0.57
SWEN90016 Software Processes and Project Management Project Scheduling

EVA – Graphical Representation
https://www.pmi.org/learning/library/earned-value-management-systems- analysis-8026
SWEN90016 Software Processes and Project Management Project Scheduling

Intended Learning Outcomes
1. Understand the role of a project schedule
2. Understand how to develop a project schedule
3. Understand how to use a project schedule to monitor and track project progress
4. Understandagileplanningprinciples
SWEN90016 Software Processes and Project Management -52- Project Scheduling

Planning in Agile Development
Takes a significantly different flavour from traditional approaches
Detailed planning is deferred until the start of the iteration
– Designed to handle change
– An iteration includes all phases (requirements, design and test)
Planning is based on light weight lists
– Gantt and PERT charts are considered less useful
SWEN90016 Software Processes and Project Management -53- Project Scheduling

Planning in Agile Development
• Plan short iterations
• Deliver working software
• Use “Just in time (JIT) planning” – next iteration
• Use the team
SWEN90016 Software Processes and Project Management -54- Project Scheduling

Planning in Scrum
Different levels of planning in Scrum
SWEN90016 Software Processes and Project Management -55- Project Scheduling

Planning in Scrum
Deliverables
Possibly a year of more
Stakeholders and product owners
Managing a portfolio of products
Portfolio backlog and collection of in-process products
Product (envisio ning)
Up to many months or longer
Product owner, stakeholders
Visions and product evolution over time
Product vision, roadmap, and high-level features
Three (or fewer) to nine months
Entire Scrum Team, Stakeholders
Continuously balance customer value and overall quality against the constraints of scope, schedule and budget
Release Plan
Every iteration (one week to one month)
Entire Scrum Team
What features to deliver in the next Sprint
Sprint goals and sprint backlog
Scrum Master, development team
How to complete committed features
Inspection of current progress and adaptation
SWEN90016 Software Processes and Project Management -56- Project Scheduling

Release Planning
• Assumptions in Formal Planning:
– Scope fixed – requirements are stable

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com