0% found this document useful (0 votes)
4 views17 pages

SE&PM - 21CS61 - Module - 4 Notes

The document discusses the importance of software project management, highlighting its unique characteristics compared to other projects, such as invisibility and complexity. It outlines essential activities in software project management, including feasibility studies, planning, execution, and stakeholder engagement, while emphasizing the need for effective management to avoid project failures. Additionally, it covers the project charter, objectives, and the distinction between project success and business success, providing a comprehensive overview of the software project management lifecycle.

Uploaded by

appucit2004
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)
4 views17 pages

SE&PM - 21CS61 - Module - 4 Notes

The document discusses the importance of software project management, highlighting its unique characteristics compared to other projects, such as invisibility and complexity. It outlines essential activities in software project management, including feasibility studies, planning, execution, and stakeholder engagement, while emphasizing the need for effective management to avoid project failures. Additionally, it covers the project charter, objectives, and the distinction between project success and business success, providing a comprehensive overview of the software project management lifecycle.

Uploaded by

appucit2004
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
You are on page 1/ 17

Module – 4

Chapter 1

1.1 Introduction:
Is the “software project management “different from the other projects? To answer this
question, we need to understand key ideas about planning, monitoring and control of
software projects.
All projects are about meeting objectives. Projects must satisfy the real needs. Meeting the
real needs and identifying the stake holders are the aim of project management.

1.2 Why is project management Important?


Unfortunately, projects are not always successful. The reason for this is because of
shortcomings in the management of projects. Other factors causing project failure is “lack of
skills to project management and risk management”.

1.3 What is a project?


A project is a planned activity.
The following characteristics distinguish projects:
• Non-routine tasks are involved.
• Planning is required.
• Specific objectives are to be met or specified product is to be created.
• The project has a predetermined time span.
• Work is carried out for someone other than yourself.
• Work involves several specialisms.
• People are formed into a temporary work group to carry out tasks.
• Work is carried out in several phases.
• The resources that are available for use on the project is constrained.
• The project is large or complex.
1.4 Software Projects verses Other types of Projects
Invisibility:
Progress of the software project is not immediately visible. Software Project management
can be seen as the process of making the invisible visible.
Complexity:
Software products contain more complexity than other engineered artefacts.
Conformity:
The physical systems have complexity, but they are governed by laws. Software developers
have to conform to the requirements of human clients.
Flexibility:
Software is easy to change is seen as strength. Software system interfaces with a physical
or organizational system, it is expected that software will change to accommodate other
components.

1.5 Contract Management and Technical project Management


In-house are used by the users and developers to work for the same organizations. But
increasingly the organizations contract out ICT(Information and Communication
Technologies) development to outside developers. Client organization will appoint a
“project manager” to supervise the contract. On the supplier side there will be no project
manager who deal with more technical issues.

1.6 Activities covered by Software Project Management

Feasibility Study:
Assess whether the project is worth starting – should have a valid business case.
Information is gathered about the requirements of the project using requirements elicitation.
The development and operational costs and the value of the new system are estimated.
The study is one of the strategic planning exercises in the software development.

Planning:
Project planning starts once the feasibility study indicates that the project is viable.
In larger projects, detailed planning is not done in the beginning but create an outline plan in
the beginning. After completing the earlier stages detailed and accurate planning is
obtained.
Project Execution:
This phase contains the sub-phases design and implementation.
Design phase is about making the decisions about the form products to be created. This
involves design of user interfaces or internal architecture.
Planning details the activities to be carried out to create these products.
Figure 1.3 shows the sequence of software development activities in the international
standard ISO 12207. Software development activities also requires the installation of ICT
infrastructure, the design of user jobs and user training.
Requirements Analysis:
Requirements analysis starts with requirements elicitation or requirements gathering.
This process establishes the potential users and their tasks with the new system. It relates
To a function or quality requirement. Resource requirements also relate to application
development cost.

Architecture Design:
The components of the new system that satisfy the requirement have to be identified. Existing
components may support few requirements, new components have to be identified. The new
components may be software, new hardware or new processes. Architecture design maps
the software requirements with the software components.

Detailed Design:
Software components are made up of number of software units and they can be coded and
tested separately. Detailed design of these units are carried out separately.

Code and Test:


This phase refers to writing code for each unit, and individual testing takes place in this
phase for each unit.

Integration:
Integration refers to combining different software components that are developed into single
component. Combining and testing are in conjunction with the hardware platforms and user
interactions.

Qualification Testing:
The testing the system including software components to ensure that all the requirements
have been fulfilled.

Installation:
This involves the new system operational. This includes activities like setting up standing
data, setting system parameters, installing software into the user’s computer and users
training.
Acceptance support:
This phase includes Resolving of problems with newly installed system. Correction of errors.
Implementing any agreed extensions and improvements. Software maintenance is one of the
major task of this phase.

1.7 Plans, Methods and Methodologies


A plan for an activity must be based on some method. Testing a software need the following
activities:

• Analyze the requirements


• Devise and write test cases to check that each requirement is satisfied.
• Create test scripts and expected results for each case.
• Compare the actual results with expected results and identify the discrepancies.
Method relates to a type of activity, a plan takes that method and converts into real activities.
Identify each activity:

• Start date and end dates


• Who will carry it out
• What tools and materials needed
Output from one method might be the input to another. Groups of methods are grouped into
methodologies.

1.8 Some ways of categorizing Software Projects

Projects differ due to different technical products are created. This also causes change in the
characteristics the way how they are developed and managed.

Changes to the characteristics of software projects


In the initial years software development was entirely written from the scratch. Code was not
available for reuse in the new software development projects. But at present almost every
programming language supports several ways of reusing existing code including customizing and
extending the code efficiently and dynamically linking library routines and support for frameworks.
Further, customer participation in software projects was restricted to only giving the requirements
and specifications, later delivery of the developed software. But now customer participation is
very much encouraged, and customer is also included in the development team.
Compulsory versus voluntary users
In workplaces, there are systems that staff have to use is they want to do something. Such as
recording a sale. However, use of a system is increasingly voluntary as in the case of computer
games. Here it is very difficult to elicit precise requirements from potential users for a business
system. So, the developers depend much on techniques such as market surveys, focus groups and
prototype evaluation.

Information Systems versus embedded systems


Information systems enable staff to carry out office process and embedded systems are used to
control machines. For example, a stock control system is an information system whereas
embedded system might control the air conditioning equipment in a building.

Software products versus services

Software projects are broadly classified into software development projects and software
services projects. As shown in fig 1.4, software product development projects are developed for
the general customers, and it is sold to a large number of customers.

A software product development project can be classified into two types. Generic product or
domain specific product. A generic specific product is sold to broad group of customers, and
they have horizontal market.
Ex: Microsoft Windows , Oracle etc.,
Domain specific software products are sold to specific categories of customers, and they
have a vertical market.
Ex: banking, telecommunication, finance, accounts and medicals.
Software services projects have a large range of software projects such as customization,
outsourcing, maintenance, testing and consultancy. A large number of programs are already
developed, and they can be modified to the specific requirements of the customer.
Due to heavy reuse of code, it is possible to develop large software systems in a short period of
time.

Outsourced Projects
While developing large projects, sometimes a company outsources some parts of its work to
other companies. A company may consider outsourcing as a good option when it finds
sufficient expertise is not available to develop specific parts of the product or sometimes it is
cost-effective. Outsourced projects are very small in size, and they should be developed within
few months.

Objective-driven development
Projects may be classified based on whether their aim is to produce a product or meet certain
objectives.
A project that creates a product, the details are given by the client. The client is responsible for
the justifying the product. On the other hand, the project requirement must meet certain
objectives.
Software projects have two stages. First is an objective-driven project resulting in
recommendations. The next stage is a project actually create the software product.

1.9 Project Charter


A project charter is an important high level document for starting a project and use of the
required resources. It also outlines the project objectives, deliverables, and the resources
required.
It also documents the scope of the project and stakeholders, their roles and responsibilities. A
project charter is signed and issued by the top management of the company. The project
sponsor monitors the progress of the project and provides regular feedback.
The project charter serves as a guiding document for all activities of the project. This document
is not expected to change throughout the project life cycle and the project manager refers to
this document for project planning.
It is a short document that contains couple of pages and the following:

• Overall objectives of the project and the scope of the project.


• The time schedule in terms of start date and expected completion date.
• Stakeholders and their responsibilities.
• Resources needed for the project and overall budget.
• Major risk of the project and plans to overcome the risks.

1.10 Stakeholders
These are the people who have a stake or are interested in the project. Stakeholders can be
categorized as:

• Internel to the project team – they will be under the direct managerial control the project
leader.
• External to the project team but within the same organization – the project leader
might need the assistance of the users to carry out system testing
• 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.
Different types of stakeholders may have different objectives and the project leader recognizes
these different interests. A communication plan will be created at the start of the project by the
project leader.

1.11 Setting Objectives


The objectives should define what the project team must achieve for the project success.
Different stakeholders have different motivations, the project objectives identify the shared
intentions for the project.
A project authority needs to be identified with overall authority over the project. The authority is
a project steering committee with overall responsibility for setting, monitoring and modifying
objectives.

Sub-Objectives and goals


The mnemonic SMART is used to describe well-defined objectives.

• Specific – effective objectives are concrete and well defined. Objectives are very
important for a successful project.
• Measurable – ideally there should be measures of effectiveness which tell us about the
project’s success. It can be an answer to simple yes/no questions.
• Achievable – it must be within the power of the individual or group to achieve the
objective.
• Relevant – the objective must be relevant to the true purpose of the project.
• Time constrained - there should be defined point in time by which the objective should
have been achieved.

Measures of effectiveness:
• This is a performance measurement and can only be measured once the system is
operational.
• Predictive measures must be taken by the project managers to get some idea of the
performance of the system.

1.12 The Business case


• Most of the projects need to have justification or a business case. A cost-benefit
analysis will be a part of the project’s feasibility study.
• This will quantize the project’s cost and benefits. The quantification of benefits will
require formulation of a business model.
• A simple example of a business model is a new web-based application that allow
customers to order products via internet.
• This increases the sales and thus increasing revenue and profits.
• A project plan must ensure the following:
• The development costs are not allowed to rise to a level that exceeds the value of
benefits.
• The features of the system are not reduced to a level where expected benefits
cannot be realized.
• The delivery date is not delayed so that there is an unacceptable loss of benefits.

1.13 Project Success and Failure


• Broadly speaking, we can distinguish between project objectives and business
objectives.
• Project objectives are the targets that the project team is expected to achieve. They can
be summarized as follows:
• The agreed functionality
• The required level of quantity
• On time
• Within budget
A project could meet these targets, but application once delivered could fail to meet the
business case.

• Increased development costs reduce the profits. A delay in completion diminishes the
value of the project.
• Technical learning increases cost on the earlier projects, but later projects benefit as the
learnt technologies can be deployed quickly, cheaply and accurately.
• Customer relationships can also be built up over projects. If a client has trust in a
supplier who has done satisfactory work before, they are more likely to use that
company again.
• It is much more expensive to acquire new clients than it is to retain the existing ones.

1.14 What is management?


The management involves the following activities:

• Planning – deciding what is to be done


• Organizing – making arrangements
• Staffing – selecting the right people for the job
• Directing - giving instructions
• Monitoring – checking on progress
• Controlling – taking action to remedy hold-ups
• Innovating – coming with new solutions
• Representing – liaising with clients, users, developers, suppliers, and other stakeholders.

• Project planning, monitoring and control are the major activites which require more
time to be spent by the project manager. Fig 1.5 shows that project management is carried
out on three major activities ie; project initiation,project execution and project closing.
• In the project initiation stage, initial plan is made, and project is controlled and
monitored as per the plan.
• Plan is periodically reviewed to accommodate additional details and constraints.
• Project planning starts immediately after feasibility study before starting requirements
analysis and specification.
• Project planning involves estimation of several project characteristics.
• Project management refers to the publication of guide “A guide to the Project
Management Body of Knowledge” (PMBOK)
• Following activities are carried out during this period:
• Scheduling – schedules for manpower and other resources are developed.
• Staffing – staff organization staffing plans are made.
• Risk management – includes activities like risk identification, planning and risk
mitigation.
• Miscellaneous – includes plans such as quality assurance plan, configuration
management plan.
• Project monitoring and control activities are taken up after project initiation, to ensure
that activities are carried out as per the plan.
• If necessary, the project manager can change the plan on specific situations.
• The project parameters are re-estimated periodically incorporating new
understanding of the project parameters.

1.15 Management Control


• This involves local managers in data collection. Data processing transforms this raw
data into useful information. If any fail in data transfer, then consider what to do
represented by the box making decisions/plans.
• One possibility is moving staff from one branch to another. If this is done, the project
manager needs to check for any problem in completion of work in that branch if staff is
moved.
• This will be done modelling, which finds the consequences of potential solutions.
• In this way several different proposals could be modelled before one was chosen from
implementation.
• Having implemented the decision, the situation needs to be kept under review by
collecting further details.
• Project plan is dynamic and needs constant adjustments during the execution of the
project.
• A good project plan provides a foundation for a good project but is nothing without
intelligent execution.

Software development and project management lifecycles.

• Software development life cycle denotes stages through software is developed. In fig
software development life cycle (SDLC) shows set of activities that are undertaken
during project development.
• During software development life cycle, starting from inception, the developers carry
out several processes till the software is fully developed and deployed.
• SDLC includes the phases like requirements gathering, analysis, requirements
specification, architectural design, detailed design, coding and testing.
• Project management life cycle starts before SDLC starts and continues for the entire
duration.
• In this life cycle the software manager carries out several project management activities.
Such as project initiation, planning, execution, monitoring, controlling and closing.
1.16 Project Management Life Cycle

• Fig 1.8 shows the difference between project development and software development life
cycles.

Project Initiation
The different aspects of the project that are investigated and understood include:

• Scope of the project and project constraints, cost and benefits are incurred.
• Feasibility study is done to determine whether the project is financially and technically
feasible for both in-house and outsourced projects.
• This sets the ground for project planning.
• W5HH principle was suggested by Boehm during project initiation. W5HH contains set of
seven questions as below.
• Why is the software being built?
• What will be done?
• When will it be done?
• Who is responsible for a function?
• Where are they organizationally located?
• How will the job be done technically and managerially?
• How much of each resource is needed?
Project Bidding
• Once the top management is convinced by the business case the project charter is
developed.
• For some categories of projects, formal bidding process is used to select suitable
vendor. Organization decides to develop the project in-house or get software vendors to
bid for the project.
• Following are the different types of bidding techniques:

Request for quotation (RFQ):


• Organization while publishing the RFQ, mentions the scope of the work in a
statement of work (SOW) document.
• Based on RFQ different vendors can submit their quotations.
• Organization selects the suitable vendor based on the price quoted and
competency of the vendor.
Request for proposal (RFP):

• Sometimes organizations may not have sufficient knowledge about the different
features that are to be implemented and may lack familiarity of the
implementation environment.
• In such cases the organization may solicit solution proposals from vendors.
• The vendors may submit solutions and costs for each solution.
• vendors explain or demonstrate their solutions.
• The purpose of RFP is to understand the solution, and not selecting the vendor.
Request for Information (RFI):

• Organization publish RFI for bidding to the vendors.


• Based vendors response to RFI, the organization short list the vendors who can bid
for the work.
• RFI response from the vendors may be used in conjunction with RFP and RFQ
responses from the vendors.

Project Planning:
• During project planning, the project manager carries out processes and creates the
following documents:
• Project plan -This document identifies the project tasks, schedule for the project tasks,
project resources, and time frame the tasks.
• Resource plan – lists the resources, manpower and equipment required to execute the
project.
• Financial plan – documents the manpower, equipment and other costs.
• Quality plan – plan of quality targets, and control plans are included in this document.
• Risk plan – lists the identification of potential risks, their prioritization and plan for action
to that should be taken for the risks.

Project Execution:
• In this phase tasks are executed as per the project plan.
• Monitoring and control processes are executed to ensure the tasks are executed as per
the project plan.
• Corrective actions are initiated whenever any deviations from plan are noticed.
• Quality of the deliverables ensured through execution of proper processes.
• Once all deliverables are produced and accepted by the customer, the project
execution phase completes and project closure phase starts.

Project closure:
• Involves completing and release of all deliverables to the customer along with
documentation.
• Supply agreements with vendors are terminated and pending payments are made.
• Analyze the project performance and list the lessons learnt for use in future projects.

1.17 Traditional versus Modern Project Management Practices.


Radical Changes have taken place in Software industries to develop software. Hardly software is
developed from the scratch.
In the following section, some important differences between modern and traditional software
development are discussed.
Planning incremental delivery:

• Rapid application development and deployment are the key strategies to complete the
development within a short duration.
• Project manager plans to develop incremental delivery of the project with evolving
functionalities unlike in long term development in traditional system.
• This type of project management is often called extreme project management.
• It is a highly flexible approach for the development and concentrates on involving the all
the stake holders in the development.
Quality Management:

• Tasks associated with quality management have become more important responsibility
of the project manager.
• Key responsibilities are assessment of project progress and tracking the quality of the
artifacts.
Change Management:

• This also called as configuration management in which customers’ suggestions are


accepted and incorporated throughout the development process.
• To facilitate this, incremental delivery models are popularly used.
• Product development is carried out by producing series of prototypes with greater
functionalities.
• Various versions and revisions are made to prototypes during development.
• Customization of the software has become a popular business model.
Requirements Management:

• Modern software development practices advocate delivery of software in increments


as and when they are completed by the development team.
• Customers are also involved in the development team and interactions are made with
the customer every day.
• It has become necessary to properly manage the requirements and latest up-to-date
requirements are available to all.
• Requirements management has become a systematic process of controlling changes,
documenting, analyzing, tracing, prioritizing requirements and then communicating
requirements to all stakeholders.
Release management:

• Release management concerns planning, prioritizing, and controlling the different


releases of the software.
• Releases are made each time when the code change.
• Reason for code changes are functionality enhancements, bug fixes, and improved
execution speed.
• Modern development process like agile development advocates the frequent and
regular release of software to the customer.
• Effective release management is has become more important.
Risk Management:

• Risk management is very important to the success of the project.


• A risk is any negative situation that may arise as the project progresses.
• Risk is attributed to the factors like technology, personnel, customer.
• Risk management involves identification of risks, assessments of impact of the risks,
prioritizing the risks and preparing risk mitigation plans.
Scope Management:

• While accepting the changes to the requirements, it must be remembered that these
three critical parameters like scope, schedule, and project cost are closely related.
• If the scope is allowed extensively, then maintaining the schedule and cost and then
quality of work would be the major factors.
• Project managers carefully examine every scope change request whether it is really
needed and check whether the budget and time schedule permit it.
• Scope change requests originated by the overenthusiastic team members are called as
“gold plating”.
• Avoidable scope change request originated from the customers are termed as “scope
creep”.
• Project managers need to guard against both gold plating and scope creep.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy