When working with stakeholders, it is crucial to skillfully define the project’s goal. Without this, sooner or later, the tasks being performed will prove to be useless.
How do you distinguish business goals from needs? What questions help in defining them? What must you, as a technical lead, know?
These topics are explored in the second part of the series focusing on the work of a tech lead in product teams. You can read other articles from the series here: link.
What is a Business Driver?
A business driver is an element that creates, motivates, or drives changes in an organization. Properly defined, it helps understand stakeholders' needs and focus on them. A driver should be defined in a direct (preferably quantitative) and measurable way.
Remember that delivering the expected results to stakeholders is your goal as a technical lead.
It is important to initially focus on a concrete understanding of goals rather than on lists of functionalities and possible options. The process of discovering business drivers is iterative. It means that we learn the requirements by asking upward questions and with a goal to uncover what goals the stakeholder wants to achieve with a given functionality.
Based on my experience, analyzing individual functionalities won’t lead to success as quickly as focusing on achieving the goal.
How to Define Goals?
When starting the analysis of project goals, you can take one of the two approaches:
- Focused on achieving business goals (more business-oriented)
- Focused on fulfilling business needs (more end-user-oriented)
This approach loosely follows the distinction between outcomes and outputs as described by Paweł Huryn.
Business Drivers - Business Goal
Business goals can usually be simplified to two questions:
- How to work less?
- How to make more money?
If the information from your stakeholders does not directly translate to these two aspects, you are not asking deeply enough 😃
Let’s use a popular e-commerce company specializing in electronics as an example – a leader in the RTV and AGD sector.
Suppose the advisors at this company spend a lot of time manually adding the first customers to the system. Since time is money, a goal could be: advisors should not spend time on this; they should focus on other areas of the company.
What functionality will help achieve this goal? By providing the option for customers to purchase services through the website, customers will add themselves to the system. This eliminates the need for advisors, saving their time.
When designing business drivers focused on business goals, ask yourself questions like:
- What do we want to achieve with this?
- What goal are we fulfilling?
- Who saves time?
- How will this affect our stakeholders' profits?
Business Drivers - Business Need
Business needs are motivators for change. A motivator is usually the desire to gain benefits or avoid problems. It’s by no means rocket science: without the impulse for change… nothing changes.
Here, I will can refer to an article by Michał Bartyzel (in Polish) on business needs:
For every functionality, there is either an expected benefit or a problem that needs solving. If business people do not anticipate benefits or the avoidance of problems with the implementation of a new functionality, there is no reason to implement it.
Let’s revisit the aforementioned e-commerce company offering consumer electronics. The company wants to allow customers to independently purchase products. This provides new benefits (e.g., customers can choose the right product themselves) and avoids problems (e.g., misunderstandings between customers and advisors).
When designing business drivers focused on business needs, ask yourself questions like:
- What benefits will the customer achieve using this functionality?
- What capability will they gain?
- What problems am I trying to solve?
- What problem am I trying to avoid?
Defining Goals - Why It Is Important
As a technical lead, you are, of course, responsible for designing functionalities. However, this is not enough. You must also ensure that the goal we want to achieve is clear.
In both approaches mentioned above, you need to ensure that the drivers are clear and understandable. Vague statements like “We want to make more money” are too ambiguous and do not help in achieving the project’s goals.
A clearly defined goal allows you to specify the necessary functionalities to achieve the project. Defining it at the beginning of the design phase greatly increases the chances of achieving the goal, rather than focusing on developing functionalities.
Delivering functionality does not guarantee achieving the set goal.
As a technical lead, it’s important to realize that business drivers benefit not only your team but the entire company. Working day-to-day without specific targets does not lead to success. Defining a target positively impacts the whole team. You all work towards achieving the set goal, and upon reaching it, you share a common sense of accomplishment.
Summary
Defining the goal is essential for taking further action. It is a key step in the design phase of a product or system. Without it, we can easily focus on delivering something that later does not meet business goals. It is important to distinguish the goal from functionalities. This way, you focus on the right path to success.
If this topic interests you, I recommend the book “Software Requirements 3”. It provides concrete knowledge in an accessible way.
I also recommend my course, where I discuss these topics in much greater detail. I teach building processes within a team to help consistently identify key goals for clients.