0% found this document useful (0 votes)
9 views8 pages

Software Project Scheduling Guide

All of this is my class notes

Uploaded by

raisulrifat32
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views8 pages

Software Project Scheduling Guide

All of this is my class notes

Uploaded by

raisulrifat32
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 5

Software Scheduling:

 Project planning Steps:

1) Establish project scope:


Understand the problem and the work that must be done.
2) Determine feasibility:
To determine whether it would be financially and technically feasible to develop
the product.
3) Analyze risks:
What can go wrong? How can we avoid it? What can we do about it?
4) Define required resources
a) Determine human resources required
b) Define reusable software resources
c) Identify environmental resources
5) Estimate cost and effort
a) Decompose the problem
b) Develop two or more estimates using different approaches
6) Develop a project schedule
a) Establish a meaningful task set
b) Define a task network
c) Use scheduling tools to develop a timeline chart
d) Define schedule tracking mechanism

Risk Analysis and Management:

Software risks:

 What can go wrong?


 What is the likelihood?
 What will be the damage?
 What can be done about it?

Risk analysis and management are a set of activities that help a software team to
understand and manage uncertainty about a project.
Risk Management

The process by which a course of action is selected that balances the potential impact of a
risk weighted by its probability of occurrence and the benefits of avoiding (or
controlling) the risk

Risk management life cycle:


a. Identify(risk identification)
b. Analyze(risk analysis)
c. Plan(contingency planning)
d. Track(risk monitoring)
e. Control(recovery management)

 Software Project Scheduling:


Software project scheduling distributes estimated effort across the planned
project duration by allocating the effort to specific tasks.

Basic principles of project scheduling:


• Compartmentalization
– The project must be compartmentalized into a number of manageable
activities, actions, and tasks.
• 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 activitiescannot commence until the work product
produced by another is available
• 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.

• Effort validation
– Every project has a defined number of people on the team

• Defined responsibilities
– Every task that is scheduled should be assigned to a specific team member

• Defined outcomes
– Every taskthat is scheduled should have a defined outcome for software
projects such as a work product or part of a work product

• Defined milestones
– A milestone is accomplished when one or more work products has been
reviewed for quality and has been approved
Activity Predecessors Estimated Duration

A None 5

B A 5

C A 6

D B, C 13

E B 6

F D 4

G C 9

H E, F, G 2

1. Subtract activity times along each path as you move through the network (LF –
Dur = LS),
2. Carry back the LS time to the activity nodes immediately preceding the successor
node. That LS becomes the LF of the next node, unless the preceding node is a
burst point.
3. In the case of a burst point, the smallest succeeding LS become the LF for that
node.
ES(Earliest Start) Task Name Earliest Finish(EF)

Duration
5 B 10 10 E 16

5 6

5 6

0 A 5 11 D 24 24 F 28 28 H 30

5 13 4 2

5 13 4 2

5 C 11
11 G 20
6
9
6
9

Critical path analysis:

A project-management technique that lays out all the activities needed to complete a task, the time it will take to complete each activity and the
relationships between the activities. A task on the Critical Path has no (zero) slack.

Possible paths: A-B-E-H=5+5+6+2=18

A-B-D-F-H = 5+5+13+4+2=29

A-C-D-F-H = 5+6+13+4+2=30 /critical path


A-C-G-H = 5+6+9+2=22

2. How is slack determined?

Slack for a particular task is calculated by:

 Subtracting the earliest time the task can start from the latest time the task can start (LS - ES).

3. How do you determine the ES for an activity with two predecessors? How do you determine the LF for an activity with
two successors?
 The ES for an activity with two predecessors is equal to the later EF of the two predecessors since both predecessors
must be completed for the task to begin.

 The LF for an activity with two successors is equal to the smaller LS of the two successors.
ES (Earliest Start) Task Name EF (earliest finish)
5 B 10 10 E 16
Slack
0 12
LS (Latest start) Duration LF (Latest Finish)
5 5 10 22 6 28
LS Duration LF

0 A 5 11 D 24 24 F 28 28 H 30

0 0 0 0

0 5 5 11 13 24 24 4 28 28 2 30

11 G 20
5 C 11
8
0

5 6 11 19 9 28

Common questions

Powered by AI

Project planning involves several critical steps, each contributing to successful software scheduling. The steps include establishing the project scope, determining feasibility, analyzing risks, defining required resources, estimating cost and effort, and developing a project schedule. Establishing scope sets clear boundaries and objectives, which is crucial for task identification and allocation. Feasibility studies ensure resource availability and technical capability, avoiding potential delays. Risk analysis preemptively identifies potential issues, allowing for the formulation of mitigation strategies. Defining resources ensures that human, software, and environmental needs are met. Cost and effort estimation allows allocation of budget and time effectively, while a developed schedule with well-defined tasks, timelines, and tracking ensures that the project follows a structured path towards completion .

The Critical Path Method (CPM) in scheduling organizes project activities by mapping dependencies and determining the longest sequence of dependent tasks, known as the critical path. This path dictates the shortest time in which a project can be completed. Tasks on the critical path have zero slack, meaning any delay will directly extend the project's timeline. By focusing resources on these tasks, CPM aids in better schedule management by prioritizing activities that could impact project delivery, ensuring timely project completion .

Identifying environmental resources in software project planning affects outcomes by ensuring the availability of non-human and non-software resources such as hardware, workspaces, and tools. Ensuring these resources are available when needed prevents project delays and bottlenecks. This foresight enables teams to address potential shortages or constraints proactively, maintaining smooth project progression and optimizing resource management. Without proper identification and allocation of environmental resources, projects may face significant operational challenges that impede timely completion .

Handling uncertainty in software project management, especially regarding risk, involves careful risk analysis and management. This includes identifying potential risks, analyzing their likelihood and impact, planning contingency actions, and determining strategies for risk avoidance or control. Continual risk tracking and control ensure that any variations are managed effectively. Strategies such as maintaining a flexible project scope, utilizing adaptive scheduling, and implementing robust reporting mechanisms can also mitigate potential adverse effects of uncertainties, maintaining project trajectory .

The risk management life cycle comprises identification, analysis, planning, tracking, and control. Identification involves determining which risks might affect the project. Analysis assesses the likelihood and potential impact of identified risks. Planning involves developing strategies to mitigate risks. Tracking refers to monitoring the risks and ensuring that any changes are addressed promptly. Control includes implementing recovery strategies when risks materialize, thereby minimizing their impact on the project. These components are interconnected as they collectively ensure that risks are systematically managed from identification to resolution, maintaining project stability .

Defining milestones is crucial for tracking the progress of software engineering projects as they act as checkpoints that mark significant points in the project timeline. Milestones help in assessing project health and ensuring that scheduled tasks are completed on time. They provide clear, measurable targets that align with project objectives, facilitating better time management and resource allocation. By achieving milestones, teams can gain confidence and momentum, thereby enhancing overall project performance and stakeholder satisfaction .

To estimate cost and effort in software project planning, methodologies such as expert judgment, analogy, parametric models, and bottom-up estimation can be used. Expert judgment leverages the experience of practitioners for rapid estimation but may lack precision without data. Analogy uses historical data from similar projects, offering more precision if relevant past data is available. Parametric models use mathematical formulas to predict costs based on size and other parameters, providing scalable and replicable results. Bottom-up estimation involves detailed analysis and summation of individual components, ensuring comprehensiveness but requiring significant time and resources. Each method provides unique advantages depending on project context and data availability .

'Slack' in project scheduling is determined by subtracting the earliest start time (ES) from the latest start time (LS) of a task. It represents the amount of time a task can be delayed without affecting the overall project timeline. Slack is significant because it identifies tasks that have flexibility in scheduling, allowing project managers to allocate resources more efficiently. By knowing which tasks have slack, managers can focus on critical tasks that cannot afford delays, optimizing project delivery .

Interdependency plays a critical role in software project scheduling as it dictates the sequence in which tasks must be completed. Some tasks depend on the completion of others due to the need for specific outputs or deliverables, which requires careful planning to avoid delays. Determining these dependencies ensures that tasks are scheduled in the correct order, allowing for parallel processing when possible and sequential execution when necessary. This leads to more accurate scheduling and resource allocation, ultimately reducing project time and increasing efficiency .

Compartmentalization in project scheduling enhances management by breaking down projects into smaller, manageable activities, actions, and tasks. This approach allows for the detailed planning and monitoring of each element, facilitating better resource allocation and time estimation. By defining interdependencies and assigning distinct responsibilities, the project structure becomes clearer, improving communication and coordination among team members, thereby increasing the efficiency and effectiveness of the project management process .

You might also like