The Development team at Enable have been developing and customising SugarCRM solutions since 2004. We use the Agile Software development method, which is where requirements and solutions evolve through collaboration between self-organising and cross functional teams. This method promotes adaptive planning, evolutionary development and delivery, a time boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle.
We commit all of our changes to a development branch of the application and the code is both reviewed and tested prior to deployment to the master branch. A rollback of code is always possible due to the way the code is deployed, but we back up our development environments on a regular schedule. All of the code written by our engineers is unit tested and peer reviewed before deployment to a production environment. We utilise GitLab for continuous integration to ensure smooth deployments and to minimise system outages. We use a git branching strategy that allows us to roll out incremental features and quickly roll back deployments should any unforeseen issues arise.