Plateforme Digitale d'Entreprise / Développement sur-mesure

Slider Image

Développement sur mesure de votre plateforme digitale Python Django

Notre équipe se tient à votre disposition pour vous accompagner dans la mise en place de votre application web sur mesure.

Nous pouvons répondre à vos enjeux métiers grâce au socle technique que nous maitrisons depuis des années : Python / Django

Nos équipes maîtrisent toute la chaîne du développement : du backend au frontend, de l'hébergement à l'automatisation du déploiement et du build de l'application. Nos UI / UX apporteront leur savoir faire sur l'ergonomie de votre application métier. Nos chefs de projet vous accompagneront tout au long du projet. Les développeurs frontend s'occuperont d'intégrer les interfaces riches en collaboration avec les équipes "Backend".

Nous sommes en capacité d'accepter des projets complexes, à forts enjeux stratégiques et économiques, tout en respectant les délais grâce aux méthodes agiles.

Technologies

Méthodologie agile

Scrum est un schéma d’organisation de développement de produits complexes. Il est défini par ses créateurs comme un « cadre de travail holistique itératif qui se concentre sur les buts communs en livrant de manière productive et créative des produits de la plus grande valeur possible ».

Nos experts développent de façon incrémentale et itérative pour vous permettre de tester et valider à chaque étape. Vous avez ainsi une parfaite visibilité sur l'avancement du projet et vous pouvez faire les adaptations nécessaires pour répondre au mieux aux besoins de vos utilisateurs.

Ci-dessous figurent les différentes cérémonies qui seront mises en place lors de chaque Sprint :


Sprint Planning : le premier jour du sprint
Timebox : 1h à 1H30 par sprint en fonction de la connaissance du produit

  • Définition des objectifs du sprint (sprint goal)
  • Définition par la Scrum Team des tâches à embarquer dans le sprint planning
  • Utilisation de la vélocité de l'équipe de développement (Development Team) : pour valider ce qui est embarqué dans le sprint
  • Analyse des contraintes qui pourraient affecter la bonne réalisation du sprint
  • Choix avec le Product Owner des tâches créant le plus de valeur pour le client pour définir les priorités
  • Analyse de la capacité et des disponibilités de l'équipe pour le sprint à venir

Daily Scrum
Timebox : 15 min

Seule la Development Team y participe.
Inspection de l'équipe : ce qui a été fait la veille qui a permis d'atteindre l'objectif du sprint, les points bloquants qui pourraient m'empêcher d'atteindre l'objectif de sprint, et ce que je vais faire aujourd'hui pour atteindre l'objectif.
Update du tableau et des Radiateurs (Burndown Chat, Confidence Chart)

Refinement
Timebox : 1h par semaine

La Product Backlog Refinement permet d’affiner le contenu du Product Backlog.
Lors de la Product Backlog Refinement, le Product Owner va proposer des user-stories aux développeurs qui respecteront la définition du « Ready » préalablement défini par l’ensemble de l’équipe.
Analyse de la story / S'assurer de la bonne compréhension de la story.
Estimer la demande (planning poker). Nous utiliserons à cet effet https://www.planitpoker.com.

La Review
Timebox 1H pour un sprint de 2 semaines.

Se tiendra le vendredi matin à la fin du sprint.
L'équipe de développement présente ce qui a été fait pendant le sprint (Dans le respect du Définition of Done - DOD)
Collecte des retours client, échange sur l'incrément démontré
Inspection de l'incrément pour identifier ce qui pourrait améliorer la valeur du produit.

La retrospective
Timebox : 1H pour un sprint de 2 semaines.

Réservé à la Scrum Team
Une opportunité pour l'équipe de faire une introspection sur le sprint (ce qui s'est bien passé, ce qui s'est mal passé, comment l'améliorer)
Nous utiliserons le format RETROMAT (https://retromat.org/).
Exemples : SAD MAD GLAD, Perfection Game, Speedboat / Sailboat

A l'issue de la retro : vote de l'équipe qui doit aboutir à l'amélioration du DOD (Definition of Done) et la mise en place d'un ticket d'action à mettre au prochain Sprint pour améliorer la qualité du produit

Les outils de suivi et reporting :
- Slack
- Breeze
- JIRA
- Gitlab

Environnements et good practices

De nombreux types d’environnements sont possibles mais on retrouve couramment :

Développement
Pour le développement local sur la machine d’un développeur. C’est l’environnement le plus simple, par exemple, on n’y active généralement pas de cache, pas d’accès un service d’API externe, etc.. et en mode “DEBUG” activé.

Test
Un environnement spécial pour lancer les tâches qualité par exemple lorsque le déploiement est automatisé (via un système deCI/CD) pour bloquer une release qui inclurait des régressions.
Il est aussi souvent inclus dans l’environnement de développement pour qu’un développeur puisse contrôler son travail localement avant de livrer.

Pré-production
Qui intervient entre le développement local et la production pour présenter des preuves de concept et tester en interne des évolutions.

Recette
Il sert à pratiquer du test fonctionnel par une équipe pouvant représenter un ou plusieurs utilisateurs finaux.
Son plus grand intérêt est de temporiser l’état de la pré-production qui peut valider des concepts en interne qui ne sont pas finalement souhaitables, il sert donc de tampon.
C’est utile pour une équipe externe de validation qui suit son propre cahier des charges sinon la pré-production sera suffisante.

Production
C’est la finalité pour publier un projet.
Développement et Production sont les environnements naturels d’un projet et Pré-production est un atout pour éviter les régressions et les pertes de données en production.

Style de programmation

Le style de programmation ou “code style” est un ensemble de conventions pour définir des règles communes à tous les développeurs sur le code qu’ils produisent dans un même projet.

PEP8
Python a défini la PEP8 comme norme de référence, elle décrit les règles de base pour produire un code lisible et accessible sans brider l’ingéniosité du développeur. Lorsque la PEP8 a été absorbée par un développeur, il pourra plus aisément se confronter à l’usage de Flake8 qui est un outil implémentant l’intégralité de la norme pour sonder son code et lui retourner tous les manquements aux règles qu’il devra corriger car Flake ne modifie jamais le code lui-même.

Flake8
Lorsqu’un outil comme Flake a été intégré aux tâches qualité, les règles de la norme s’imposent assez rapidement et avec un peu d’expérience, un développeur écrira naturellement la quasi totalité de son code en les respectant.

Pair programming & review de code

Tests unitaires

Le principe des tests unitaires est de valider du code par du code dans une procédure automatisée qu’il suffit d’éxecuter par une commande unique pour effectuer un contrôle qualité d’une plateforme.
Tout projet nécessite d’être testé et le test humain est le plus naturel mais aussi le moins sûr car plus un projet est conséquent plus il nécessite de tester des scénarios différents pour chaque fonctionnalité et comportement. Les tests humains mobilisent du temps et des moyens sans garantir pour autant une qualité fiable.
C’est pourquoi il est indispensable qu’un projet ait une couverture de tests automatisés, pour le backend via des tests unitaires et pour le frontend via des tests fonctionnels.

Pytest est l’outil de référence pour exécuter des tests unitaires et les rédiger naturellement par une approche de programmation fonctionnelle.

CI CD automatisé avec déploiement des branches / feature branches

Publications

21 septembre 2023
Développement de la plateforme SMP

22 décembre 2022
Témoignage de Pierre ESTAGER, Product Owner chez Moët Hennessy

UTB : Développement d’une solution complète de pilotage à l’avancement

7 janvier 2019
Migration et reprise du site Toutabo

Créée en 2005, Toutabo est une société spécialisée dans la vente de magazines dont le site internet propose des abonnements à plus de 950 titres. Développé sur Django, le site propose de nombreuses déclinaisons sous forme de marques grises destinées notamment aux autres marques de la société ou à des comités d'entreprise. Toutabo a fait appel…

3 octobre 2018
Comège - Développement d'un configurateur en ligne d'appareils de levage

Située au cœur de la Bourgogne, à 100 Km de Lyon, la société COMEGE est une entreprise familiale spécialisée dans la conception et la réalisation d’appareils de levage. Composée d'une quarantaine de personnes, COMEGE réalise un chiffres d'affaires de 8,5 miliions d'euros et s'impose comme le leader français en potences,…