Module 4
Module 4
1.1 Introduction
Project management is the process of planning, organizing, and overseeing the execution of
a project to achieve specific goals within a defined timeframe and budget.
2. Project Failures: Many projects fail to meet expectations. A 2003 study by the
Standish Group found that only a third of ICT projects were successful, with 82%
being late and 43% exceeding their budget.
3. Management Issues: One of the main reasons for project failures is poor project
management. Factors like lack of skills and ineffective risk management approaches
contribute to these shortcomings.
Project management emphasizes that it involves planned activities, especially for non-
routine tasks. Planning is crucial, even for uncertain or exploratory projects, but should be
seen as provisional. Routine tasks, on the other hand, require less planning since they are
well-understood.
Key characteristics of projects include:
1. Non-routine tasks: Projects involve tasks that are not performed regularly.
2. Planning: A project requires planning to determine how tasks will be carried out.
4. Predetermined time span: Projects have a defined start and end time.
5. External work: Projects are often carried out for someone other than the individual
team members.
7. Temporary work groups: A project team is formed temporarily to complete the task.
10. Large or complex: Projects tend to be more difficult as they increase in size or
complexity.
1. Invisibility: Unlike physical projects (e.g., building a bridge), where progress is visible,
software development's progress is not immediately apparent. Software project
management involves making this invisible progress visible.
2. Complexity: Software products are more complex per unit of cost compared to other
engineered products. The level of complexity in software increases significantly as
more features are added.
3. Conformity: Engineers working with physical materials like cement and steel follow
consistent physical laws, while software developers must adhere to human-driven
requirements. These requirements can be inconsistent due to factors like poor
communication, organizational flaws, or lapses in decision-making.
1. In-house projects: The users and developers are part of the same organization, so
they work closely together to develop the software.
1. Feasibility Study:
o This is the first step where it’s assessed if the software project is worth
pursuing. The goal is to understand if the project has a valid business case.
o The study also estimates the cost of development and operational expenses,
along with the benefits the system will provide.
o For larger systems, the feasibility study itself could be a small project, with its
own plan.
2. Planning:
o For large projects, planning doesn’t happen all at once. An outline plan is
made for the entire project, with detailed planning for the first stage.
3. Project Execution:
o Once planning is done, the project moves into execution, which involves
design and implementation.
o Design: Making decisions about what the product will look like (e.g., user
interface and internal architecture).
o The distinction between design and planning can be unclear because design
decisions influence the detailed planning of tasks.
1. Requirements Analysis:
o This is the process of gathering and understanding the needs of the users and
stakeholders. It includes:
2. Architecture Design:
o The system needs to be broken down into components that fulfill the
requirements. These components can be software, hardware, or work
processes.
o Software developers cannot work in isolation; they need to consider how the
new system will interact with existing systems (legacy systems).
o The design process ensures that the system architecture supports both
software and hardware components.
3. Detailed Design:
o The software is broken down into smaller units that can be coded and tested
individually.
o This involves writing the actual code for each software unit and conducting
initial testing to debug and ensure proper functionality.
5. Integration:
o After individual components are tested, they are combined and tested
together to check if they meet the overall system requirements.
o Integration may also involve combining software with hardware platforms
and testing how users interact with the system.
6. Qualification Testing:
7. Installation:
8. Acceptance Support:
o After the system is installed, support is provided to address any issues, correct
errors, and implement agreed-upon improvements or extensions.
9. Software Maintenance:
1. Method:
o It’s a broad idea of how the activity is performed, without details on when or
how the activity will actually happen in the project.
2. Plan:
o A plan takes the method and turns it into a specific, actionable set of
activities. It provides concrete details for how the method will be applied,
such as:
o A plan is more practical and focused on executing the method, ensuring the
work progresses effectively.
Additionally, methods can be grouped into broader methodologies that integrate multiple
techniques. For example, object-oriented design is a methodology that encompasses various
methods to design and develop software.
o Compulsory users must use the system to perform essential tasks (e.g.,
recording a sale in a workplace system).
o Voluntary users may use the system by choice, like in computer games. It’s
harder to get clear requirements since users are not obligated to use the
system.
3. Outsourced Projects:
o Sometimes parts of a project are outsourced to other companies for reasons
like lacking expertise or reducing costs. Outsourced projects are typically
smaller and have shorter timelines.
4. Objective-driven Development:
2. The second stage is the actual creation of the software based on the
identified requirements.
o This approach is common when user needs are unclear at the start, and an
external group is hired to propose a design, which is then approved before
proceeding with the full implementation.
1. Definition:
The Project Charter is a high-level document that authorizes the project’s existence and
provides the project manager with the authority to use resources.
2. Purpose:
o Scope: The boundaries of the project, i.e., what is included and excluded.
1.10 Stakeholders
2. Stakeholder Categories:
o Internal Stakeholders: Part of the project team, under the project leader's direct
control.
o External but Internal to the Organization: Individuals within the organization but
outside the project team, e.g., users assisting with system testing. Their involvement
often requires negotiation.
4. Theory W: Boehm and Ross's "win-win" theory suggests creating scenarios where all
stakeholders benefit, increasing their commitment to the project.
Project Objectives:
Ownership and Financing: The stakeholders who own the project are those who
finance it and set its objectives. The objectives define what success looks like for the
project, which should focus on the desired outcomes rather than specific tasks.
Multiple Routes to Success: Objectives are flexible and can be achieved in different
ways. The more possible routes to success, the better.
Stakeholder Roles:
Project Manager: The project manager runs the day-to-day operations but regularly
reports to the steering committee.
SMART Objectives:
o Specific: Clear and concrete objectives, not vague goals like "improve
customer relations."
o Relevant: The objective must align with the overall purpose of the project.
Measures of Effectiveness:
Effectiveness Measures: These are practical ways to check if objectives have been
met. For example, “mean time between failures” (MTBF) could be used to measure a
system's reliability after it’s operational.
1. Purpose: The business case ensures that the project’s efforts and costs are worthwhile
relative to the benefits it delivers.
2. Cost–Benefit Analysis:
o A detailed evaluation conducted during the project’s feasibility study.
o Quantifies costs (e.g., development expenses) and benefits (e.g., increased revenue
or efficiency).
3. Business Model:
o Cost Control: Development costs must not exceed the projected value of the
benefits.
o Feature Assurance: Key system features should not be reduced to the point where
benefits are compromised.
o A project might be a success for some stakeholders and a failure for others due to
differing interests.
o A project can achieve its objectives but fail in business terms if the application
doesn't generate expected benefits (e.g., poor sales or lack of customer use).
o Conversely, a project over budget and delayed might still succeed in business if it
delivers long-term benefits.
Market surveys.
Competitor analysis.
5. Sequencing of Projects:
o Projects should be seen as part of a sequence where earlier efforts build expertise
and reusable assets for later projects.
o Initial higher costs may be justified by long-term benefits, such as faster and cheaper
deployment in future projects.
o Outsourcing may reduce immediate costs but forfeits long-term benefits of technical
expertise and reusable code development.
o Strong customer relationships across projects improve trust and repeat business.
o Retaining clients is more cost-effective than acquiring new ones, especially for
follow-up projects based on previous work.
The project manager’s primary focus is on planning, monitoring, and control. These
activities are carried out in three stages:
1. Project Initiation:
o Estimations are made for project parameters like cost, duration, and effort,
which help in planning subsequent activities.
2. Project Execution:
o Adjustments are made to the plan as more data becomes available and to
ensure progress aligns with the plan.
3. Project Closing:
The project manager carries out specific activities during the planning phase:
Estimation:
o Estimating cost, duration, and effort is critical for scheduling and staffing.
Scheduling:
Staffing:
Risk Management:
Miscellaneous Plans:
o Project managers track the progress of tasks against overall project goals. For
instance, if a branch is behind on completing a task by the target date, the
manager must make decisions to bring the branch back on track.
o Decisions might include reallocating staff, but these decisions require careful
consideration. For example, moving staff from one branch to another may
resolve one issue but potentially delay another branch.
o A project plan is not static; it evolves as the project progresses. The manager
must regularly review progress and adjust the plan to account for new
challenges or changes.
o While planning is essential, the bulk of the time is spent executing the plan. A
well-thought-out plan forms the foundation of a successful project, but its
success largely depends on effective execution and adjustments along the
way.
The SDLC is a series of stages that developers follow to create software, and these stages guide the
development process from start to finish. The typical phases of SDLC include:
These stages are mainly focused on the technical aspects of software creation, ensuring the software
is functional and meets the specified requirements.
In contrast, the Project Management Life Cycle focuses on managing the entire project, including the
software development phases, from a managerial perspective. The phases in this life cycle are:
1. Initiation: Defining the project and its objectives, including setting up the initial project
framework.
2. Planning: Detailing how the project will be carried out, including timelines, resources, and
risk management.
3. Execution: Implementing the plan, which includes carrying out the actual software
development work.
4. Closing: Finalizing the project, ensuring all objectives are met, and closing it officially.
The project management life cycle runs in parallel to the SDLC and overlaps with it. The initiation
phase of project management is typically completed before the software development process
starts, so developers can begin their work with clear objectives and resources in place. The execution
phase of project management aligns with the development, testing, and delivery stages of SDLC,
where the focus is on tracking progress, managing resources, and addressing issues.
1. Project Initiation:
o The project begins with concept development, where the scope, constraints,
and resources are understood.
2. Project Planning:
3. Project Execution:
o Monitoring and control processes ensure the tasks are executed according to
the plan, and corrective actions are taken if deviations occur.
o Once the execution phase is complete, the project closure phase begins.
4. Project Closure:
o All required deliverables are handed over to the customer with appropriate
documentation.
o Project resources are released, agreements with vendors are terminated, and
payments are settled.
1. Planning:
3. Development Approach:
Modern: Emphasis on code reuse and tailoring existing products. Development often
involves modifying pre-built libraries or software, reducing time and cost.
4. Change Management:
Traditional: Changes are difficult to incorporate once the project scope is defined.
Managing scope changes is often seen as a disruption.
5. Quality Management:
Traditional: Quality is managed at the end of the project after the product is
developed, with a focus on meeting the initial specifications.
Modern: Quality is an ongoing responsibility. The project manager tracks the quality
of intermediate deliverables and ensures that each iteration meets quality standards.
6. Project Duration:
Modern: The project manager is more flexible, focusing on adaptive planning, quality
management, customer relations, and facilitating iterative feedback cycles.