How do you match your product architecture to stakeholder goals vs. your product roadmap?

Dilanka Muthukumarana
7 min readOct 4, 2023

--

One of our biggest challenges in software architecture is making sure our design choices fit with what different people want. We have to make sure our technical solutions work well with what end users want and make the architecture extendible and scalable. This isn’t just about building a good system, but it’s also about making the product successful. In the world of software, which is always changing, knowing how to make our designs match what our users and stakeholders want is vital. It’s the key to creating systems that not only do the job but also make it reusable, extendible, and scalable in most cases.

But how do you ensure that your architecture aligns with end goals and priorities? In this article, I will explore some steps and tips to help us match our architecture to stakeholder goals and also.

Understand the problem

The initial step is to fully understand the issue our solution is meant to address. This involves identifying what’s causing difficulties, challenges, or opportunities for the people involved, and what they require. We can achieve this by;

  1. Engaging in conversations.
  2. Asking questions.
  3. Conducting surveys.
  4. Creating Epics and detailed stories to align with business requirements and required groundwork.

Additionally, consider the bigger picture, including the industry or field the problem is in, the current market conditions, any rules or regulations that apply, the available budget, and the time constraints you’re working within. This thorough understanding of the problem will serve as a strong foundation for your solution.

Define Clear Goals

The next thing we need to do is decide on the specific achievements we want from our product, not just a solution for a specific need. These are the positive results and advantages that a wide range of people, personas, and stakeholders are hoping for. To ensure that our product is user-friendly and appeals to a broader audience, we should consider a KISS approach: “Keep It Simple, Stupid.” This means aiming for simplicity and planning for a generic product that can meet the needs of a wide variety of users when necessary.

To make our goals easy to understand and work towards, we can follow the SMART criteria:

src:https://www.peoplebox.ai/blog/different-goal-setting-methods/
  1. Specific: Goals should be crystal clear and not uncertain.
  2. Measurable: We should be able to measure and track our progress.
  3. Achievable: Goals should be realistic and doable.
  4. Relevant: Goals should relate to the problem we’re solving and the broader product vision.
  5. Time-bound: Goals should have a deadline or timeframe.

Evaluate the options

The next thing to do is to think about the choices that have for creating and using our solution. These are the decisions that need to be made about things like the tools, systems, and ways of doing things. It’s like picking the right tools for the job.

We can use criteria, which are like rules, to see which choice is the best. For example, we might look at whether it’s possible, if it fits well, if it can extend if needed if it works securely, if it is scalable, and if it’s easy to fall back/roll back.

Also, We can think about the problems and things that might go wrong with each choice. And listen to what the team members involved have to say about them. Their thoughts and opinions are valuable.

Communicate the architecture/design

Now, let’s talk about the fourth step: telling our stakeholders about the architecture we have picked. This means explaining how our plan lines up with their goals and needs and also the product roadmap. It’s also about letting them know why we made certain choices and what we are assuming.

To do this, we can use different things like pictures, drawings, papers, talks, or sample versions of our plan. It’s important to use words and phrases that everyone can grasp easily.

By sharing our plan this way, we make sure everyone is on the same page and understands what’s going on. It helps build a common understanding and trust among everyone involved.

Validate the architecture

Now, we’re at the fifth step: making sure that the plan shared with our stakeholders actually works the way they want it to. This means confirming that our plan meets their expectations and fulfills their business goals/product goals.

To do this, we can use different ways, like checking it thoroughly, trying it out with POCs and showing how it works, or doing MVP and testing it on a small scale. It’s also crucial to listen to what our stakeholders say and gather information to see if everything is going as planned.

If we find anything that needs to be fixed or changed, it’s important to take that feedback and data and use them to make our plan better. This way, we can be sure that our architecture aligns with what our stakeholders need and meets the product roadmap.

Monitor and update the architecture

The last step is all about watching over and improving the plan that we have made with our stakeholders. This involves keeping an eye on how well our solution is doing and whether it still meets the needs of our stakeholders.

To do this, we can use different tools and measures, like dashboards that show you what’s going on, reports that give you information, notifications when something’s not right, or thorough checks to make sure everything is working as it should.

It’s also important to talk and work closely with your stakeholders regularly and open communication channels to get regular feedback. This way, we can make sure our plan stays in line with what stakeholders want and the product roadmap.

By keeping a watchful eye and staying connected, we can ensure that our architecture continues to do its job well and stays in tune with the changing world.

Furthermore, in my experience, Lean and Agile principles can be effectively applied to the five steps outlined earlier in the architectural process.

Here’s how Lean and Agile concepts align with each step:

  1. Understand the Issue: In Lean and Agile practices, understanding the problem aligns with the concept of “User-Centered Design” and “User Stories” or “Product-Centered Design” manner. Lean and Agile teams prioritize direct communication with users and stakeholders to understand their needs and pain points. This understanding is achieved through techniques like user interviews, surveys, and feedback loops.
  2. Set Clear Goals: Lean and Agile describe the importance of setting clear and actionable goals through the concept of “User Stories” and “Feature Prioritization.” These methodologies encourage defining user-focused or product-focused goals that are specific, measurable, achievable, relevant, and time-bound (SMART). Prioritization techniques, such as MoSCoW, help identify the most critical features.
  3. Check Your Choices: Lean and Agile guide for continuous inspection and adaptation. In the context of architecture, this corresponds to techniques like “Design Reviews,” “Technical Debt Assessment,” and “Sprint Reviews.” Agile teams regularly assess architectural choices, ensuring that they align with the evolving project needs and adapt as necessary.
  4. Share Your Plan: Communication is central to Lean and Agile practices. Agile ceremonies like “Sprint Planning,” “Daily Standups,” and “Review and Retrospective” sessions facilitate continuous communication with stakeholders and team members. Visual aids, such as diagrams and prototypes, are used to make complex architecture concepts more accessible to non-technical stakeholders.
  5. Check If It Works: Continuous testing and validation are fundamental to Agile development. Agile teams frequently perform “User Acceptance Testing” (UAT) and “Continuous Integration” (CI) to verify that the software meets user expectations. Feedback loops are an integral part of Agile, enabling adjustments and refinements as the project progresses.

Lean and Agile approaches encourage adaptability, collaboration, and customer-centricity throughout the architectural process. They promote regular reassessment and refinement, ensuring that the architecture remains aligned with stakeholder goals and adapts to changing requirements. By combining Lean and Agile principles with traditional architecture practices, software architects can develop solutions that are not only technically sound but also highly responsive to customer needs.

Thank you for the reading, happy designing...

--

--

Dilanka Muthukumarana
Dilanka Muthukumarana

Written by Dilanka Muthukumarana

TOGAF® Enterprise Architecture Practitioner | Consultant For Services: https://devinsights.tech/ Buy me a coffee: https://buy.stripe.com/8wMbMpdvO31ycsUbII

No responses yet