Uniscale Method

Discover the Uniscale Method and how to effectively leverage our approach throughout the software development journey.

Introduction

Before reading this article, we recommend watching our brief video introduction: What is Uniscale?

The Uniscale Method uses a systematic breakdown approach that allows you to utilize domain-driven AI. This ensures that problems are accurately identified and solutions are cost-effective. By using this method, you'll understand the reasoning behind Uniscale and the different stages of software development. This gives you a framework to break a specification down across multiple roles into a single source of truth. Each stage has its own requirements, details, and results. Understanding these is crucial for your software development journey, helping you build the right product on your first try.

Uniscale Method

Specification

The specification, also known as “Functional Requirement Specification”, is where you describe the solution's intended capabilities, appearance, and interactions with users.

High level - AbstractDetailed - Concrete

What

High-level overview and introduction of your product:

  • Abstract specification

  • Purpose and motivation

  • High-level requirements

  • High-level end-user behaviour

  • Overview of actors

  • Structure breakdown

Moving from abstract to concrete thinking:

  • Decide the overall approach to your solution.

  • Concrete user interface.

  • UX requirements.

  • UI requirements.

Why

Align all stakeholders on what you are building and the purpose while serving as a reference point for your solution.

The detailed specification guides all UI and UX design aspects, forming the user experience foundation.

Who

Product Owner or someone with a deep understanding of the product.

UX/UI Designer

Outcome

  • A clear understanding of the requirements and desired outcome.

  • An overview of the structure of your product.

  • A specification ready to be handed over to your product designer for continuing on the detailed specification.

  • Deciding on the look and feel of your product.

  • A fully specified solution that can be handed to your technical team to start the service linking.

How

Validation: We highly recommend validating both your high-level and detailed specifications with the relevant stakeholders to ensure complete alignment on the solution's purpose, objectives, and proposed UI and UX.

This collaborative validation process ensures everyone understands the solution and its underlying rationale.


Service linking

Here you will begin defining the architecture envisioned for your services, establishing their boundaries, and detailing how they will interact.

What

Define the requirements for all technical functionality needed to build the intended user experience.

  • Identify what functionality you would need from services to be able to implement this user experience

  • Define the initial architecture for your services.

  • Define your services' boundaries.

  • Outline how the services will interact with one another.

Why

Ensure a sustainable product architecture with low technical debt and an optimized services dependency for better ownership distribution.

Who

Software architect or Tech Lead

Outcome

Having each UX flow linked to a service draft that is ready to be further described and modeled.

How


Documentation

This is where you begin to model your services and outline the needed requirements to specify the technical functionality of your solution.

High-level - AbstractDetailed - Concrete

What

Defining the requirements for technical functionality.

  • Service functionality requirements

  • Definition of each service and its purpose

Model how each service will work

  • Endpoint modeling

  • Error code & sample data

  • Data validations

Why

Describe and validate the purpose of each service to ensure a clean architecture.

Have a detailed overview of how each service is modeled and how they relate to each other.

Who

Software architect or Tech Lead

Software architect, Tech Lead, Software Engineer, or DevOps

Outcome

A clear overview of your services and understanding of their purpose.

Fully modeled services that are ready to be implemented.

How


SDK Library

Here you will automatically generate and have access to an SDK library with a set of code snippets based on the documentation you have defined for your solution and services.

What

Collection of tools, code samples, and documentation that will be used by developers to build your solution.

Why

Allows for a decoupled backend and frontend and helps your developers to write better code.

Who

Software Developer

Outcome

Fully generated SDK library in the language of your choice.

How

Validation: Ensure alignment with relevant stakeholders to confirm consensus on the generated SDK Library. This step is crucial to guarantee accurate implementation.


Implementation

Here, you will write and implement your code in the Code Editor, utilizing our IDE plugin to enhance your coding efficiency and quality.

What

Involves writing and integrating code based on the specified functional and technical requirements defined inside Uniscale.

Why

Provides a seamless coding experience due to the IDE plugin.

Who

Software Developer

Outcome

Implement the required code to build your solution according to the functional and technical specifications within Uniscale.

How

In conclusion, the Uniscale Method stands out as a robust framework for collaborative software development, integrating domain-driven AI to streamline problem validation and optimize cost-effective solutions.

By adhering to this structured approach, development teams can enhance their productivity, ensure alignment with project goals, and deliver high-quality software efficiently.

Embracing the Uniscale Method not only fosters better collaboration but also paves the way for innovative and scalable software solutions

Last updated