← Back to Resources

Understanding stakeholders

Project Development and Management

“The biggest risk to your project is rarely the code. It’s the person you forgot to ask.”

Every year, some group of students builds a genuinely impressive piece of software and then gets a mediocre grade or an unhappy client, not because the code was bad, but because they built the wrong thing for the wrong person — or built the right thing but never got buy-in from someone who could have quietly killed the project at the end. Usually, that someone was a stakeholder nobody thought to ask.

Before you write a single line of code, before you even finish your requirements, you need to know: who actually cares about this project, and what do they each want from it?


What is a stakeholder?

A stakeholder is anyone who affects, or is affected by, your project. That's a deliberately wide net. It's not just "the client." It includes:

Notice something: these groups don't always want the same thing. The client might want a flashy feature shipped fast; the end users might just want the thing to load quickly and not be confusing; your supervisor wants to see a properly documented process; and the future maintainer (possibly a version of you, six months from now) wants code that doesn't make them cry. Managing a project is largely managing this tension.

Why is this important?

Skipping stakeholder analysis is one of the most common (and most avoidable) ways student projects go wrong. A few concrete failure modes:

Doing this analysis early costs you maybe an hour or two. Doing it never can cost you your entire final sprint.

How to identify and analyse your stakeholders

Step 1 — Brainstorm broadly. List everyone who touches this project in any way, even loosely. Don't filter yet. Ask: who asked for this? Who will use it? Who has to approve it? Who could block it? Who inherits it after we're done?

Step 2 — Map them on a power/interest grid. This is the classic tool (sometimes called Mendelow's Matrix) for making sense of a messy list of names. Draw a 2x2 grid: power (how much influence they have over the project's success or failure) on one axis, interest (how much they actually care) on the other.

Step 3 — Write down what each one actually wants. Not what you assume they want — what they've told you, or what you need to go ask them. This is the bridge into requirement analysis: stakeholders are the source of your requirements, and mixing up whose requirement is whose is a very common source of conflicting specs later on.

Step 4 — Revisit it. Stakeholder maps aren't static. A quiet stakeholder can become a loud one the moment you show them a prototype. Check in on this every few weeks, not just once at kickoff.

A worked example

Say your team is building a course sign-up tool for a university department. At first glance, the "stakeholder" is just "the department." Dig one level deeper and you'll usually find:

Five very different groups, five different sets of expectations, all tangled up in what looks like a simple "build us a sign-up tool" request. That's the norm, not the exception.

Tips

References

Sethi, R. Software Engineering: Basic Principles and Best Practices — a solid grounding in stakeholder identification and requirements as part of the wider software engineering process.

Mindtools — Stakeholder Analysis

Video: Stakeholder Analysis — How to Use the Power/Interest Grid

Asana — Project Stakeholder: Definition, Analysis & Mapping