Module 04 SEPM
Module 04 SEPM
Module-04
Introduction
Ensuring that these objectives are met is the primary aim of project management.
Definition of a Project:
P a g e 1 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Planning Emphasis:
Most beneficial for activities that fall between routine and highly uncertain
exploratory projects.
There is a hazy boundary where the first instance of a routine task can resemble a
project.
Conversely, developing a system similar to previous ones can have significant
routine elements.
P a g e 2 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Financial Stakes:
Consequences of Mismanagement:
Poor management of ICT projects can lead to reduced funding for essential
services like hospitals.
P a g e 3 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 4 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Disadvantage: Expertise gained during the project may be lost when the team
disbands at the project's end.
Invisibility:
o Unlike physical artifacts (e.g., bridges), software progress is not
immediately visible.
o Software project management involves making the invisible progress
visible.
Complexity:
o Software products are more complex per dollar/pound/euro spent compared
to other engineered artifacts.
Conformity:
o Traditional engineers work with consistent physical laws (e.g., cement and
steel).
o Software developers must conform to the inconsistent requirements of
human clients and organizations.
o Organizations can exhibit "organizational stupidity" due to lapses in
memory, communication, or decision-making.
Flexibility:
o Software's ease of change is a strength but also a challenge.
P a g e 5 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Contract Management
In-House Projects:
Outsourced Projects:
The book primarily addresses the concerns of technical project managers on the
supplier side.
P a g e 6 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Would you like more details on what those three processes typically involve, or any specific
details about Figure 1.2 if you have it?
The feasibility study and subsequent phases of project development are critical steps in
determining whether a project is worth pursuing and ensuring its successful execution.
Here's a structured overview based on the information provided:
Feasibility Study
Purpose: To assess whether a project has a valid business case and is worth
starting.
Activities:
o Gather information about the requirements of the proposed application.
o Identify the aims of the stakeholders and determine the means to achieve
them.
o Estimate developmental and operational costs.
o Evaluate the value of the benefits of the new system.
o For large systems, the feasibility study itself could be a separate project
with its own plan.
o It could also be part of a strategic planning exercise examining a range of
potential software developments.
o Assess a program of development that includes multiple projects.
P a g e 7 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Planning
Initiation: Begins if the feasibility study indicates that the project is viable.
Approach:
o Create an outline plan for the entire project.
o Develop a detailed plan for the first stage.
o Planning for later stages is postponed until more detailed and accurate
information is available after the earlier stages are completed.
Project Execution
P a g e 8 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Understanding and properly executing these phases are essential for the successful
development and implementation of a project, ensuring that it meets stakeholder needs
and achieves its intended benefits.
Requirements Analysis
Start:
Purpose:
Establish what potential users and their managers require of the new system.
Types of Requirements:
1. Functional Requirements:
o What the system should do.
o Example: Dispatching an ambulance in response to an emergency call.
2. Quality Requirements:
o How well the functions must work.
o Example: Transaction time affected by hardware, software performance,
and human operation speed.
System Requirements:
P a g e 9 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Architecture Design
Purpose:
P a g e 10 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Components:
Considerations:
Detailed Design
Purpose:
Process:
Integration
Purpose:
Process:
P a g e 11 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Qualification Testing
Purpose:
Process:
Installation
Purpose:
Activities:
Acceptance Support
Purpose:
Activities:
Correct errors.
Implement agreed extensions and improvements.
Software maintenance as a series of minor software projects.
P a g e 12 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Planning an Activity
Foundation:
Method:
o Relates to a type of activity in general.
o Provides a systematic approach, e.g., steps to test software.
Plan:
o Converts methods into real activities.
o Identifies details for each activity:
Start and end dates.
Responsible personnel.
Tools and materials needed, including information.
P a g e 13 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Interrelationship:
Purpose:
Categories
P a g e 14 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
All types of software projects can broadly be classified into software product development
projects and software services projects. It can be further classified as shown in below Fig.1.7
A software product development concerns developing the software by keeping the
requirements to the general customers in mind and developed software is usually sold-off-the
shelf to a large number of customers. Examples of generic software development are
Microsoft’s Windows operating system and Oracle Corporatism’s Oracle 8i database
management software. Domain-specific software targets specific segments of
customers(verticals) Example BANCS from TCS. FINACLE from Infosys.
Outsourced Projects
Objective-Driven Development
P a g e 16 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Stakeholders
Categories of Stakeholders:
o Internal to the Project Team: Under direct managerial control of the project
leader.
o External to the Project Team but within the Same Organization: For
example, users assisting with system testing; requires negotiated commitment.
o External to Both the Project Team and the Organization: Includes
customers or users benefiting from the system and contractors working on the
project; relationships based on contracts.
Theory W: Proposed by Boehm and Ross, where the project manager aims to create win-
win situations for all parties involved.
P a g e 17 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Setting Objectives
1. Project Owners: Stakeholders who own the project control its financing and set the
objectives.
2. Objectives Definition: Objectives define what the project team must achieve for
project success and identify shared intentions among stakeholders.
3. Outcome Focused: Objectives focus on desired outcomes (post-conditions) rather
than specific tasks.
o Example: "The project will be a success if customers can order our products
online" vs. "to build an e-commerce website".
4. Multiple Routes to Success: There are often several ways to meet an objective,
which is advantageous.
5. Project Authority: When multiple stakeholders claim project ownership, a project
steering committee (or similar body) with overall authority is needed to set, monitor,
and modify objectives.
6. Project Manager's Role: The project manager runs the project daily and reports
regularly to the steering committee.
P a g e 18 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
SMART Objectives
Measures of Effectiveness
Business Case
Justification or Business Case
1. Purpose: Ensure that the effort and expense of the project are worthwhile in terms of
eventual benefits.
2. Cost-Benefit Analysis: Part of the project's feasibility study that itemizes and
quantifies costs and benefits.
P a g e 19 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
1. Control Development Costs: Ensure costs do not rise to a level that exceeds the
value of benefits.
2. Maintain System Features: Do not reduce features to a level where expected
benefits cannot be realized.
3. Adhere to Delivery Dates: Avoid delays that result in an unacceptable loss of
benefits.
1. Ensuring Project Success: The project plan should aim to preserve the business case
for the project.
2. Problems in Projects: Every non-trivial project will have problems, and stakeholders
may have different views on success and failure.
Distinguishing Objectives
P a g e 20 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
1. Project Success: A project can be deemed successful if it meets its project objectives.
2. Business Failure: Despite meeting project objectives, the application might not meet
the business case (e.g., a product doesn't sell, or a website isn't used).
3. Business Success: A project could be late and over budget, yet still be a business
success if the deliverables generate long-term benefits that outweigh the costs.
1. Broader View: Incorporate business issues into project management (e.g., market
surveys, competitor analysis, focus groups, prototyping, and evaluation by potential
users).
2. Sequence of Projects: Recognize that projects are often part of a sequence, where
technical skills and expertise developed in earlier projects benefit later ones.
Long-Term Benefits
1. Technical Learning: Increases costs on early projects but provides long-term benefits
through quicker, cheaper, and more accurate deployment of learned technologies.
2. Reusable Assets: Additional software assets, such as reusable code, provide long-
term value.
3. Customer Relationships: Building trust with clients over multiple projects can lead
to repeat business, which is more cost-effective than acquiring new clients.
Outsourcing Considerations
P a g e 21 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
What is Management?
P a g e 22 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Project management is carried out over three well-defined stages, regardless of the
methodology used:
1. Project Initiation:
o Initial Planning: Undertaken immediately after the feasibility study and
before starting requirements analysis and specification.
o Estimations: Estimating cost, duration, and effort.
o Scheduling: Developing schedules for manpower and resources based on
estimations.
o Staffing: Organizing staff and making staffing plans.
o Risk Management: Identifying, analyzing, and planning to mitigate risks.
o Miscellaneous Plans: Creating quality assurance plans, configuration
management plans, etc.
2. Project Execution:
o Monitoring: Tracking the progress of the project.
o Control: Taking corrective actions to ensure the project stays on track.
3. Project Closing:
o Completing all activities logically.
o Formally closing all contracts.
P a g e 23 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Initial project planning is crucial and occurs right after the feasibility study phase.
Involves estimating project attributes such as cost, duration, and effort, which
influence subsequent project activities.
Regular revision of initial plans as the project progresses ensures alignment with the
project's evolving requirements and constraints.
By focusing on planning, monitoring, and control, project managers aim to guide projects
to successful completion while adapting to changes and resolving issues as they arise.
Project planning is a critical responsibility of the project manager, involving several well-
defined activities.
These activities include estimation, scheduling, staffing, risk management, and creating
miscellaneous plans.
Estimation
The project manager estimates the following project attributes:
Scheduling
Based on the estimations of effort and duration, schedules for manpower and other
resources are developed.
Staffing
Risk Management
Miscellaneous Plans
After the initiation of development activities, project monitoring and control activities are
undertaken to ensure the project proceeds as planned. These activities involve:
P a g e 25 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
As the project progresses, the project manager gains more detailed knowledge
about the project, allowing for more accurate planning.
The project parameters are periodically re-estimated, incorporating new
information and changes in project conditions.
This iterative process involves continuous feedback between monitoring, control,
and plan revision activities, allowing the project manager to adjust subsequent
activities with increasing confidence.
Management Control
Management control involves setting objectives for a system and monitoring its
performance. This process transforms raw data into useful information to guide decision-
making. Here's a breakdown:
1. Setting Objectives:
o Establish clear goals for the system or project.
2. Monitoring Performance:
P a g e 26 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
By following these steps, management can effectively control the system, ensuring it
meets its objectives and identifying areas that require attention or improvement.
P a g e 27 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 28 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
o Managers must assess the impact of decisions carefully. While one branch
might meet its deadline early, transferring staff could delay another branch.
3. Modeling Consequences:
o Various solutions are modeled to predict their impact before implementation.
This ensures informed decision-making and minimizes risks.
4. Implementing Solutions:
o Once a decision is made, it’s crucial to implement it effectively.
5. Continuous Review and Adjustment:
o Progress is continually monitored and data processed to assess the
effectiveness of implemented solutions.
o Adjustments are made as new information becomes available or circumstances
change.
6. Dynamic Nature of Project Planning:
o Project plans are not static documents but evolve throughout the project
lifecycle.
o While extensive planning is essential, successful project execution depends on
adaptive management and intelligent decision-making.
P a g e 29 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
The different phases of the project management life cycle are shown in Fig: 1.8
P a g e 30 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Project Initiation: The project initiation phase starts with project concept development. During
concept development the different characteristics of the software to be developed are thoroughly
understood, which includes, the scope of the project, the project constraints, the cost that would be
incurred and the benefits that would accrue. Based on this understanding, a feasibility study is
undertaken to determine the project would be financially and technically feasible.
Based on feasibility study, the business case is developed. Once the top management agrees to the
business case, the project manager is appointed, the project charter is written and finally project
team is formed. This sets the ground for the manager to start the project planning phase.
W5HH Principle: Barry Boehm, summarized the questions that need to be asked and answered in
order to have an understanding of these project characteristics.
Project Bidding: Once the top management is convinced by the business case, the project charter is
developed. For some categories of projects, it may be necessary to have formal bidding process to select
suitable vendor based on some cost-performance criteria. The different types of bidding techniques are:
Request for quotation(RFQ) : An organization advertises an RFQ if it has good understanding of the
project and the possible solutions.
Request for Proposal(RFP) : An organization had reasonable understanding of the problem to be solved,
however, it does not have good grasp of the solution aspects. i.e. may not have sufficient knowledge about
different features to be implemented. The purpose of RFP is to get an understanding of the alternative
solutions possible that can be deployed and not vendor selection. Based on the RFP process, the requesting
organization can form a clear idea of the project solutions required, based on which it can form a statement
work (SOW) for requesting RFQ for the vendors.
P a g e 31 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Request for Information (RFI): An organization soliciting bids may publish an RFI. Based on the vendor
response to the RFI, the organization can assess the competencies of the vendors and shortlist the vendors
who can bid for the work
3. Project Planning: An importance of the project initiation phase is the project charter. During the project
planning the project manger carries out several processes and creates the following documents:
Project plan: This document identifies the project the project tasks and a schedule for the project tasks
that assigns project resources and time frames to the tasks.
Resource Plan: It lists the resources , manpower and equipment that would be required to execute the
project.
Functional Plan: It documents the plan for manpower, equipment and other costs.
Quality Plan: Plan of quality targets and control plans are included in this document.
Risk Plan: This document lists the identification of the potential risks, their prioritization and a plan for the
actions that would be taken to contain the different risks.
4. Project Execution: In this phase the tasks are executed as per the project plan developed during the
planning phase. Quality of the deliverables is ensured through execution of proper processes. Once all the
deliverables are produced and accepted by the customer, the project execution phase completes and the
project closure phase starts.
5. Project Closure: Project closure involves completing the release of all the required deliverables to the
customer along with the necessary documentation. All the Project resources are released and supply
agreements with the vendors are terminated and all the pending payments are completed. Finally, a
postimplementation review is undertaken to analyze the project performance and to list the lessons for use in
future projects.
Over the last two decades, the basic approach taken by the software industry to develop software has
undergone a radical change.
Software is not developed from scratch any more, Software development projects are based on either
tailoring some existing product or reusing certain pre-built libraries both will maximize code reuse and
compression of project durations.
Other goals include facilitating and accommodating client feedback and client feedbacks and customer
participation in project development work and incremental delivery of the product with evolving
functionality.
P a g e 32 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Some Important difference between modern management practices and traditional practices are:
Planning Incremental Delivery: Earlier, projects were simpler and therefore more predictable than
the present-day projects. In those days, projects were planned with sufficient detail much before the
actual project execution started. After the project initiation, monitoring and control activities were
carried out to ensure that the project execution proceeded as per plan, Now, the projects are required
to be completed over a much shorter duration, and rapid application development and deployment are
considered key strategies.Instead of making a long-term project completion plan, the project manger
now plans all incremental deliveries with evolving functionalities. This type of project management
is often called extreme project management. Extreme project management is highly flexible
approach that concentrates on human side of projectmanagement(e.g.managingprojectstakeholders).
Quality Management: Customer awareness about product quality has increased significantly. The
key responsibility of a project manager now includes assessment of project progress and tracking the
quality of all intermediate artifacts.
Change Management: Earlier, when the requirements were signed off by the customer, any changes
to the requirements were rarely entertained. Customer suggestions are now actively solicited and
incorporated throughout the development process. To facilitate customer feedback, incremental
delivery models are popularly being used. Product development is being carried out through a series
of product versions implementing increasingly greater functionalities. The Project manager plays a
key role in product base lining and version control. This has made change management a crucial
responsibility of the project manager. Change Management is also known as configuration
management.
Release Management: Release management concerns planning, prioritizing and controlling the
different releases of a software. Modern development processes such as Agile development processes
advocate frequent and regular releases of the software to be made to the customer during the software
development. Starting with the release of basic or core functionalities of the software, more complete
functionalities are made available to the customer every couple of weeks . Hence effective Release
Management has become important.
P a g e 33 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Scope Management: Modern software development encourages customer to come up with change
requests. While accepting the requests, three critical project parameters: scope , schedule and project
cost are interdependent and related.
P a g e 34 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 35 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 36 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 37 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 38 | 39
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 39 | 39