UNIT-1 (2) (1) Notes
UNIT-1 (2) (1) Notes
Blooms
Cos Course Outcome Description
Level
1 Understand software project management issues and learn project planning L2
Identify the critical path (CPM) and critical activities using activity-on-arrow
2 L4
networks to estimate the cost of the project.
3 Analyse risks associated with the given project using PERT technique. L4
4 Understand the techniques for resources allocation with Gantt Chart. L2
Understand the techniques of software configuration management and
5 L2
quality assurance plan
UNIT-1
Introduction to software project management: Introduction, why is software project
management important? What is a project? , Software projects versus other types of
project, Contract management and technical project management, Activities covered by
software project management, Plans, methods and Methodologies, Some ways of
categorizing software projects, Stakeholders, Setting objectives, The business case, Project
success and failure. What is management? Management control. Selection of an
appropriate project approach: Introduction, Build or buy?, Choosing methodologies and
Technologies, Choice of process models, Structure versus speed of delivery, Selecting the
most appropriate process model. Project Evaluation – A business case, project portfolio
management, Evaluation of individual projects, Cost-benefit evaluation techniques.
UNIT-2
An overview or project planning (Text 1: Chapter 3) (include Gantt Chart), (Text 1: Chapter 8)
Resource allocation: Introduction, The nature of resources, Identifying resource requirements,
Software effort estimation (Text 1: Chapter 5): Introduction, Where are estimates done? ,
Problems with over- and underestimates, the basis for software estimating, Software effort
estimation techniques, bottom -up estimating, the top-down approach and parametric
models, Expert judgment, estimating by analogy. Activity planning (Text 1: Chapter 6)::
Introduction, The objectives of activity planning, When to plan, Project schedules, Projects
and activities, Sequencing and scheduling activities,
UNIT-3
Network planning models (Text 1: Chapter 6), Formulating a network model, Adding
the time dimension, The forward pass, The backward pass, Identifying the critical
path, Activity float, Shortening the project duration, Identifying critical activities,
Activity-on-arrow networks. Critical path (CPM).
Risk management (Text 1: Chapter 7): : Introduction, Risk, Categories of risk, A
framework for dealing with risk, Risk identification, Risk assessment, Risk planning,
Risk management, Evaluating risks to the schedule, Applying the PERT technique,
Monte Carlo simulation, Critical chain concepts. PERT
UNIT-4
Monitoring and control (Text 1: Chapter 9), : Introduction, Creating the framework,
Collecting the data, Visualizing progress, Cost monitoring, Earned value analysis,
Prioritizing monitoring, Getting the project back to target, Change control.
Quality management (Text 2: Chapter 26): Quality concepts, software quality assurance,
26.6statistical software quality assurance, 26.6.2 Six sigma for software engineering,
Software Reliability, 26.7 software reliability, 26.8 The ISO 9000 quality standards, SQA
plan
UNIT-5
Software configuration management(Text 2: Chapter 27): SCM scenario, elements of
configuration management system, baselines, software configuration items, The SCM
repository- the role of the repository, general features and content, SCM features, the SCM
process- identification of objects in the software configuration, version control, change
control, configuration audit, status reporting,(Reference 1: Chapter 2): Evolution of software
economics, (Text 2: Chapter 4): The old and new way
Text books:
1. Text book 1: Bob Hughes and Mike Cotterell, Software project management, 5th edition,
McGraw-Hill Higher Education, 2010, ISBN-13:978-0-0-070653.
2. Text book 2: Roger S Pressman, Software Engineering: A Practitioner's Approach,
7thedition , McGraw-Hill Higher Education, ISBN:0072496681
Reference books:
1. Reference book 1: Walker Royce, Software project management- A unified framework,
7th edition, 2012 by Pearson education, ISBN 978-81-7758-378-6.
III TEACHING METHODOLOGY
1 Black Board Teaching
2 Power Point Presentation (If needed and online in case of pandemic situation)
3
IV Assessment:
LA1- MCQs 10 marks
1 LA2 – assignment/case study 10 marks, rubrics will be used for evaluation
Two internals, 50 Marks each will be conducted and the Average of best of two will
2 be taken
Final examination of 100 Marks will be conducted and will be evaluated for 50
3
Marks.
UNIT-1
Introduction to software project management: Introduction, why is software project
management important? What is a project? , Software projects versus other types of project,
Contract management and technical project management, Activities covered by software
project management, Plans, methods and Methodologies, Some ways of categorizing software
projects, Stakeholders, Setting objectives, The business case, Project success and failure. What
is management? Management control.
Project execution:
• Execution is design and implementation in sub phases.
• Design represents a form of the products to be created
• e.g. external appearance of the product/ interface/architecture.
• Plan is to identify activities to create products.
• Planning and design are interrelated activities.
ISE 12207 software development life cycle
Requirements analysis
• Carry our requirements elicitation to understand project functional
requirements ( ethnography/surveys/interviews/design of use cases etc)
• Project quality requirements( six sigma etc)
• To identify resource requirements and application development costs
Architecture design :
• Identify component corresponding each requirement
• These components may be software/hardware/process components
• Design outcome gives guidance on how software architecture to be
configured.
Detailed design
Detailed design for each component involves designs like data structure
design, interface design and algorithm design etc.
Code and test - refers to writing code for each unit and debug to fix errors and
test during development.
Integration – this involves combining components and testing interfaces and
ensure that these integrated components work on specified hardware/
environment and gives faithful results during user interactions.
Qualification testing- All the components to be tested to ensure that they meet the
intended requirements
Installation -This is making systems operational – set up the data, system parameters,
install software and conduct training
• Project managers want to get some idea about system being completed, therefore may
seek predictive measures
• Ex. Large number of errors found during code inspections might indicate potential
errors
The business case
• Projects need to have justification or business case
• The effort and expense of pushing the project through must be worth in-terms of
benefits
• The cost-benefit analysis is therefore a part of feasibility study
• The benefits will be affected by the completion date, sooner the project is completed,
the sooner the benefits will be experienced.
• The quantification of benefits will require the formulation of business model
• Example of a business model- A new web based application might allow customers from
all over the world to order a firm’s products via internet, increasing sales and thus
increasing revenue and profit
• Business plan must ensure that business case is kept intact, for example;
-Developments costs are not allowed to exceed the benefits
-features of the system are not reduced to an extent where the benefits cannot be
realized
- delivery date should not be delayed so that there is no unacceptable loss.
Project success and failure
• The project plan should be designed to ensure project success by preserving the
business case for the project
• At what stage we say the project is success and failure is difficult because different
stakeholders have different interests
• Some stakeholders in the project might see it as a success while others do not
• It is important to understand the difference between the project objectives and
business case objectives
• Project objectives are achieved once project team delivers –
- the agreed functionality
- To the required level of quality
- on time
- within budget
• Even after meeting project objectives the business case could fail
• Ex1. A computer game could be delivered on time and within budget but might not sell
• Ex2. A commercial website may be created successfully but customers might not use it
to buy products
Project success and failure contd…
• In business terms, the project is a success if the benefits exceeds the costs
• Project managers control development costs, but the benefit depends upon the
number of customers
• A delay in project completion time diminishes the value of the project
• The project can be success on delivery but then business may fail
• Project could be late and over budget, but its deliverables could still over time
generate benefits that outweigh the initial expenditure
• The gap between the project and business concerns can be reduced by business issues
• Technical learnings may cost more in the beginning but later these learning can be
used for the development of other projects
• Customer relationships may be built up over a number of projects.
What is management?
Management involves the following activities
Planning – deciding what to be done
Organizing – making arrangements
Staffing- selecting right people for the job
Directing – giving instructions
Monitoring- checking on progress
Controlling – taking action to remedy hold-ups
Innovating – coming up with new solutions
Representing – cooperate with clients, users, developers, suppliers and other
stakeholders
Build or Buy
• The software development can be seen from two different view points: that of the
developers and that of the clients and users.
• With in-house development, the developers and users are in the same organization.
• When development is outsourced, developers and clients are in different organizations.
• These factors will affect the way a project is organized.
• The development of a new IT application within an organization would often require
the recruitment of new technical staff who, once the project has been completed, will
no longer be required
• Contracting the project out to an external IT development company may be attractive in
these circumstances
Build or Buy
Software development can be from viewpoints of developer and clients.
Advantages of buy off -the-shelf components-
• Suppliers of the application can spread the cost of development over large
number of customers, thus cost per customer is reduced.
• Software can be examined and trialed before acquisition.
• There is no delay while the software is being built.
• Lots of people have already used, therefore, there are no or less number of
bugs and errors exists therefore, the software is more reliable.
Disadvantages of buy off-the-shelf components-
• There is no competitive advantage as same component is being used
by many.
• Modern off the shelf components tend to be very much
customizable.
• You may not own the code.
• Organization may become more reliant on the off the shelf
component.
Choosing methodologies and Technologies
• Methodologies- a set of methods to carry out task
• Techniques – techniques are pertaining to the application of scientific,
mathematical or logical principles to resolve a particular kind of problem
• Project analysis should select the most appropriate methodologies and
technologies for the project
• Methodologies include approaches like unified software development process (
USDP), structured system analysis and design method(SSADM) and Human
centered design
• Technologies might include appropriate application building and automated testing
environments
Process uncertainty – the project under consideration might be the first where an
organization is using an approach like extreme programming(XP) or new application
building tool
Resource uncertainty – the main area of uncertainty here is likely to be the availability
of staff of the right ability and experience
• The advantage is less error prone and more maintainable final system. But for large and complex projects,
these are often heavy weight methods.
• Developers would welcome more professional methods and structured methods, but, customers are
concerned about getting the working application quickly and at less cost and often see structured methods are
unnecessary. In such situations Rapid Application development(RAD) is the right choice for quickly producing
prototypes.
• RAD uses some elements of structured methods and also adopts Joint Application Development – in JAD users
and developers work for 5 days intensively to come out with agreed upon requirements.
• Two competing pressures can be seen, one is to get the job done quickly and cheaply and other is to make sure
that the final product has a robust structure and will be able to meet evolving needs.
Selecting the most appropriate process model
• Application can be could be constructed using waterfall or one shot strategy but released to users in increments
• Where the uncertainity is high evolutionary approach is favoured
• Where the requirements are relatively certain but there are many complexities as with a large embedded systems
needing a large amount of code then incremental approach is favoured
• Where the deadlines are then either an evolutionary or incremental approach is favoured compared to waterfall
model
Project control cycle
Project management control –
• Setting objectives
• Management must have complete awareness of challenges involved in large
projects
• Data collection is monitoring the progress of the projects by collecting
statistics of the project.
• Examine the estimated dates for start and end of project activities.
• Compare performance with the actual outcome of the project.
• Make decisions to address difficulties.
• Execute reviews
Select general life cycle approach
1. Control systems-
• Real time systems may implement concurrent processing, they have to use e.g. petri nets.
• A Petri Net is a graph model to the control behavior of systems exhibiting concurrency in
their operation.
2. Information systems-
• These projects employ large number of development staff and needs good coordination
• SSADM (Structured Systems Analysis and Design Methodology)method is suitable for this
kind of projects
• SSADM lays down in detail the activities and products needed in each step
3. Availability of users-This method is for the general market without user specific, therefore,
to understand the needs who have to be quizzed to understand the needs of the projects
must be chosen with caution.
4. Specialized techniques-
• Use expert system shell and logic-based programming languages to design and implement
knowledge-based systems
• Special standards and components are used for the development of graphics-based systems
5. Hardware environment-
e.g., constraints like limited memory and specific requirements on response time of the software
systems may dictate use of low-level programming languages.
6. Safety critical systems-
• The applications where safety and reliability are very important, software requirements must
be written in formal languages such as OCL(object constraint language).
• Additional cost of development must be supported – independent teams develops parallelly
the same functionality, that is N-version programming.
7. Imprecise requirements
• a prototyping is to be considered whenever there is a novel software and
software involved in the project.
• Incremental delivery must be used if there is rapid change in the
requirements
• Soft systems approach is goof if user is uncertain about the requirements
Business case
business case document must contain following plans;
• Introduction and background of the proposal
• the proposed project details
• the market demand
• organizational and operational infrastructure information.
• the benefits of new project.
• outline of implementation plan.
• Costs involved.
• the financial case of the project.
• Risks involved
• management plan
Project portfolio management
It is concerned with
• Identifying project proposals that are worth implementation
• Assessing the amount risks and of failures and the potential of
projects
• Decide how to share resources, staff time and finance etc.
• Being aware of project dependencies is important.
• Ensure that projects do not do duplicate the work.
• Ensure that necessary development are not missed.
Cost benefit analysis
• Whenever cost exceeds benefits, it is required to check whether the proposed projects are
having several options.
• The most valuable projects must get resources first.
Steps in cost benefit analysis
1. Identifying all the costs and benefits of carrying out the project and operating the
delivered application.
- Costs include development cost, operation cost and the benefits expected from new
system.
- new system in place of old should must highlight the benefits.[think about examples]
2. expressing costs and benefits in common units.
- We must be able to express difference between cost and benefits in terms of money
- Costs that can be quantified are
operational cost –includes staff development cost
setup cost- hardware cost, costs of file conversion, recruitment and training costs
-operational costs are relating to the system after installation.
53
Cashflow forecasting
• During the estimation of overall costs and benefits of the project we must produce cashflow forecast
which indicates when expenditure occurs and there will be an income.
• Expenditures like staff wages cannot wait till the time there is cash inflow.
• We have to plan about whether we fund it from company money or barrow.
• A forecast is required to understand when expenditure is expected.
• Forecasts will not be accurate due to factors like inflation etc.
54
Cost benefit evaluation techniques
1.Net profit
2.Playback period
3.Net Present value
4.Internal rate of return
55
Example: There are four projects: project1, project2,project3 and project4 whose
details are given in the below table.
56
1. Net Profit
• it is the difference between the total costs and total income over the life of the
project.
• Project2- shows greater Net profit but at the expense of large investments.
• Net profit - takes no account of timing of cash flow which is very important for
planning.
• Project1 and project3 are having same Net profit and therefore equally preferable
• Project1 has bulk income late in the project life whereas project3 returns steady
income.
57
2. Payback period
• The payback period is the time taken to pay back the initial investment.
• Normally payback period with shortest duration is preferred.
• The advantages of payback period it simple to calculate and it is not sensitive to
forecasting errors.
• Disadvantage is, it ignores overall profit of the project
Refer previous example.
Therefore, project 2 and project 4 are more profitable but ignored as compared to
project 3, because project3 has better payback.[refer example in previous slide]
58
Payback period………..contd…
• Payback period is the time taken to break even or pay back the initial
investment.
• Project with shortest payback period is preferred.
• Payback period is important measure when organization wants to
minimize the time that a project is in debt.
• Payback period is simple to calculate and it is insensitive to forecasting
errors.
• However, payback period ignores the overall profitability of the project.
59
3. Return on investment (ROI) /Accounting rate of return(ARR)
• It provides the way to compare net profitability to the investments required
ROI= (avg. annual profit/total investment) *100
ROI for Project1 ----
Refer table,
Net profit for P1=50,000
Total investment : 100,000
Therefore, average annual profit=net profit/no. of years= 50,000/5=10,000
10,000
ROI for P1 = x 100 = 10%
100000
100000/5
ROI for P2= x100=2%
1000000
50,000/5
ROI for P3= x100=10%
100000
75000/5
ROI for P4= x100=12.5%, therefore P4 is preferred over other projects
120000 60
Return on investment (ROI) contd…
• The ROI provides simple, easy to calculate measure on return o capital.
• It suffers from two disadvantages:
-Like Net profit it takes no account of timing of cash flow.
-the rate of interests bears no relational with rates offered by banks.
61
4. Net Present Value(NPV)
• The calculation of Net Present Value considers the profitability of a project and the
timings of the cash flows that are produced.
• The annual rate by which the we discount future earnings is known as discount rate.
• The present value of any future cash flow may be obtained by applying the following
formula.
𝑣𝑎𝑙𝑢𝑒 𝑖𝑛 𝑦𝑒𝑎𝑟 𝑡
𝑝𝑟𝑒𝑠𝑒𝑛𝑡 𝑣𝑎𝑙𝑢𝑒 =
(1 + 𝑟)𝑡
Present Value of cash flow may be calculated by multiplying the cash flow by appropriate
discount factor[refer table][ above formula implementation].
62
63
Problem : Assuming a 10% discount rate, the NPV for Project 1[ refer slide 9 ], would be calculated as in table.
Refer discount table, 4th column which corresponds to 10% discount for year1, year 2,…year5 etc
and write these values in the above table.
=(-100,000+9091+8264+7513+13660+62090) = 618
Therefore, The Net Profit for Project 1 using discount rate of 10% is 618. [do for other projects]
64
Selecting appropriate discount is difficult.
Some organizations use standard discount rates.
Net Present values of projects is not sensitive to small changes in the discount rate.
Year Project 3 cash flow Discount factor@10% Discounted cashflow
0 -100,000 1.0000 -100,000
1 30,000 0.9091 27,273
2 30,000 0.8264 24,792
3 30,000 0.7513 22,539
4 30,000 0.6830 20,490
5 30,000 0.6209 18,627
Net Profit: 50,000 NPV:13721
• Note that the Net profit of both Project 1 and Project 3 are same whereas, their Net Present
Values are totally different.
• The lower value of Net Present value for project 1 has to wait for longer time for increased
value of Net Present Value. 65
Table 1. Projects cash flow
66
Calculate the Net Present Value for each of the projects A,B and C using discount rates 8%,10% and
12%
year Project A Discount Discounted cash Discount rate Discounted cash Discoun Discounted
(P) rate 8% flow for 8% 10% flow for 10% t rate cash flow for
(X) (P*X) (Y) (P*Y) 12% 12%
(Z) (P*Z)
67
year Project Discount Discounted cash year Project C(P) Discount Discounted cash
B rate 8% flow for 8% rate 8% flow for 8%
(P) (X) (P*X) (X) (P*X)
0 -8000 1.0000 -8000 0 -10000 1.0000 -10000
1 1000 0.9259 925.9 1 2000 0.9259 1851.8
2 2000 0.8573 1714.6 2 2000 0.8573 1714.6
3 4000 0.7938 3175.2 3 6000 0.7938 4762.8
4 3000 0.7350 2205 4 2000 0.7350 1470
5 9000 0.6806 6125.4 5 2000 0.6806 1361.2
6 -6000 0.6302 -3781.2 6 2000 0.6302 1260.4
Net Net Present Net Profit: Net Present
Profit:5000 Value:2364.9 6000 Value:
Project A Project B Project C
68
Net Profit Payback Return on Net Present Internal
Period investment value rate of
return
Project 1
Project 2
Project 3
Project 4
69
Internal rate of return(IRR)
• Disadvantage of NPV is, it may be used for comparisons of projects.
• It cannot be used for comparing earnings from each investments or
costs from barrowing capital.
• IRR is calculated as a percentage of discount rate that would produce
an NPV of zero value.
• Spread sheets provides functionality to compute IRR.
• Disadvantage of IRR is it cannot provide absolute size of return.
• Total evaluation must also take into account the problems of funding
the cash flows.
• Projects IRR might indicate a profitable project.
70