Single Post

WEB DEVELOPMENT STRATEGY (for example)

Project: development of a web application in the field of big data. The goal is to create a system that will serve as the common starting point for several other applications. This component will encompass the management of all users as well as different projects and applications related to big data.

Based on the expression of client needs, our teams estimate the work to be done based on the provided elements. During this phase, the expertise of our collaborators is essential to define the winning strategy. The first task is to build the basic structure of the application using the selected technologies:

  • Gitlab development platform; 
  • Frontend with Angular;
  • Backend with Flask;
  • Identity and access management system with Keycloak;
  • Docker containerization system.

The Scrum methodology provides complete control of progress and agile management. A 2-week sprint advancement approach has been adopted. Each sprint is initiated by a kickoff meeting and concludes with a sprint review meeting. With this strategy, DFM can accommodate possible evolutions over time and ensure dedicated project management.

Initially, continuous integration was not utilized. It was a deliberate choice: never fix something that isn't broken. Additionally, the original idea was to integrate into the client's continuous deployment system. Since this system was not functional due to reasons beyond our control – the client wished to manage this aspect – we temporarily addressed this issue by setting up a server and an automatic deployment system. This adaptability allowed us to avoid losing too much time in the initial interface validation phases while giving the client the ability to validate our work and progress timely on the project.

Right after the first sprint and initial validations, to ensure not losing the work done, we implemented the base of the continuous integration system: validation through Merge Requests, automated testing for each task (during Merge Requests), and automatic deployment after task validation. This enabled us to capitalize on all the work done from the beginning without losing our development speed. All of this with a single objective: achieving the best possible quality within the allotted time.

After 8 weeks of work, equivalent to 4 sprints, we completed the first phase of development on time. Within this timeframe, we created a comprehensive and customized system for connection, password management, user administration, password policy management, as well as the basic microservice architecture (currently only for authentication) and interface design along with the language system with two added languages and their translation files (English and French).

The implemented quality approach resulted in no bugs reported after 2 months of testing at the client's site. The objective now is to add the various missing elements.