Architectural Design

Creation of Terms of Reference for Applications, Saas Services, E-Commerce Projects Architectural design, creation of terms of reference for applications 7

The essence of system design as a service

To begin the development, you must first prepare the project documentation. In the case of simple projects, prototype, a brief functional specification and user stories are enough to development team. In most cases, for solutions created on the basis of ready systems do not need a lot of project documentation, because there are already commonly used components and it is clear what should be done and how it should work. The system that lies at the basis (cms, crm, lms, erp, etc.) already contains a set of basic functions and it is not necessary to cover all details.

In the case of developing SaaS and complex systems from scratch, new products or the integration of enterprise systems, the task becomes more complicated, and more work is needed to get the full development requirements. Therefore, we consider the system design stage as a service, in which we include project documents (artifacts) that bring benefits to customers.

Let's not design?

15% of the budget

– part of a system design in the total cost of the product

System design aims to reduce indeterminacy

In fact, every document in the project is a description of what should be implemented, from different points of view (business, users, technical and others).

The project should be designed so that all remaining indeterminacy will be overlapped by the developer experience and capabilities of specific systems and components. Then you understand that in the end you will get what you intended. Accordingly, the more novelty in the project, the more complex ideas you want to implement and the more performers will be involved in the project, the more you need to plan and design in order to avoid the impact of accidents or lack of expertise.

“I do not want to pay for the project to find out that the implementation of my idea costs 10 times more than I thought!”

We understand. But you probably know that 70% of IT projects freeze in the process? System design saves you from expensive illusions. The good news is that even knowing that the project is more expensive or more technically difficult than you originally thought, nothing forces you to stop it - you can always simplify it, test the hypothesis on a minimal version, as suggested by Eric Ries in Lean Startup, you can find an investment or try a step-by-step launch. Here you decide what degree of risk and indeterminacy you want to take. If you are ready for increased risk, then minimize the costs of designing and look for someone who has similar experience to somehow secure the project from failure.

Why do you still need to design?

System design artifacts

slogan-img

Scroll to see other reasons

  1. The overall project concept includes a vision of the project, analysis of the competitive environment, the business need and the business idea of the project.
  2. Product Boundaries determine what should eventually turn out and that we do not plan to cross (if we cross these boundaries, it will be another product).
  3. An approximate calculation of profitability and choice of the implementation method based on a possible payback.
  4. UI prototype and detailed user stories created to describe all the details of user interaction with our system.
  5. Analysis and description of business processes (BP) of the designed system . As a result of the analysis, we create the following documents, depending on the project:
    • user stories of the top level of abstraction
    • use cases to describe interaction scenarios between multiple systems /persons /entities
    • user flow - scripts of the user's work with the system (combine the user stories and the cases, show the complete process from beginning to end)
  6. General technical concept of the project
    • Choosing the type of architecture (monolith or micro-/nano-services)
    • Decomposition of monolithic architecture into components (for example: downloading files, sending mail, working with documents, chatting).
    • The general component-oriented technical scheme of the project. Interaction of components among themselves. (For example, you can upload from the gallery and from the chat room)
    • Non-functional system requirements: security, availability (browsers and OS), scalability, performance (server loads), constraints (business rules and corporate policies), etc.
  7. Detailed technical architecture
    • Description of the necessary services for the component. R&D and selection of compatible services. (An example for uploading files requires an API service through which to send and receive files.)
    • Breakdown for microservices
    • Scheme of interaction of services/microservices
  8. Technology stack
    • The choice of software implementation stack for each component. R&D for compatibility.
    • The solution of tech cases.
    • Selecting a hardware implementation stack (if needed)
    • Recommendations for setting up and launching the project on production
    • Compatibility analysis of UI interfaces and services
  9. Designing the stages of development and implementation of the project : the scheme of development stages is divided into stages and grouped by components/services.
  10. Process organization and team required for project implementation
  1. The overall project concept includes a vision of the project, analysis of the competitive environment, the business need and the business idea of the project.
  2. Product Boundaries determine what should eventually turn out and that we do not plan to cross (if we cross these boundaries, it will be another product).
  3. An approximate calculation of profitability and choice of the implementation method based on a possible payback.
  4. UI prototype and detailed user stories created to describe all the details of user interaction with our system.
  5. Analysis and description of business processes (BP) of the designed system . As a result of the analysis, we create the following documents, depending on the project:
    • user stories of the top level of abstraction
    • use cases to describe interaction scenarios between multiple systems /persons /entities
    • user flow - scripts of the user's work with the system (combine the user stories and the cases, show the complete process from beginning to end)
  6. General technical concept of the project
    • Choosing the type of architecture (monolith or micro-/nano-services)
    • Decomposition of monolithic architecture into components (for example: downloading files, sending mail, working with documents, chatting).
    • The general component-oriented technical scheme of the project. Interaction of components among themselves. (For example, you can upload from the gallery and from the chat room)
    • Non-functional system requirements: security, availability (browsers and OS), scalability, performance (server loads), constraints (business rules and corporate policies), etc.
  7. Detailed technical architecture
    • Description of the necessary services for the component. R&D and selection of compatible services. (An example for uploading files requires an API service through which to send and receive files.)
    • Breakdown for microservices
    • Scheme of interaction of services/microservices
  8. Technology stack
    • The choice of software implementation stack for each component. R&D for compatibility.
    • The solution of tech cases.
    • Selecting a hardware implementation stack (if needed)
    • Recommendations for setting up and launching the project on production
    • Compatibility analysis of UI interfaces and services
  9. Designing the stages of development and implementation of the project : the scheme of development stages is divided into stages and grouped by components/services.
  10. Process organization and team required for project implementation

Do you want to design new application or service?

Let us know what kind of project you want to create or develop. Feel free - we will be happy to advise on any professional issue and will do it absolutely for free, just give us a call or fill out the form.