Software Engineering
&
Project Management
Module 4
Introduction to Project Management: Introduction, Project and Importance of Project Management, Contract
Management, Activities Covered by Software Project Management, Plans, Methods and Methodologies, some ways of
categorizing Software Projects, Stakeholders, Setting Objectives, Business Case, Project Success and Failure,
Management and Management Control, Project Management life cycle, Traditional versus Modern Project
Management Practices.
• Here we focus on the topic project management and here the
question that arises is that wheather the management of software
Projects is important.
• Main intention behind any software project is satisfy the real needs
of the customers.
• To do this we must understand the projects stakeholders and their
objectives
• The main idea behind project management is ensuring that all
objectives are met.
Project Management
Project Management – Defining and achieving targets while optimizing the use of
resources over the course of project.
•A project in simple terms can be described as a planned activity.
•In simple terms how to carry out a task before we start and planning is important
thinking carefully about something before doing it
Resources: Time, Money, People, Materials, Energy, Space etc.
Project Course: Set of activities with finite duration
Importance of Project Management
Large amount of money invested in ICT
Project often fail – Exceeding Schedule or Money
Project Control Variables
Time – Amount of time required to complete the project
Cost – Proportional to time and resources employed for the project
Quality – Accuracy of results
Scope – Requirements specified
Risk – Potential points for failure
Trade-Off
The following characteristics distinguish projects
• No routine tasks are involved
• Planning is required
• Specific objectives are to be met or specific product is to be
developed.
• The Project will have a predetermined time span.
• People are formed into temporary work group to carry out the task.
• Work is carried in several phases
• The project is large or complex.
Importance of project management
• Here are some simple, real-time examples that illustrate the importance of project
management in everyday situations:
1. Organizing a Community Event
• Key Project Management Aspects:
• Goal Setting: The objective is to organize a successful and enjoyable event for the
community.
• Planning: Creating a detailed plan that includes a timeline, budget, and task list.
• Resource Management: Allocating tasks to volunteers, securing sponsors, and arranging
equipment and supplies.
• Risk Management: Identifying potential risks such as bad weather and having
contingency plans in place (like an indoor venue).
• Communication: Keeping all volunteers and participants informed
through regular updates and meetings.
• Execution: Overseeing the setup, running the event, and managing
the cleanup.
• Evaluation: Gathering feedback post-event to improve future fairs.
Contract Management
• Contract management is the process of managing contract creation, execution, and analysis
to maximize operational and financial performance while minimizing risk.
• Ensures that contractual obligations are met, tracking performance, and making necessary
adjustments to achieve project goals.
Types of Contracts:
▪ Fixed Contracts - A set price is agreed upon for the entire project or specific deliverables.
▪ Time and Material Contracts - The client pays for the actual time spent by the contractor
and the materials used.
▪ Cost-Reimbursement Contracts - The client reimburses the contractor for allowable costs
incurred during the project, plus a fee.
Aspects Involved in Contract Management in Software Projects
1. Contract Planning
• Identifying the need for a contract in the project.
• Determining type of contract (fixed price, time & material, cost reimbursement).
• Defining scope of work, deliverables, schedule, and responsibilities.
2. Contract Negotiation
• Discussion between client and vendor to finalize terms.
• Agreement on price, schedule, resources, quality standards, and payment terms.
• Resolving conflicts and ensuring mutual understanding of project requirements.
3. Contract Documentation
• Preparing a formal written agreement including:
• Scope of work
• Deliverables
• Project milestones
• Payment conditions
• Legal terms and conditions
• Ensures clarity and legal protection for both parties.
Aspects Involved in Contract Management in Software Projects
4. Contract Execution
Signing and implementing the contract.
Allocating resources and responsibilities according to the agreement.
Beginning the software development activities.
5. Contract Monitoring and Control
Tracking whether the work is performed as per the contract.
Monitoring quality, schedule, and cost.
Handling changes, disputes, or performance issues.
6. Change Management
Managing modifications to the contract when requirements change.
Ensuring all changes are documented, approved, and communicated.
7. Risk Management
Identifying risks such as delay, cost overruns, or quality issues.
Defining penalties, incentives, and risk-sharing mechanisms.
8. Contract Closure
Verifying that all deliverables are completed and [Link] payments and documentation.
Activities Covered by Project Management
• Feasibility Study
▪ Technical feasibility for project
delivery and worthwhile from a
business point of view?
• Planning
▪ Schedule, Monitor
• Execution
▪ Implementation / Development
Software Development
Lifecycle
• Requirement Analysis
▪ Requirements Elicitation - What
does the client needs
▪ Analysis – Convert client facing
requirements into developer
understandable requirements
▪ Requirements – Functions, Quality,
resource constraints (i.e. costs)
Software Development Lifecycle Cont..
• Architectural Design
▪ Developed based on requirements
▪ Components – Hardware, Software, Organizational entities
• Code and Test
▪ Component wise implementation
▪ Unit testing
• Integration
▪ Combine the components + integration testing
• Qualification Testing – System Testing
Software Development Lifecycle Cont..
• Installation – Deployment
▪ Getting the system operational
▪ Setting Up – Standing Data + Initializing Parameters + Installing h/w and s/w +
User Training (KT- Knowledge Transfer)
• Acceptance Support
▪ Acceptance Testing
▪ Feedback
▪ Maintenance + Support
Plans, Methods and Methodologies
Plans:
A detailed proposal for achieving specific objectives.
Purpose: Provides direction, aligns resources, and sets timelines.
Examples: Project plan, risk management plan, quality plan.
Methods:
Specific procedures or techniques used to accomplish tasks.
Purpose: Ensures tasks are carried out systematically and consistently.
Examples: Waterfall, Agile, Scrum.
Methodologies:
A system of practices, techniques, procedures, and rules used by those who work in a discipline.
Purpose: Provides a framework for managing projects, ensuring consistency and quality.
Categorizing Software
Categorization is important as different types of tasks need different project
approaches
• Information Systems vs Embedded Systems
Information Systems:
▪ Focus: Data management, software applications, user interface.
▪ Approach: Agile methodologies, rapid prototyping, continuous integration.
▪ Examples: CRM systems, ERP software, online banking systems.
Embedded Systems:
▪ Focus: Hardware-software integration, real-time processing, system reliability.
▪ Approach: V-Model, waterfall model, thorough testing, and validation.
▪ Examples: Automotive control systems, medical devices, IoT devices.
Categorizing Software Cont..
• Objective-Based vs Product-Based
Objective-Based Projects:
▪ Goal: Achieve specific outcomes or performance targets.
▪ Approach: Milestone tracking, performance metrics, adaptive planning.
▪ Examples: Website performance optimization, cybersecurity enhancement, sales
process improvement.
Product-Based Projects:
▪ Goal: Develop a tangible product or deliverable.
▪ Approach: Stage-gate process, detailed requirements analysis, user feedback loops.
▪ Examples: New mobile app development, consumer electronics, e-commerce platform.
Categorizing Software Cont..
• Voluntary Systems vs Compulsory Systems
Voluntary Systems:
▪ Systems where participation is optional and based on individual or organizational choice.
▪ Examples: Open-source software development.
Compulsory Systems:
▪ Systems where participation is mandatory and enforced by laws, regulations, or
organizational policies.
▪ Examples: Mandatory safety regulations.
Categorizing Software Cont..
• Voluntary Systems vs Compulsory Systems
Voluntary Systems:
▪ Systems where participation is optional and based on individual or organizational choice.
▪ Examples: Open-source software development.
Compulsory Systems:
▪ Systems where participation is mandatory and enforced by laws, regulations, or
organizational policies.
▪ Examples: Mandatory safety regulations.
Stakeholders
• People who have a stake or interest in Project
• Stakeholders can be,
▪ Within the project team
▪ Outside the project team but within the same organization
▪ Outside both the project team and the organization
• Example: Clients / Users, Developers / Implementers
Stakeholders
1. Project Sponsor
• The person or organization that provides financial support for the project.
• Approves project objectives and major decisions.
• Ensures the project aligns with business goals.
2. Project Manager
• Responsible for planning, organizing, and managing the project.
• Coordinates team members, schedules, resources, and budget.
• Ensures the project is completed on time and within scope.
3. Development Team
• Includes software developers, designers, and programmers.
• Responsible for designing, coding, and implementing the software.
• Work according to project requirements and specifications.
Stakeholders
4. Customers / Clients
• The individuals or organizations who request the software system.
• Provide requirements and feedback during development.
• Evaluate whether the final product meets their needs.
5. End Users
• People who actually use the software system after deployment.
• Provide practical feedback about usability, performance, and features.
6. Testers / Quality Assurance (QA) Team
• Responsible for testing the software to detect errors and defects.
• Ensure the software meets quality standards and requirements.
Stakeholders
7. System Administrators / IT Support
• Manage the deployment, maintenance, and operation of the software system.
• Ensure system security, performance, and reliability.
8. Vendors / Suppliers
• Provide tools, hardware, software components, or services required for the
project.
• Support the development team with necessary resources
Setting Objectives
• What do we have to do to have a success ?
• Need for Project Authority (Control Finance + Monitor/Modify Objectives)
▪ Sets the project scope
▪ Allocates / Approves Costs
• Could be one person or group
▪ Project Board
▪ Project Management Board
▪ Steering Committee
Objectives
• Project objectives define the critical steps that must be taken to
successfully execute a project plan.
Objectives – Need to be SMART
• Specific: Speak with stakeholders and get them to give you all the requirements so that
you’re not surprised down the line when they say they’ve forgotten something.
• Measurable: Be sure that each of the requirements from stakeholders can be measured.
That is, each requirement should be tested and then checked off the list.
• Achievable: Look over the list of requirements. If some are not realistic then go back to the
stakeholder and tell them why it’s not feasible considering the time and costs involved.
• Relevant: Again, look over the list of requirements you received from your stakeholders and
make sure each is relevant to the product. If it’s not, it’s got to go.
• Time-Related: Can the requirements requested be completed by the deadline? Will the
requirement lead to overspending the budget? Unless the requirement can be delivered on
time and within budget it should be removed.
Goals / Sub-Objectives
• Steps along the way to achieving objective.
• Goal can be allocated to an individual but not the objective.
Consider,
Objective: User satisfaction with software product
▪ Analyst Goal: Accurate Requirements
▪ Developer Goal: Reliable Software
Measure Effectiveness:
• How do we know that the goal or objective has been achieved ?
▪ Practical Tests to measure
▪ Repeat Business or Low Number of Complaints
Business Case
• Benefits of project must
outweigh costs incurred
• Project Costs:
▪ Development
▪ Operation
• Project Benefits:
▪ Quantifiable
▪ Non-Quantifiable
Management
What is management ?
• Planning – Scheduling, deciding what needs to be done
• Organizing – Making arrangements
• Staffing – Resource Allocation (Selecting right people for the job)
• Directing – Giving instructions
• Monitoring – Review progress
• Controlling – Taking action to remedy holdups
• Innovating – Solutions to solve the problem
• Representing – Liaising with clients, users, developers and other stakeholders
Project Control Cycle / Management Control
• Data – Raw Fact
• Information – Processed data /
meaningful
• Comparison with objectives/goals
– Met or Not
• Modelling – Sketch / Design
• Implementation – Development +
Test
Project Life Cycle
▪ Requirement Analysis
▪ Specification – Feasible Requirements / Scope
▪ Design – Model / Sketch
▪ Coding - Construction
▪ Verification & Validation – SIT, UAT
▪ Implementation / Installation – Deployment
▪ Maintenance & Support – Feedback, Hypercare A Typical Project Life
Cycle
Traditional versus Modern Project Management Practices
• Planning Incremental Delivery
▪ Traditional long-term planning has given way to short term planning – Incremental Delivery with
Evolving Functionalities
• Quality Management
▪ Focus on quality management keeping customer focus rather than only delivery
• Change Management
▪ Changes are rarely entertained after sign-off in traditional systems
▪ Incremental Delivery with Customer Feedback: To accommodate customer changes
▪ Version Control: Crucial since incremental delivery leads to multiple versions of project
Traditional Project
Aspect Modern Project Management
Management
Approach Sequential / Linear Iterative / Agile
Planning Detailed planning at start Adaptive planning
Flexibility Low flexibility High flexibility
Customer Involvement Limited Continuous involvement
Change Handling Difficult to change Easy to adapt changes
Delivery Final product delivered at end Incremental delivery
Documentation Heavy documentation Minimal but useful documentation
Team Collaboration Less collaboration High collaboration
Examples Waterfall Model Agile, Scrum, DevOps