Unit1 Introduction To SPM
Unit1 Introduction To SPM
__________________________________________________________________________________
Introduction
A Software Project Management is the complete procedure of software
development from requirement gathering to testing and maintenance, managing
based on the execution methodologies, in a specified period of time to achieve
intended software product.
Why is software project management important?
team can be like a ship without a rudder; moving but without direction, control
or purpose.
5. Realistic Project Planning: Project management is important because it
ensures proper expectations are set around what can be delivered, by when,
and for how much.
Without good project management, projects get delivered late, and over
budget. Effective project managers should be able to negotiate reasonable and
achievable deadlines and milestones across stakeholders, teams, and
management.
6. Quality Control: Projects management is important because it ensures the
quality of whatever is being delivered, consistently hits the mark. Project
management is of key importance to Quality Assurance because it allows for
a staggered and phased process, creating time for teams to examine and test
their outputs at every step along the way.
7. Risk Management: Project management is important because it ensures
risks are properly managed and mitigated against to avoid becoming issues.
Good project management practice requires project managers to carefully
analyse all potential risks to the project, quantify them, develop a mitigation
plan against them, and a contingency plan should any of them materialize.
8. Orderly Process: Project management is important because it ensures the
right people do the right things, at the right time – it ensures proper project
process is followed throughout the project lifecycle.
9. Subject Matter Expertise: Project management is important because
someone needs to be able to understand if everyone’s doing what they should.
What is a project
A project is defined as a sequence of tasks that must be completed to attain
a certain outcome. In other words, Project being a planned activity.
• The emphasis on being planned assumes we can determine how to carry
out a task before we start.
• Planning is in essence thinking carefully about something before you do it.
• Even with uncertain projects this is worth doing as long as the resulting
plans are seen as provisional.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
There are three successive process that bring a new system into being-see figure
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
Thus, a software product with five major components is likely to require five sets
of activities to create them.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
Requirements analysis
✓ starts with requirements elicitation or requirements gathering which
establishes what the potential users and their managers require of the new
system.
✓ It could relate to a function that the system should do something.
✓ It could be a quality requirement - how well the functions must work.
✓ An example of this is dispatching an ambulance in response to an
emergency telephone call. In this case transaction time would be affected
by hardware and software performance as well as the speed of human
operation.
✓ Training to ensure that operators use the computer system efficiently is an
example of a system requirement for the project, as opposed to a
specifically software requirement.
✓ There would also be resource requirements that relate to application
development costs.
Architecture design
✓ the components of the new system that fulfil each requirement have to be
identified.
✓ Existing components may be able to satisfy some requirements.
✓ In other cases, a new component will have to be made.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
✓ These components are not only software: they could be new hardware or
work
processes.
✓ Although software developers are primarily concerned with software
components, it is very rare that these can be developed in isolation.
✓ The design of the system architecture is thus an input to the software
requirements.
✓ A second architecture design process then takes place that maps the
software requirements to software components.
Detailed design
✓ Each software component is made up of a number of software units that
can be
separately coded and tested.
✓ The detailed design of these units is carried out separately.
Code and test
✓ Refers to writing code for each software unit.
✓ Initial testing to debug individual software units would be carried out at
this stage.
Integration
✓ The components are tested together to see if they meet the overall
requirements.
✓ Integration could involve combining different software components, or
combining and testing the software element of the system in conjunction
with the hardware platforms and user interactions.
Qualification testing
✓ The system, including the software components, has to be tested carefully
to
ensure that all the requirements have been fulfilled.
Installation
✓ This is the process of making the new system operational. It would include
activities such as setting up standing data , setting system parameters,
installing the software onto the hardware platforms and user training.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
Acceptance support
✓ This is the resolving of problems with the newly installed system, including
the
correction of any errors, and implementing agreed extensions and
improvements.
✓ Software maintenance can be seen as a series of minor software projects.
In many environments, most software development is in fact maintenance.
Plans, Methods and Methodologies
A plan for an activity must be based on some idea of a method of work. For
example, if you were asked to test some software, you may know nothing about
the software to be tested, but you could assume that you would need to:
✓ analyse the requirements for the software;
✓ devise and write test cases that will check that each requirement has been
satisfied.
✓ create test scripts and expected results for each test case:
✓ compare the actual results and the expected results and identify
discrepancies.
✓ While a method relates to a type of activity in general, a plan takes that and
converts it to real activities, identifying for each activity:
• its start and end dates;
• who will carry it out;
• what tools and materials - including information - will be needed.
The output from one method might be the input to another. Groups of
methods or techniques are often grouped into methodologies such as
object-oriented design.
Objective-driven development
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
Stakeholders
These are people who have a stake or interest in the project. Stakeholders can be
categorized as:
✓ Internal to the project team This means that they will be under the direct
managerial control of the
project leader.
✓ External to the project team but within the same organization For example,
the project leader might need the assistance of the users to carry out
systems testing. Here the commitment of the people involved has to be
negotiated.
✓ External to both the project team and the organization External
stakeholders may be customers who will benefit from the system that the
project implements. They may be contractors who will carry out work for
the project. The relationship here is usually based on a contract.
Different types of stakeholder may have different objectives and one of the
jobs of
the project leader:
✓ Is to recognize these different interests and to be able to reconcile them.
✓ For example, end-users may be concerned with the ease of use of the new
application, while their managers may be more focused on staff savings.
✓ The project leader therefore needs to be a good communicator and
negotiator
✓ Project managers can sometimes miss an important stakeholder group,
especially
in unfamiliar business contexts.
✓ Given the importance of coordinating the efforts of stakeholders, the
recommended
practice is for a communication plan to be created at the start of a project.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
Setting Objectives
• Among all these stakeholders are those who actually own the project. They
control the financing of the project.
• They also set the objectives of the project. The objectives should define
what the project team must achieve for project success.
• Although different stakeholders have different motivations, the project
objective
identify the shared intentions for the project.
• Objectives focus on the desired outcomes of the project rather than the
tasks within it - they are the post-conditions of the project.
• Informally the objectives could be written as a set of statements following
the opening
words “the project will be a success if... “
• Thus, one statement in a set of objectives might be “customers can order
our products online” rather than “to build an e-commerce website”.
• There is often more than one way to meet an objective and the more
possible routes to success the better
• There may be several stakeholders, including users in different business
areas, who might have some claim to project ownership.
• In such a case, a project authority needs to be explicitly identified with
overall authority over the project.
• This authority is often a project steering committee (or project board or
project
management board) with overall responsibility for setting, monitoring and
modifying
objectives.
• The project manager runs the project on a day-to-day basis, but regularly
reports to the steering committee.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
• An objective might be that the software application produced must pay for
itself by reducing staff costs.
• As an overall business objective this might be reasonable.
• For software developers it would be unreasonable as any reduction in
operational staff costs depends not just on them but on the operational
management of the delivered system.
• A more appropriate goal or sub-objective for the software developers
would be to keep development costs within a certain budget.
• We can say that in order to achieve the objective we must achieve certain
goals or sub-objectives first.
• These are steps on the way to achieving an objective, just as goals scored
in a football match are steps towards the objective of winning the match.
Informally this can be expressed as a set of statements following the words
“To reach objective., the following must be in place”.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
Measures of effectiveness
• that development costs are not allowed to rise to a level which threatens to
exceed the value of benefits;
• that the features of the system are not reduced to a level where the expected
benefits cannot be realized;
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
• that the delivery date is not delayed so that there is an unacceptable loss of
benefits.
• A project could meet these targets but the application, once delivered could
fail to meet the business case.
• A computer game could be delivered on time and within budget, but might
then not sell.
• A commercial website used for online sales could be created successfully,
but customers might not use it to buy products, because they could buy the
goods more cheaply elsewhere.
• We have seen that in business terms it can generally be said that a project
is a success if the value of benefits exceeds the costs.
• We have also seen that while project managers have considerable control
over development costs, the value of the benefits of the project deliverables
is dependent on external factors such as the number of customers.
• Project objectives still have some bearing on eventual business success.
• Increasing development costs reduce the chances of the delivered
product being profitable.
• A delay in completion reduces the amount of time during which benefits
can be generated and diminishes the value of the project.
• A project can be a success on delivery but then be a business failure, On
the other hand, a project could be late and over budget, but its deliverables
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
could still, over time, generate benefits that outweigh the initial
expenditure.
• Some argue that the possible gap between project and business concerns
can be reduced by having a broader view of projects that includes business
issues.
• For example, the project management of an e-commerce website
implementation could plan activities such as market surveys, competitor
analysis, focus groups, prototyping, and evaluation by typical potential
users - all designed to reduce business risks.
• Because the focus of project management is, not unnaturally, on the
immediate project, it may not be seen that the project is actually one of a
sequence.
• Later projects benefit from the technical skills learnt on earlier projects.
• Technical learning will increase costs on the earlier projects, but later
projects benefit as the learnt technologies can be deployed more quickly,
cheaply and accurately.
• This expertise is often accompanied by additional software assets, for
example reusable code.
• Where software development is outsourced, there may be immediate
savings, but these longer-term benefits of increased expertise will be lost.
• managers may assess which areas of technical expertise it would be
beneficial to develop.
• Customer relationships can also be built up over a number of projects.
• If a client has trust in a supplier who has done satisfactory work in the past,
they are more likely to use that company again, particularly if the new
requirement builds on functionality already delivered.
• It is much more expensive to acquire new clients than it is to retain existing
ones.
What is Management?
Management involves the following activity:
• Much of the project manager's time is spent on only three of the eight
identified activities, viz., project planning, monitoring, and control.
• The time period during which these activities are carried out is indicated
in Fig.
• It shows that project management is carried out over three well-defined
stages or process irrespective of the methodology used.
• In the project initiation stage, an initial plan is made. As the project starts,
the project is monitored and controlled to proceed as planned.
• However, the initial plan is revised periodically to accommodate additional
details and constraints about the project as they become available.
• Finally, the project is closed. In the project closing stage, all activities are
logically completed and all contracts are formally closed.
• Initial project
o planning is undertaken immediately after the feasibility study phase
and before starting requirements analysis and specification process.
Figure shows this project initiation period.
o Initial project planning involves estimating several characteristics of
a project.
o Based on these estimates, all subsequent project activities are
planned.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
• This will involve the local managers in data collection. Bare details,
such as location X has processed 2000 documents', will not be very
useful to higher management: data processing will be needed to
transform this raw data into useful information.
• This might be in such forms as percentage of records processed',
'average
documents processed per day per person' and estimated completion
date'.
• In our example, the project management might examine the 'estimated
completion date for completing data transfer for each branch. These can
be checked against the overall target date for completion of this phase
of the project.
• In effect they are comparing actual performance with one aspect of the
overall project objectives.
• They might find that one or two branches will fail to complete the
transfer of details in time.
• They would then need to consider what to do.
• One possibility would be to move staff temporarily from one branch to
another.
• If this is done, there is always the danger that while the completion date
for the one branch is pulled back to before the overall target date, the
date for the branch from which staff are being moved is pushed forward
beyond that date.
• The project manager would need to calculate carefully what the impact
would be in moving staff from particular branches.
• This is modelling the consequences of a potential solution.
• Several different proposals could be modelled in this way before one
was chosen for implementation.
• Having implemented the decision, the situation needs to be kept under
review by collecting and processing further progress details.
• For instance, the next time that progress is reported, a branch to which
staff have been transferred could still be behind in transferring details.
• This might be because the reason why the branch has got behind in
transferring details is because the manual records are incomplete and
another department, for
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
whom the project has a low priority, has to be involved in providing the
missing information.
• In this case, transferring extra staff to do data inputting will not have
accelerated data transfer.
• It can be seen that a project plan is dynamic and will need constant
adjustment during the execution of the project.
• Courses and books on project management often focus considerable
attention
on project planning.
• While this is to be expected, with nearly all projects much more time is
spent actually doing the project rather than planning it.
• A good plan provides a foundation for a good project, but is nothing
without intelligent execution.
• The original plan will not be set in stone but will be modified to take
account of changing circumstances.
Traditional versus Modern Project Management Practices
Over the last two decades, the basic approach taken by the software industry to
develop software has undergone a radical change.
• Software development projects are increasingly being based on either
tailoring some existing product or reusing certain pre-built libraries.
• In either case, two important goals of recent life cycle models are
maximization of code reuse and compression of project durations.
• Other goals include facilitating and accommodating client feedbacks and
customer participation in project development work, and incremental
delivery of the product with evolving functionalities.
• Change requests from customers are encouraged, rather than circumvented.
• Clients on the other hand, are demanding further reductions in product
delivery times and costs.
• These recent developments have changed project management practices in
many significant ways.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
o Quality Management
▪ Of late, customer awareness about product quality has
increased significantly.
▪ Tasks associated with quality management have become an
important responsibility of the project manager.
▪ The key responsibilities of a project manager now include
assessment of project progress and tracking the quality of all
intermediate artifacts. •
o Change Management
▪ Earlier, when the requirements were signed off by the
customer, any changes to the requirements were rarely
entertained.
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022
Unit-1 Introduction to software project management
__________________________________________________________________________________
__________________________________________________________________________________
Dept_MCA Mrs.RakshithaP_Assistant_Professor 2022