SE&PM - 21CS61 - Module - 4 Notes
SE&PM - 21CS61 - Module - 4 Notes
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.
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.
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.
Projects differ due to different technical products are created. This also causes change in the
characteristics the way how they are developed and managed.
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.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.
• 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.
• 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.
• 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.
• 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:
• 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):
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.
• 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:
• 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.