1. Processes (Software Processes)
In SPM, a process is a structured set of activities, actions, and tasks required to develop a software product. It defines what to do, when to do it, and how to do it, but not necessarily the detailed steps (that’s a procedure).
Key Characteristics of Software Processes
- Repeatable – Can be used across multiple projects.
- Measurable – Progress can be tracked (e.g., requirements completed, test cases passed).
- Improveable – Can be refined over time (e.g., via CMMI, DevOps practices).
Common Software Processes
| Process Area | Purpose |
|---|---|
| Requirements Engineering | Gather, analyze, specify, and validate what the software must do. |
| Design | Define architecture, components, interfaces, and data structures. |
| Implementation (Coding) | Write source code according to design and standards. |
| Testing | Verify and validate functionality, performance, security, etc. |
| Deployment | Release, install, and configure the software in the target environment. |
| Maintenance | Fix defects, adapt to changes, enhance features post-release. |
| Configuration Management | Manage changes to artifacts (code, docs, etc.). |
| Quality Assurance | Ensure processes are followed and standards met. |
Process Models (Frameworks)
Well-known software process models include:
- Waterfall – Linear, sequential phases.
- Agile (Scrum, Kanban) – Iterative, incremental, adaptive.
- Spiral – Risk-driven, iterative.
- V-Model – Verification & validation aligned with each development phase.
2. Project Management
Project Management is the application of knowledge, skills, tools, and techniques to meet project requirements. In software, it focuses on planning, organizing, controlling, and closing the work of the team to deliver a working software product within constraints.
The Triple Constraint (Iron Triangle)
- Scope – Features and functions.
- Time – Schedule, milestones.
- Cost – Budget, resources.
Quality is often considered the central goal affected by these three.
Key Knowledge Areas (PMI / PMBOK adapted for software)
| Knowledge Area | What it means in software projects |
|---|---|
| Integration Management | Unify processes, handle change requests, create project plan. |
| Scope Management | Define and control what is (and isn’t) included in the product. |
| Schedule Management | Create WBS, Gantt charts, estimate tasks, track progress. |
| Cost Management | Estimate effort (person-months), track actual vs planned budget. |
| Quality Management | Plan quality audits, reviews, testing standards. |
| Resource Management | Assign developers, testers, UX designers, etc. |
| Communication Management | Daily stand-ups, sprint reviews, status reports. |
| Risk Management | Identify technical risks (e.g., new framework, performance issues). |
| Procurement Management | Buy third-party components, cloud services, contractor work. |
| Stakeholder Management | Manage expectations of clients, users, senior management. |
Typical Software Project Management Activities
- Estimation – Lines of code, function points, story points.
- Scheduling – Milestones, critical path, burndown charts.
- Team coordination – Task assignment, code reviews, pair programming.
- Monitoring & control – Earned value analysis, velocity tracking.
- Reporting – Weekly status, demo to client.
3. Relationship Between Processes and Project Management
They are not the same, but they work together:
| Aspect | Processes | Project Management |
|---|---|---|
| Focus | Technical activities (how to build software) | Managerial activities (how to plan, track, control) |
| Example | Conducting code reviews, writing test cases | Assigning review tasks, scheduling test cycles |
| Repeatability | High – same process across projects | Medium – tailored per project |
| Output | Software artifacts (code, docs, tests) | Plans, reports, budgets, schedules |
| Role | Defines the workflow | Defines the governance of that workflow |