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

Software Project Management Essentials

Software Project Management involves planning, organizing, and controlling software development projects to meet quality, budget, and time constraints. It includes core elements like scope, time, cost, quality, risk, and communication management, with the Software Project Manager overseeing the project lifecycle. The document also discusses the Software Crisis, its causes, and how Software Engineering emerged to address these issues, along with common classic mistakes in project management.

Uploaded by

horakle
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)
12 views17 pages

Software Project Management Essentials

Software Project Management involves planning, organizing, and controlling software development projects to meet quality, budget, and time constraints. It includes core elements like scope, time, cost, quality, risk, and communication management, with the Software Project Manager overseeing the project lifecycle. The document also discusses the Software Crisis, its causes, and how Software Engineering emerged to address these issues, along with common classic mistakes in project management.

Uploaded by

horakle
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

Software Project Management Concepts & Software PM

Skills
1. Definition

Software Project Management is the discipline of planning, organizing, directing, and


controlling software development projects to ensure timely delivery, within budget, and
according to specified quality standards.

2. Characteristics of Software Projects

Aspect Software Projects


Nature Intangible and continuously evolving
Requirements Frequently changing and iterative
Complexity High due to dependencies and technology variations
Measurement Progress is harder to quantify compared to physical projects

3. Core Elements of Software Project Management

Element Purpose
Scope Management Defines what is included/excluded in the project.
Time/Schedule Management Establishes timelines and task sequencing.
Cost Management Controls budgeting and resource allocation.
Ensures software meets performance and reliability
Quality Management
standards.
Risk Management Identifies and mitigates potential project threats.
Communication Management Maintains clear and consistent information flow.

4. Role of the Software Project Manager (SPM)

The SPM oversees the entire project lifecycle and is responsible to:

 Translating client requirements into actionable plans.


 Assigning and coordinating tasks among team members.
 Monitoring progress and adjusting plans when necessary.
 Ensuring delivery aligns with scope, budget, and quality constraints.
 Resolving conflicts and facilitating collaboration.

The SPM does not need to write code, but must understand the software development process.
5. Essential Skills for a Software Project Manager

Skill Description
Understanding development methodologies, tools, and
Technical Awareness
architectures.
Planning & Organizational
Structuring tasks and managing project phases effectively.
Skills
Conveying clear expectations and feedback to teams and
Communication Skills
stakeholders.
Leadership & Team
Influencing, motivating, and guiding team members.
Management
Risk Assessment & Mitigation Predicting issues early and preparing alternatives.
Decision-Making Skills Making informed and timely choices under constraints.
Negotiation & Conflict
Balancing stakeholder demands and resolving disagreements.
Resolution

6. Summary

Software Project Management ensures that software develop efficiently and successfully by
controlling scope, schedule, cost, quality, and risks.
A Software Project Manager must combine technical understanding with strong leadership,
communication, and decision-making abilities.

Real-World Scenario: Developing an Online Food Delivery App

A company decides to create a Food Delivery Mobile App similar to Foodpanda.


Here is how the Software Project Manager (PM) works throughout the project:

1. Requirement Phase

The PM meets the client to understand what they want:

 Customers should view restaurants


 Place orders
 Track delivery
 Pay online

The PM documents these requirements and gets approval from the client.
2. Planning Phase

The PM then:

 Breaks the project into modules (Login, Restaurants List, Cart, Payment, Delivery
Tracking)
 Assigns tasks to:
o UI/UX Designer
o Frontend Developer
o Backend Developer
o QA Tester
 Creates a timeline showing when each module must be completed.
 Estimates the budget (developer hours, tools, server cost).

3. Execution Phase

Work begins:

Role Work
Designer Creates app screens
Developers Write the code
Tester Checks for bugs

The Project Manager:

 Conducts daily stand-up meetings to track progress


 Removes obstacles (e.g., if a developer needs API details)
 Ensures tasks are completed on time

4. Monitoring & Control

During development, the PM:

 Reviews completed features


 Ensures the design matches client requirements
 Manages any changes requested by the client
 Tracks budget and time to avoid overruns

If the client says:

“Add live delivery map tracking,”

The PM adjusts the scope, schedule, and cost and then updates the team.
5. Delivery & Closure

Once testing is complete:

 PM arranges a final demo for the client


 Ensures documentation is handed over
 Confirms all payments and accounts are closed
 Reflects on lessons learned

Key Point Demonstrated

In this scenario, the PM:

 Did not design the UI


 Did not write the code
 Did not test the app

But the PM ensured the right work was done at the right time by the right people , within
scope, time, and cost.

That is the core role of a Project Manager.


Software Crisis and Software Engineering

1. Introduction

In the early decades of computing (1950s–1960s), software systems were small and written by
individual programmers.
However, as organizations began demanding large, complex software systems, the traditional,
informal methods of software development failed.

This failure is known as the Software Crisis.

2. What is Software Crisis?

The Software Crisis refers to the difficulties and failures encountered in developing complex
software systems efficiently.

Software projects began to show common issues:

 Projects were delivered late


 Costs became much higher than estimated
 Software quality was poor
 Software could not handle real-world complexity
 Systems were difficult to maintain or modify

In short: The industry realized that writing software was much harder than expected.

3. Historical Background

 In the 1960s, hardware improved rapidly (faster, cheaper, more memory).


 But software development practices did not improve at the same pace.
 As software demand increased, programmers could not manage the complexity.

This gap between growing expectations and weak development practices resulted in the
Software Crisis.
4. Causes of the Software Crisis

Cause Explanation

Rapid Increase in Software Systems grew larger, more interconnected, and more mission-
Complexity critical.

Lack of Systematic Methods Developers relied on trial-and-error with no standard process.

Inadequate Project Management No proper planning, scheduling, or tracking methods.

Client needs evolved during development, but processes could


Changing Requirements
not adapt.

Shortage of Skilled Developers Software demand grew faster than trained professionals.

Poor Communication Misunderstanding among developers, managers, and clients.

5. Symptoms of the Software Crisis

Symptom Description

Schedule Delay Projects took longer than originally planned.

Budget Overrun Final cost exceeded initial estimates.

Unreliable Software Software contained bugs and crashed frequently.

Low Maintainability Code was disorganized and hard to modify.

Project Failure Many projects were never completed or abandoned.


6. Examples of Software Crisis Failures (Real Incidents)

Project Problem Result

Northeast Blackout System Software malfunction in power grid Largest blackout in North America
(2003) controls history

NASA Mars Climate Orbiter


Unit conversion error in software $327 million spacecraft lost
(1999)

FBI Virtual Case File System Project cancelled after $170


Poor requirements & communication
(2005) million spent

These examples show the need for structured, disciplined development.

7. How the Software Crisis Led to Software Engineering

The crisis made it clear that software development needs engineering discipline, similar to
civil or mechanical engineering.

Thus, the field of Software Engineering was formally introduced in the late 1960s.

8. What is Software Engineering?

Software Engineering is the systematic, disciplined, and quantifiable approach to developing,


operating, and maintaining software.

This includes:

 Planning
 Designing
 Coding
 Testing
 Deployment
 Maintenance

Goal: To produce high-quality software that meets requirements, within time and cost
constraints.
9. Objectives of Software Engineering

Objective Explanation

Quality Assurance Software should be correct, reliable, and secure.

Cost Effectiveness Reduce unnecessary expenses and rework.

Maintainability Software should be easy to update and extend.

Schedule Control Deliver projects on time.

User Satisfaction Software must meet user requirements and expectations.

10. Characteristics of Good Software

Characteristic Description

Correctness Performs required functions accurately.

Reliability Works without failures under expected conditions.

Efficiency Uses system resources optimally.

Usability Easy to learn and operate.

Maintainability Can be fixed or upgraded easily.

Portability Can run on different environments/platforms.

11. Summary

The Software Crisis revealed that informal programming practices were insufficient for
developing complex systems.
This led to the development of Software Engineering, which applies structured methods and
engineering principles to ensure software is:

 Reliable
 Efficient
 Maintainable
 Delivered on time
 Within budget

Software Engineering transformed software development from an art into a disciplined


engineering practice.
Real-life scenario
Real-World Scenario: Bank Management System Project

A large bank decides to replace its old manual record system with a new digital Bank
Management Software for handling accounts, transactions, ATM services, and customer
profiles.

Before Software Engineering (Software Crisis Situation)

The bank hires a small team of programmers who start coding immediately without proper
planning.

What happens?

 Requirements not clearly defined.


 Developers code features based on their own understanding.
 No project timeline or cost estimation made.
 The bank changes some requirements during development (e.g., add mobile banking
feature).
 Developers struggle to integrate new features.
 The software becomes buggy and unreliable.

Result:

 Project takes 2 years instead of 8 months


 Budget almost doubles
 Final system has crashes and security issues
 The software becomes hard to maintain
 The bank abandons the system

This situation demonstrates the Software Crisis.


After Applying Software Engineering

The bank hires a Software Project Manager and a Software Engineering team.

Steps they follow:

1. Requirement Analysis
o Meetings with bank officials to make clearly understand needs.
2. Planning
o Work divided into modules: Account Management, ATM Services, Reporting,
Security, etc.
o Delivery timeline and cost estimated.
3. Design
o System flow diagrams and database designs are prepared.
4. Development
o Developers write code following standards and guidelines.
5. Testing
o QA team checks for bugs, security, and performance.
6. Deployment & Maintenance
o Software is installed in the bank and maintained regularly.

Result:

 Project completed within 9 months, close to the planned timeline.


 Costs are within the approved budget.
 System works smoothly with high reliability and security.
 Easy to update and maintain in future.

Conclusion from Scenario

Without Software Engineering With Software Engineering


No planning → delays & failures Structured planning → timely results
No clear requirements Requirements documented and approved
Buggy and unreliable software High-quality, secure, and reliable software
Hard to maintain Easy to modify and extend

This scenario clearly shows how Software Engineering solved the Software Crisis problem.
Classic Mistakes in Software Project Management
Classic Mistakes are common, repeating errors made in software projects that lead to project
failure, delays, poor quality, or budget overrun.
These mistakes occur because teams ignore planning, process discipline, or communication
standards.

1. Categories of Classic Mistakes

Classic mistakes generally fall into four categories:

Category Meaning

People-Related Mistakes Errors in team management and communication

Process-Related Mistakes Errors in planning and development approach

Product-Related Mistakes Errors in understanding requirements and expectations

Technology-Related Mistakes Errors due to wrong or mismatched technology decisions

2. People-Related Classic Mistakes


Mistake Explanation

Undermined Motivation Team members are not encouraged or appreciated, reducing productivity.

Weak Communication Team misunderstandings cause rework and delays.

Adding People to a Late Known as Brooks’ Law: Adding more people to a late project makes it later
Project because new members require training.

Unrealistic Expectations Assuming the team can work faster without changing tools, resources, or
from Team time.
3. Process-Related Classic Mistakes
Mistake Explanation

Insufficient Planning Starting coding without clear tasks, schedule, or estimate.

Poor Estimation of Time and Cost Guess-based timelines cause pressure and failure.

No Risk Management Ignoring risks leads to surprises during development.

Lack of Testing & Quality Control Results in bugs, failures, and security issues.

4. Product-Related Classic Mistakes


Mistake Explanation

Unclear Requirements Requirements not fully understood lead to wrong output.

Frequent Requirement Changes (Scope


Client keeps changing demands without adjusting time/cost.
Creep)

Developers add “extra features” that were not requested,


Gold Plating
wasting time.

5. Technology-Related Classic Mistakes


Mistake Explanation

Using New / Unfamiliar Tools Team wastes time learning tools instead of completing tasks.

Making solutions too complex or too simple, affecting


Over or Under Engineering
performance.

Ignoring System Integration


Components do not work well together if tested late.
Issues

6. Real-World Example

A company decides to build an Online School Management System.

 They start coding immediately without proper planning.


 Requirements not documented.
 Halfway through, the school demands parent mobile apps and bus tracking features.
 To meet the deadline, the manager adds 4 new developers.
 The new developers need training → Project slows down even more.
 Testing is delayed → system launches with bugs and crashes.
Result:
Project is late, over budget, and client is dissatisfied.

This project failed because of multiple classic mistakes:

 No planning
 Scope creep
 Adding people to a late project
 Lack of testing

7. Summary

Classic Mistakes occur when:

 Planning is skipped
 Communication is weak
 Requirements are unclear
 Wrong technology decisions are made

Avoiding these mistakes leads towards :

 Higher efficiency
 Better project quality
 On-time and on-budget delivery
Overview of Project Management

1. What is a Project?

A project is a temporary and unique effort designed to create a specific product, service, or
result.

Feature Description

Temporary Has a definite start and end date.

Unique Output Creates something new / different from routine operations.

Defined Objectives Achieves specific goals.

Examples:
Developing a Mobile App, Building a Website, Launching a Marketing Campaign.

2. What is Project Management?

Project Management is the application of knowledge, skills, tools, and techniques to plan,
execute, and deliver a project successfully.

The goal is to complete the project on time, within budget, and with the expected quality.

3. Triple Constraints of Project Management (Iron Triangle)

Every project must balance three critical constraints:

Constraint Meaning

Scope What needs to be done / features of the project

Time Schedule / deadline of the project

Cost Budget / financial resources

If one constraint changes, the other two must adjust.

Example:
If you increase project scope, time and cost will also increase.
4. Project Stakeholders

Individuals or groups who affect or are affect by the project’s outcome.

Stakeholder Role

Client / Customer Defines requirements and approves output.

Project Manager Oversees planning, execution, and control.

Team Members Perform project tasks (developers, designers, testers).

End Users Use the final product.

Sponsor Provides funding and support.

5. Project Lifecycle Phases

A project typically goes through five major phases:

Phase Purpose

1. Initiation Identify project need, goals, feasibility, and approvals.

2. Planning Define scope, schedule, budget, risks, and resources.

3. Execution Perform the actual work / build the product.

4. Monitoring & Controlling Track performance, solve issues, ensure quality.

5. Closure Deliver final output, handover, document lessons learned.

6. Key Project Management Activities

Activity Description

Defining Requirements Understanding what the client needs.

Scheduling Tasks Breaking work into manageable activities.

Resource Allocation Assigning people, tools, and funds.

Risk Identification & Mitigation Anticipating and reducing problems.

Communication Management Keeping stakeholders informed.


Activity Description

Quality Assurance Ensuring the product meets standards.

7. Role of a Project Manager

The Project Manager (PM) ensures the project runs smoothly from start to finish.

Responsibilities:

 Create project plan and schedules


 Assign tasks and coordinate the team
 Monitor progress and performance
 Handle communication with client and team
 Manage risks and solve problems
 Ensure delivery within scope, time, and cost

Key Skills Needed:

 Leadership
 Communication
 Decision- making
 Risk management
 Negotiation

8. Example Scenario: Website Development Project

A company needs a new E-Commerce Website.

The Project Manager:

1. Initiates: Understands business needs.


2. Plans: Defines features (login, cart, payment), timeline, and budget.
3. Executes: Assigns designers → developers → testers.
4. Monitors: Tracks tasks, checks quality, manages changes.
5. Closes: Delivers final website + documentation + training.

Project is successful if:

 Features match client requirements (Scope)


 Delivered on time (Time)
 Within agreed budget (Cost)
9. Summary

Project Management ensures that a project:

 Has clear goals


 Is planned properly
 Is executed efficiently
 Is controlled continuously
 Is delivered successfully

It helps organizations avoid confusion, reduce risks, control costs, and ensure quality.

You might also like