A couple weeks ago we wrote about Outside-in Software Development, by Carl Kessler and John Sweitzer. One of their ideas about stakeholders and goals has got us thinking about traceability.
Types of Stakeholders
Carl and John present a framework for understanding stakeholders that groups them into four categories – principals, end users, partners, and insiders.
- Principals – the business sponsors for a product or project. These folks have business goals they are trying to achieve. Your mission is to understand those goals. You also need to recognize that they may be moving targets, and be prepared to adapt to those changes. And we need to understand why they want what they want.
- End Users – the people who ultimately interact with the software. The best software development processes are focused on satisfying the end users. And a lot of authors are out there teaching us how to do that, although none perhaps as visibly as Alan Cooper.
- Partners – people who are neither principals nor end users. These are the folks who don’t directly benefit from your product, don’t use it directly, and didn’t help create it. But they are responsible for helping your product live, thrive, and interact with other products. Think IT people, keeping your system running, and keeping other systems talking to it.
- Insiders – the people who define the product. Your (internal) team. Not only product managers and developers, but business folks, marketers, testers, support staff, finance, etc. The people creating a product influence what ends up being created. And they are stakeholders in a narrow scope – they are affected by the creation and ongoing support of your product.
In the book, they go into more detail on the different types of stakeholders. One interesting thing that jumped out at me is something the authors mentioned about competing agendas for different stakeholders.
Support Or Not
Carl and John mention that end users have goals that usually, but not necessarily, are aligned with the goals of the principals. This makes sense – someone responsible for the ROI of an improved process would likely have some aligned goals with the person who uses the software within that process. Users are represented with personas, and those personas articulate goals – both personal and practical. This is one are of stakeholder goals. The user’s practical goals are (or should be) aligned with the goals of the principal responsible for the results of what the user does.
Tracing Among Goals
We use tracing to represent the supporting relationships between requirements artifacts.
The diagram above shows the general relationships between different types of artifacts. The following diagram shows how this tracing can incorporate the needs of users.
The top portion of this diagram accentuates that there is tracing within a requirement type. That is – goals can support other goals. From the perspective of stakeholder analysis, Carl and John describe it as alignment.
When we think about traceability, a good way to represent these aligned goals is through subordinate “supporting” relationships and traceability. Carl and John mention that the challenge is to identify conflicting goals and adjust prioritization accordingly (not all stakeholders are created equal!). This is great advice that resonates. The authors also point out that you need to be careful to not ignore a user goal that is critical to the achievement of a principal’s goal.
By tracking principal goals as corporate goals, and end user goals as practical goals, we can identify when goals are aligned (and supportive). We can also identify when goals are unaligned. This is exactly the visibility we need to address the two key elements the authors suggest we look at. Rewording into representation-centric maxims:
- Don’t ignore persona practical goals that support principal (corporate) goals.
- Question persona practical goals that are not aligned with principal (corporate) goals.
Outside-in Software Development continues to be a good read with good ideas. Understanding the relationships between the goals of principal stakeholders and end user stakeholders is one of those good ideas.
Using traceability to manage and communicate our understanding of those relationships will help us to make good decisions about supporting and prioritizing those goals.