0% found this document useful (0 votes)
2 views

SE-Module-5

The document outlines key aspects of software engineering project management, emphasizing the importance of delivering software on time, within budget, and meeting customer expectations. It discusses project characteristics, risk management processes, and various tools and techniques such as project management software, scheduling diagrams, and methodologies like Agile and Waterfall. Additionally, it covers cost estimation, productivity measurement, and function points as metrics for assessing software development efforts.

Uploaded by

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

SE-Module-5

The document outlines key aspects of software engineering project management, emphasizing the importance of delivering software on time, within budget, and meeting customer expectations. It discusses project characteristics, risk management processes, and various tools and techniques such as project management software, scheduling diagrams, and methodologies like Agile and Waterfall. Additionally, it covers cost estimation, productivity measurement, and function points as metrics for assessing software development efforts.

Uploaded by

Universal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

SOFTWARE ENGINEERING PROJECT

MANAGEMENT

Prof. Spoorthi G S
Topics

• Module V - Project Management


Project Management Goals
• To deliver the software to the customer at
the agreed time;
• To keep overall costs within budget;
• To deliver software that meets the
customer’s expectations;
• To maintain a coherent and well-
functioning development team.
What is a project?
• Good software project management is essential if software
engineering projects are to be developed on schedule and within
budget.

Some dictionary definitions:


“A specific plan or design”
“A planned undertaking”
“A large undertaking e.g. a public works scheme”
Key points above are planning and size of task
Characteristics of projects
A task is more ‘project-like’ if it is:
• Non-routine
• Planned
• Aiming at a specific target
• Work carried out for a customer
• Involving several specialisms
• Made up of several different phases
• Constrained by time and resources
• Large and/or complex

5
Determinants for software quality
and organizational effectiveness
Project Planning Process
Risk in Project Management
1. Risk identification You should identify possible project, product,
and business risks.
2. Risk analysis You should assess the likelihood and consequences
of these risks.
3. Risk planning You should make plans to address the risk, either
by avoiding it or by minimizing its effects on the project.
4. Risk monitoring You should regularly assess the risk and your
plans for risk mitigation and revise these plans when you learn more
about the risk.
Types of Risk
Risk and its Affects
Tools and Techniques
1. Project Management Software:
Purpose: Provides a centralized platform for managing all aspects of a project, including task
scheduling, resource allocation, progress tracking, and communication.
Examples: Zoho Projects, Asana, Trello, Atlassian Jira.
2. Scheduling Diagrams:
Gantt Charts:
Visual representation of project tasks and their timelines, showing dependencies and progress.
PERT Charts (Program Evaluation and Review Technique):
A method for scheduling and controlling complex projects, using a network diagram to show
dependencies and critical paths.
Critical Path Analysis:
Identifies the most important tasks that determine the overall project duration, ensuring on-time
completion.
3. Risk Management:
Risk Assessment: Identifying potential risks and their impact on the project.
Risk Mitigation: Developing and implementing strategies to reduce the likelihood or impact of
identified risks.
Tools and Techniques
4. Communication and Collaboration:
Regular Meetings: Facilitate communication and coordination between team members and stakeholders.
Project Status Reports: Provide updates on project progress, challenges, and upcoming actions.
Communication Channels: Utilizing various communication methods (email, instant messaging, video
conferencing) to keep stakeholders informed.
5. Project Methodologies:
Agile:
An iterative approach to software development, emphasizing flexibility and collaboration.
Scrum:
A specific framework within Agile, using sprints and daily stand-up meetings.
Kanban:
A visual system for managing workflow and progress, often used in Agile development.
Waterfall:
A traditional, sequential approach to project management.
6. Other Techniques:
Cost Estimation and Budgeting: Developing a detailed budget and tracking project expenses.
Quality Management: Ensuring that the project meets the required quality standards.

These tools and techniques help project managers effectively plan, execute, and control software projects,
leading to successful project outcomes
The final outcome of the planning
process
A project plan as a bar chart

13
PERT vs CPM

Do B
PERT

Do A Do D
Do C
CPM
Do B
Do A

Do D
Do C

14
Drawing up a PERT diagram

• No looping back is allowed – deal with


iterations by hiding them within single
activities

• milestones – ‘activities’, such as the start


and end of the project, which indicate
transition points. They have zero
15 duration.
Lagged activities
Where there is a fixed delay between
activities e.g. seven days notice has to be
given to users that a new release has been
signed off and is to be installed

7da
Acceptance Install new
ys
testing release
20 1d
days ay
16
Types of links between activities

Finish to start
Software Acceptance
development testing
Start to start/ Finish to finish

Test
prototype
2
days
1 Document
day Amendments
17
Types of links between
activities
• Start to finish

Operate
temporary
system

Cutover to
Acceptance new
test system
of new
18
system
Start and finish times
Latest
Earliest start finish
activity

Latest Earliest finish


start
• Activity ‘write report software’
• Earliest start (ES)
• Earliest finish (EF) = ES + duration
• Latest finish (LF) = latest task can be
completed without affecting project end Latest
start = LF - duration
19
Software Cost Estimation

• Predicting the resources required for a


software development process.

• How much effort is required to complete an


activity?
• How much calendar time is needed to complete an
activity?
• What is the total cost of an activity?
• Project estimation and scheduling and interleaved
management activities
Software Cost Components
● Hardware and software costs
● Travel and training costs
● Effort costs (the dominant factor in most
projects)
• salaries of engineers involved in the project
• Social and insurance costs
● Effort costs must take overheads into
account
• costs of building, heating, lighting
• costs of networking and communications
• costs of shared facilities (e.g library, staff restaurant, etc.)
Software Pricing factors
Programmer productivity
• A measure of the rate at which individual
engineers involved in software development
produce software and associated
documentation

• Not quality-oriented although quality assurance


is a factor in productivity assessment

• Essentially, we want to measure useful


functionality produced per time unit
Measurement problems
• Estimating the size of the measure
• Estimating the total number of programmer
months which have elapsed
• Estimating contractor productivity (e.g.
documentation team) and incorporating this
estimate in overall estimate
Lines of code
• What's a line of code?
– The measure was first proposed when programs were
typed on cards with one line per card
– How does this correspond to statements as in Java
which can span several lines or where there can be
several statements on one line
• What programs should be counted as part of the
system?
• Assumes linear relationship between system
size and volume of documentation
Productivity comparisons

• The lower level the language, the more


productive the programmer
– The same functionality takes more code to implement
in a lower-level language than in a high-level language
• The more verbose the programmer, the higher
the productivity
– Measures of productivity based on lines of code
suggest that programmers who write verbose code are
more productive than programmers who write compact
code
High and low level languages
System development times
Function points
• Based on a combination of program
characteristics
– external inputs and outputs
– user interactions
– external interfaces
– files used by the system
• A weight is associated with each of these
• The function point count is computed by
multiplying each raw count by the weight
and summing all values
Function points
• Function point count modified by complexity of the
project
• FPs can be used to estimate LOC depending on the
average number of LOC per FP for a given
language
– LOC = AVC * number of function points
– AVC is a language-dependent factor varying from
200-300 for assemble language to 2-40 for a 4GL
• FPs are very subjective. They depend on the
estimator.
– Automatic function-point counting is impossible
Human Resources

You might also like