Skip to content

Processes and Project Management

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 AreaPurpose
Requirements EngineeringGather, analyze, specify, and validate what the software must do.
DesignDefine architecture, components, interfaces, and data structures.
Implementation (Coding)Write source code according to design and standards.
TestingVerify and validate functionality, performance, security, etc.
DeploymentRelease, install, and configure the software in the target environment.
MaintenanceFix defects, adapt to changes, enhance features post-release.
Configuration ManagementManage changes to artifacts (code, docs, etc.).
Quality AssuranceEnsure 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 AreaWhat it means in software projects
Integration ManagementUnify processes, handle change requests, create project plan.
Scope ManagementDefine and control what is (and isn’t) included in the product.
Schedule ManagementCreate WBS, Gantt charts, estimate tasks, track progress.
Cost ManagementEstimate effort (person-months), track actual vs planned budget.
Quality ManagementPlan quality audits, reviews, testing standards.
Resource ManagementAssign developers, testers, UX designers, etc.
Communication ManagementDaily stand-ups, sprint reviews, status reports.
Risk ManagementIdentify technical risks (e.g., new framework, performance issues).
Procurement ManagementBuy third-party components, cloud services, contractor work.
Stakeholder ManagementManage 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:

AspectProcessesProject Management
FocusTechnical activities (how to build software)Managerial activities (how to plan, track, control)
ExampleConducting code reviews, writing test casesAssigning review tasks, scheduling test cycles
RepeatabilityHigh – same process across projectsMedium – tailored per project
OutputSoftware artifacts (code, docs, tests)Plans, reports, budgets, schedules
RoleDefines the workflowDefines the governance of that workflow