By defining the Business Context of a company we will derive the technically relevant information from the general business goals. This is a process where we need people who know and understand those objectives well. Equipped with the results you will be able to identify the User and Organization factors that deliver the expected business outcomes.
Generally there are 4 levels of company goals describing 2 broader categories:
If you are not familiar with these terms I linked them to some good descriptions, but it's not necessary to read them. I will go over each point briefly to highlight what's relevant for us.
The high-level, future goals of the company, describing the impact they want to make on their target group. The aim can range from local to global scale. It's too abstract to guide exact decision making processes, however we should notice the scale the vision operates on. If the company is not there yet, scaling up is going to be an important factor even for tech decisions.
Notice the scale
The high-level current goals of the company, describing the actions they want to take to eventually get to the vision. It's still too abstract to guide exact decision making processes, however it's concrete enough to probably give an idea about product functionality, but not necessarily. The most we can take away from here is the generic direction we should take when utilizing our unique insights.
It's the compass for our unique insights
A set of medium-to-long-term, actionable targets that the company aims to reach in order to achieve its mission. This is where we can learn a lot from as many factors of business value can directly be involved in strategic goals and measures. It's a lot to unpack, we will do that separately.
The source of targeted business values
Small scale, near-term actions that companies take to implement their strategies. Usually these are reactive rather than proactive, they happen as opportunities arise. This way, these are unfit for long-term decisions but the typical, smaller tech decisions that happen for example during sprint planning are a form of tactics that should be in line with the company's strategy and values.
The decisions themselves we aim to make
It took me a long time to figure out that in the end our decision making doesn't have much to do with the specifics of how the business works. Initially I attempted to translate the Business Model Canvas to our concerns, but I realized for developers, the best way is to simply stick to the Financial API in mapping out the company. We are going to operate on the level of Strategy, Business Goals and Objectives in this process. So if you are not well acquainted with these in your setting get somebody who is and work together on the next steps. I will show you some examples below.
- Get the current targets
If your company is not using Balanced Scorecard or Objectives and Key Results you should choose one method and set it up because we need something concrete to work with. It's impossible to do our job well without properly defined business requirements. Ideally the goals should be prioritized/ranked in order of importance.
- Identify the business values and the elements of the Financial API
Anything that's relevant for our decisions can be linked up to some elements of RIP CAR. Check the targets and see which ones can be related to them. You can use the detailed components of business values discussed in Chapter 3 to find the connections. You will also see how they match up with CPU-B and you should notice those as well.
Done. Easy right? Often these strategy frameworks are applied for both the annual and current quarter levels so you might need to do it twice, but you will end up with a set of business priorities clearly highlighting what should be your focus for the next periods. These results should be made visible for everyone involved in creating the software product.
There are 3 additional items that might not be explicitly visible in the strategical goals but we should pay special attention to them.
- Necessary employee skills and our match on the job-market for them.
To achieve the business results, we need the right talent with the right knowledge. Do we have them? Are we in the progress of building it up to the levels necessary for the future plans? Identify the needed technical skills, and keep it in mind when making decisions about technology adoption.
- The targeted industry, market and our capabilities to serve them.
To be able to enter the field and reach the targeted audience we need to identify and support 5 key technical capabilities: Scale, Language, Platform, Compliance, Functionality. Always have clear targets about these and evaluate if your choices enable meeting them.
- Key competitive advantages.
Unless they sail on the blue ocean or have monopoly over a market segment, every business needs to pay special attention to differentiation from the competitors. One of the main goals of any company is to achieve a sustainable advantage. We need to know what it is and protect it at every cost so identify it and examine what are the key technical properties necessary to keep it up or to create it at the first place.
Until they arrives here are some links:
- From Intrafocus
- From Heflo
- From Smartsheet