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 - Abstract | Detailed - Concrete | |
---|---|---|
What | High-level overview and introduction of your product:
| Moving from abstract to concrete thinking:
|
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 |
|
|
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.
|
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 - Abstract | Detailed - Concrete | |
---|---|---|
What | Defining the requirements for technical functionality.
| Model how each service will work
|
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