Module-04
Module-04
Module-04
Introduction
All projects, including software projects, aim to meet specific objectives and
satisfy real needs.
Ensuring that these objectives are met is the primary aim of project management.
Knowing the current state of the project is essential to predict whether it will meet
its objectives in the future.
Definition of a Project:
P a g e 1 | 30
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 | 30
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 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 4 | 30
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 | 30
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 | 30
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 | 30
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 | 30
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 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Architecture Design
Purpose:
P a g e 10 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Components:
Considerations:
Detailed Design
Purpose:
Process:
Integration
Purpose:
Process:
P a g e 11 | 30
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 | 30
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 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Interrelationship:
Purpose:
Categories
P a g e 14 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Outsourced Projects
Objective-Driven Development
P a g e 15 | 30
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 16 | 30
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 17 | 30
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 18 | 30
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 19 | 30
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 20 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
What is Management?
P a g e 21 | 30
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 22 | 30
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
P a g e 23 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
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 24 | 30
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 25 | 30
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 26 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 27 | 30
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.
1. Long-Term Planning:
o Projects were planned in detail upfront, often with extensive documentation and
fixed requirements.
P a g e 28 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
P a g e 29 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
o Projects are more flexible, allowing for continuous adaptation and adjustment
based on evolving requirements and feedback.
3. Customer Engagement and Feedback:
o Customers are actively involved throughout the development process, with their
feedback encouraged and incorporated iteratively.
o Incremental delivery models facilitate regular customer feedback loops, enabling
continuous improvement and alignment with customer needs.
4. Enhanced Quality Management:
o Quality management is integrated throughout the development process, focusing
on iterative improvement and customer satisfaction.
o Project managers play a crucial role in assessing project progress dynamically and
ensuring quality in all intermediate artifacts.
5. Change Management (Configuration Management):
o Change management is integral to handling continuous customer feedback and
evolving requirements.
o Version control and baseline management become essential to manage multiple
iterations and versions of the product effectively.
P a g e 30 | 30