Reference architectures: key pieces to accelerate development

In .Software, Blogfest-en by Baufest

In these times in which software channels a large part of business interactions, the fact of being able to speed up developments provides an important competitive advantage.

Wednesday 23 - November - 2022
desarrollador de software haciendo prueba en una computadora

Today companies need to offer new services and functionalities to customers who are increasingly demanding and who demand excellent experiences.

This explains, among other things, the success of low-code platforms, which are one of the development accelerators that are currently gaining the most momentum. With their drag-and-drop tools, preconfigured pieces, and visual interfaces, these platforms allow people with no coding knowledge (“citizen developers”) to participate in building apps, greatly shortening development processes.

In addition to low code, another central piece to take into account when speeding up developments are reference software architectures and why they are considered as development accelerators. Basically, a reference technological architecture avoids having to “reinvent the wheel” in each projectand they allow the development team to follow the good practices learned over the years.

Software Architecture

At Baufest we build different reference architectures so that our teams can use them, adjusting them to the needs of their development projects. We currently have reference architectures for all the main technologies we work on (three backend, two frontend and three mobile). There are a total of eight reference architectures for the most widely used mobile platforms, microservices, and web technologies. With this we cover almost the entire spectrum of what is required in the current business market.

In other words, according to what the client requests, we have a preconfigured technological architecture to show them, with prior validation, which means that they do not have to think about which architecture to use in each case.

Development processes

Depending on the project, having a reference architecture could save up to a month or 10% of the work required, since the team already knows where to go from the start and does not have to think and rework certain parts of the architecture as it progresses.

When evaluating these reference architectures, it is important to consider:

  • They are made with modern technologies.
  • They include standards and good security practices.
  • They have all the traceability and monitoring issues already pre-built.

Although a reference architecture is obviously not equivalent to a minimum viable product (MVP), it is not something totally theoretical either, since it includes, for example, diagrams, documentation, and code, which coexist and enhance each other. For example, the source code already has very generic security specifications and examples so that the development team can very quickly start building specific functionality for each client.

Finally, these reference architectures are not built once and for all either: they require a governance model similar to open-source projects in order to maintain them over time and not become outdated.