Remco Snijders
Quatronic
Published in
4 min readJan 7, 2022

--

At Quatronic, we work on a range of applications for our clients. As this number of applications grows, the challenge of delivering consistency and high quality requires more and more attention. While it seems convenient to run every project as an isolated initiative with its own team, this does pose the risk of reinventing the wheel and not learning from each other’s experience.

A number of activities have been put in place to constantly increase instead of decrease quality. We organize trainings and knowledge sharing sessions, but we are also conducting product reviews.

Product reviews

During the product reviews, development teams that have worked on different applications cross-check each other’s work. It can be seen as an extension of the peer review, which is part of a regular development sprint. While a peer review is focused on checking the functional and technical scope of a story on a detailed level, a product review takes a more holistic approach and focuses on the application and its architecture.

The benefits of doing product reviews are threefold:

  • The reviewed product gets a list of potential improvements, which are picked up to increase the product’s quality.
  • The reviewed product teams learn from the perspective of the reviewers. We consider the feedback part of our ‘learning on the job’ training program which constantly increases the skill level of all our consultants.
  • The reviewing product team performs a deep dive analysis of an application they haven’t seen before, also learning from the choices that have been made by the developing team.

The reviews are structured around a list of best practices. These best practices come from OutSystems (the development platform we use), our own experience and constant improvement. While best practices are initially used to design all elements of an application, we believe they should constantly be reviewed and sharpened. Our best practices are grouped into six categories : architecture, maintainability, documentation, usability, performance and security.

Architecture

As described in one of our earlier articles, architecture is fundamental to your application landscape.

To review this category, we look at a range of questions. Is the application landscape set up in a modular way? Are references between modules logical, and can they easily be reused and extended? Is there correct naming and separation of modules?

An important tool in performing this analysis is OutSystems’ Architecture Dashboard. This dashboard provides us an overview of all best practices violations as well as their causes and impact.

Maintainability

While a solid architecture can dramatically increase the maintainability of an application landscape, it’s not all that counts. We also look at minimizing the effort that needs to be spend in the drive phase of a product as well as in subsequent development phases. Are validations and clear validation messages in place, to prevent errors and speed up error recovery? Are pieces of styling and logic reused instead of duplicated?

Finally, the readability of our (low) code also impacts the transferability and thereby maintainability of a product. Does logic have the right granularity? Is complex logic annotated with clear comments?

Documentation

A major benefit of low code is that the application model itself is already one form of documentation. The visual page previews, logic flows and entity-relationship diagrams immediately show the mechanics of a module.

However, the rationale behind development decisions and the interconnections between functionality are two perspectives on documentation that are not directly covered by the visual representation of code. We therefore highly value having both functional and technical documentation.

Usability

Usability is a topic that — depending on the use case — could deserve its own isolated research project. Understanding whether the application adheres to usability heuristics and validating whether the experience fits the user’s needs are two important instruments to measure the effectiveness of an application.

Unfortunately, all low code projects come with limited time and budget. Not all budgets allow for extensive user research and user testing, and not all projects have a strong focus on this topic. All projects can benefit from an expert review, in which we compare the user interface and experience against general and our specific best practices.

Performance

Low code platforms come in many sizes and varieties. One important tradeoff decision that needs to be taken when selecting a platform is that between (further increased) speed of development and control of performance. We went for OutSystems, an enterprise-grade platform that allows us to completely control how and when data is loaded and processed, and thereby enables us to optimize performance for the tasks at hand.

This does mean that we need to review the performance of our applications. Have we set up efficient queries? Are the database roundtrips minimized? Is the data model optimized?

Security

Last but not least, security. Luckily, this is a topic that’s highly simplified when using a low code platform. User management, session management, API authentication are all supported out-of-the-box and the configuration that needs to be done is minimal.

But, even minimal configuration can go wrong. We extensively check the configuration of roles, the (additional) encryption of data, and the protection from intercepting requests. These checks give us the comfort of having safe applications and allow us to easily communicate to our clients how we, and the platform — handle security.

There you have it, a look behind the scenes of our product reviews. Combined with our other quality assurance and knowledge management initiatives, these reviews really help us to stick to high quality standards while delivering a tailor-made solution to each of our clients.

Want to learn more? Feel free to contact us!

--

--

Remco Snijders
Quatronic

Likes designing, building and talking about software. Does this at Quatronic.