Unit I

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 74

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.
Software project management
1. Planning
2. Monitoring
3. Controlling
• To satisfy real world needs of Software projects identify stakeholders
and objectives.
• Project management must ensure that all the objectives are met
Why project management is important?
• A lot of money is at stake with ICT projects
• Projects may be successful all the time
• Reason for project shortcomings are often lack of proper management
What is project?
Project is a set of activities to be carried out to meet some objectives.

• Essence of project planning is thinking carefully about before we do and draw out
the project execution plan
• Routine maintenance work is known therefore, no much planning is required.
There are documents to refer and understand maintenance work.
Activities that benefit from project management
• Routine
• Uncertainty of outcome
• Jobs
• Projects
• exploration
Characteristics that distinguish between projects
• Type of tasks – e.g., non routine
• Planning required?
• Objectives are specific or product creation is important?
• Is there a predefined time span?
• Work is carried out for someone other than you.
• Work involving several specialization
• Temporary groups to carry out projects
• Availability of constrained resources for the project execution
• Are projects large?, are projects complex?
Examples to distinguish between projects; [ from text book]
1. Producing an edition of a news paper
2. Putting a robot vehicle on Mars to search for signs of vehicle
3. Getting married
4. Amending a financial computer system yo deal with a common
European currency
Software projects Vs. Other types of projects
Project characteristics that software projects difficult are;
1. Invisibility
2. Complexity
3. Complexity
4. Conformity [ repeatability]
5. Flexibility
Contract management
• Inhouse projects – user and developer are from the same organization
• Outsource/contract out ICT development to the outsiders is the usual
practice
• Project manager delegates technically relevant decisions to the
contractor
• Project manager will review the cost estimation done by the
contractors.
Activities covered by software project management

Project – it could be actual


development
Or brought in off the shelf

However, software project


management activities remain the Fig. feasibility study/plan/execution cycle
same.
Feasibility study:
• Verify to check whether project has valid business case
• Verification is to be done by checking the requirements of the project
• The difficulties could be elicitation of requirements may be difficult in the
beginning
• Stakeholders' requirement may be unrealistic to implement
• During feasibility study, developmental and operational costs must be
estimated
• Value of the new system must be understood
Planning :
• Project planning can start if the project looks perspective and viable
• For the large project, only the outline plan is created, and detailed plan will be
taken as the first stage.
• With more detailed information more accurate estimations are done
Project execution:
• Execution is design and implementation in subs phases
• Design is 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
• Project quality requirements
• To identify resource requirements and application development costs

Architecture design :
• Identify component corresponding each requirement of the salary
• These components may be software/hardware/process
• Design outcome gives guidance on how software architecture to
configured.
Detailed design
Detailed design for each component like data structure design, interface
design, algorithm design is needed.

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 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 making systems operational – set up the data, system parameters, install software and
conduct training

Acceptance support
Resolve the problems, apply correction to errors, implement agreed extension
and improvements

Software maintenance is development of a series of minor softwares and most


of the software development is the maintenance.
Plans, methods and methodologies
https://slideplayer.com/slide/7798904/
Project success and failure
• Project objectives need to deliver
• The agreed functionality
• Ensure quality
• On time delivery
• Within budget
• Business success dela with profit to the organization
• Project success deals with the confirmation of
functionality delivered with the project objectives

• Markey surveys, competitor analysis, focus groups,


prototyping and evaluation of potential users is required
for setting up business case
• For project success both business case success and project
implementation success is essential.
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
Syllabus
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.
Select general life cycle approach
1. Control systems-
• Real time systems may implement concurrent processing, they have 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 cation.
4. Specialized techniques-
• Use expert system shell and logic-based programming languages to design and implement
knowledge-based systems
• Special standards and components are ised 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
Build or Buy
Software development can be from viewpoints of developer and
clients.
Advantages of buy/off the shelf components-
• Suppliers 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 so, no or less 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
Business case
• business case document must contain following plans;
• introduction and background of the proposal
• the proposed project
• the market
• organizational and operational infrastructure
• the benefits
• outline implementation plan
• costs
• the financial case
• risks
• management plan
Project portfolio management
it is concerned with
• Identifying which project proposals are worth
implementation
• Assessing the amount risks and of failure and
potential project
• Decide how to share resources, staff time, finance,
• Being aware of project dependencies
• Ensure that projects do not do duplicate 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
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.
Cashflow forecasting

• During the estimation of overall costs and benefits of the project we must produce cashflow forecast
which indicates when expenditure and income will take place.
• Expenditures like staff wages cannot wait till the come so planning is needed.
• 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.
Cost benefit evaluation techniques

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.
• Netprofit - takes no account of timing of cash flow which is very important for planning.
• Project1 and project3 are having same netprofit and therefore equally preferrable
• Project1 has bulk income late in the project life whereas project3 returns steady income.
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, projects 2 and 4 are more profitable but ignored as compared to project
3
Return on investment(ROI):
This is also known as accounting rate return (ARR).
This helps in comparing net profit and the investment required.

Refer to the previous example:

For project1, the netprofit is 50,000 and the total investment is 100,000,

x100

=10%

Calculate ROI for each project and conclude the order of preferences of the projects.
The return on investment provides simple and easy to compute method.
However, it does not take into account timinga of cashflow.
Net profit value
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.
Payback period:
• 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.
Disadvantages:
• It ignores overall profitability of the project.
• It totally ignores any income once the project has broken in terms of
satisfactory cashflow.
• Referring to our example, project P2 and P4 are more profitable than P3 but
they are not considered as a priority.
Return on investment (ROI) also known as Accounting rate of
return(ARR)
• It provides the way to compare net profitability to the
investments required

ROI= (avg. annual profit/total investment) *100

Ex. Calculate ROI for project1


The Net profit for P1=50,000
Total investment : 100,000

ROI= (Average annual profit/5)/ 100000 * 100


=10%
• The return on investment provides easy to calculate
measure of return on capital.
• Disadvantages:
• It does not take into account of the timing of cash
flows.
• This rate of returns bears no relationship to interest
rates offered or charged by banks.
• It takes no account of the timing of cash flow or if the
compounding interest.
Net Present Value (NPV)
• This measures takes into account the profitability of project and timings
of cash flows that are produced.

• Net profit value measure is based on the view that “ receiving 100$
today is more than having to wait until next year to receive it.

• The annual rate by which we discount future earnings is known as


discount rate.

Present value = (value in year t) / (1+r) power t

R = discount rate
T = number of years in the future for cash flow occurs
• The present value of a cash flow may be calculated by
multiplying the cash flow appropriate discount factor.
( refer table 2.2 for discount factor)
• NPV for the project is obtained by discounting each cash
flow both positive and negative and summary the
discounted values
• It is always assumed that initial investment takes
immediately in the beginning (year 0) and cash flow takes
place at the end of each year which is discounted by
appropriate factor.
Table 2.2 To refer to discount rate.
Add problems/pdf shared with students

You might also like