Get started with a solution

Let's look at how to nail the structure of your solution specification. Learn how to break functionality down into modules. Learn about module, services and their impact on scaling your organization.

You can watch the video or read the explanation below:

What does a solution consist of?

A solution consists of modules and services:

  • Solution: The overall product or project that you are working on.

  • Modules: It is the grouping of the end user functionality in your solution that belongs together and changes together. We will dive into modules further in this article: Get started with a module

  • Services: Describe the requirements for the underlying technical flows that will enable you to build this functionality.

Continuous development

You will incrementally write parts of your specifications as you deliver functionality through projects or sprints. In Uniscale, this is achieved by making revisions to your modules and services to plan each project or sprint and ensure a smooth transition into the code phase.

Learn more about about revisions here: Module revisions, readying and approving

Uniscale as the single source of truth

Over time, your solution specification will follow your product as the single source of truth for all intentions and decisions that went into making your product what it is today. This is key to being able to make good decisions in the future.

How to define module and service boundaries

The key to succeeding with your Uniscale solution design is the way you split the solution functionality into modules and services.

The challenge explained

When attempting to scale a software product organization, it becomes challenging when multiple teams attempt to deliver functionality into the same modules and services. This leads to parallel deliveries from multiple teams to the same functionality, resulting in high organizational friction due to conflicts and misalignments in functionality.

The boundary of a module or a service is defined by:

  • Functionality that belongs together and frequently changes together.

  • Is owned by a single team or department in your organization.

When the functionality of your solution is divided into modules, the majority of your functionalities should pertain to only a single module. Additionally, the services should use the same structure and follow the team or department that owns that module.


Guide: Create and describe your solution

Step 1: Create your solution

Step-by-step guide to create a solution

Step 1: Click "Create new"

And click the "Solution" button in the dropdown.

Step 2: Fill out the solution details

When you create a solution, you give it a name, owner, and description and then click "Submit".

  1. Name: The name of your solution, it can be a code name or product name.

  2. Owner: The person responsible for decisions related to the solution.

  3. Description: A short description, or elevator pitch for the problem your solution addresses.

Step 2: Describe your solution

Start by providing a high-level description of your solution. This will help set the scene for you and others.

Type "/" or use the "..." to trigger the command menu. The command menu contains all the options within the element you are located in.

Using generative AI to write

If your plan includes the generative AI functionality you can get started by getting some ideas from the AI. This is helpful for instance when wanting to get help on making your specification well articulated and readable.

Remember that even though the AI can help you express things more clearly you are the one responsible for making sure that your intentions and requirements are communicated.

Step 3: Create your first module

Now that you have created your solution, you can break it down into modules. To do so, please go to the following page: Get started with a module


Summary

Solutions consist of modules and services where modules describe end-user functionality and services describe the technical requirements needed to deliver that functionality. It is crucial to put thought into how you split a solution into modules and services. It relates to the ownership within your organization and the ability of your organization to scale with your product.

Last updated