Quality of Solutions

Difficulty: Easy

The quality of the WidgiLabs solutions is of paramount importance for the team. We’re proud to develop solutions that are not only visually appealing but that “behind the scenes” obey best practices. We believe that standardizing the development process is extremely important. A well-defined flow ensures efficiency in the development process and allows collaboration between team members as well as adding new ones faster and more efficiently. Some of the actions followed by the team with the aim of managing the quality of the project are described in this section.

Coding Standards

The Code is developed based on good programming practices and standards established in the WordPress community: (https://make.wordpress.org/core/handbook/best-practices/coding-standards/)

Version Control

Git is used for version control. There is a master branch that has the stable version and is sent to production. New features are developed in a specific branch created from the master and tested in staging/dev.

Code Review

Development is done in specific feature branches created from the master branch. Whenever a functionality has been tested in Staging and is ready to go into production, the developer makes a pull request (PR) which is basically a request to review your code before it goes into production. If the PR has any feedback, the developer must make the necessary corrections and update the PR before it enters the master branch.

This process guarantees that the code is always reviewed, that we prevent potential failures and that the code is revised and subject to performance optimizations before going into production. This is also a way to share knowledge among the team members and take advantage of each other’s knowledge.

Urgent hotfixes may be necessary and thus will be deployed with a later code review/refinement if needed.  

Staging/Dev environment

The team always maintains three environments: the place where the local development takes place, the one of Staging where the tests and validation of the client are made and the production that corresponds to the final site.

Tests

Whenever a new functionality is developed, tests are carried out in the Staging environment. Before going into production there are elements of the team exclusively dedicated to testing the platform, not only in terms of functionality but also performance and load tests. These elements are typically people different from those who did the development to avoid possible bias. It is a fundamental phase of fine-tuning solutions.

Continuous Delivery Pipeline

Whenever a commit is made to the dev branch an automated pipeline will deploy to the Dev environment. 

Whenever a PR is approved and merged into master an automated pipeline will deploy to the Production environment. This pipeline can be manually stopped or reverted if needed.

Back to: Project Management