Pour garantir à ses clients une qualité maximale dans le cadre des projets logiciels qui lui sont confiés, OSInet met en œuvre un assortiment de techniques visant à maximiser la qualité et la traçabilité du processus de développement, qu'elle mène par défaut en mode Agile SCRUM.
Gestion de versions et de configuration
OSInet maintient le code source de ses développements sous le gestionnaire de versions Git, qu'elle exploite sous le modèle de branche « git flow », séparant les branches de production, développement, et les branches individuelles par fonctionnalité et par bogue.
Ceci présente plusieurs avantages au regard de la qualité et de la traçabilité, comme la possibilité de revenir en arrière à tout moment en cas d'anomalie sur une version et la visibilité sur l'origine des modifications avec les notes de mises à jour. Cela permet aussi la copie et le déploiement des sources par une connexion SSH.
Outillage
- Postes de travail des développeurs sous MacOS X et/ou Linux Ubuntu, avec Git et divers outils associés (comparateur
meld
, gitk
, tig
...)
- Serveur de développement interne et serveurs d'intégration/recette sous Linux Debian, avec les outils Git en mode texte (
git
, tig
)
- Serveurs de dépôts Git :
- Github : http://github.com/OSInet
- Unfuddle : http://ffr.unfuddle.com
- Gitweb public : http://git.osinet.eu/
- Gitweb privé : http://git2.osinet.eu/
Gestion des tickets et de l'activité
OSInet utilise une gestion de tickets accessible par le web pour tous ses projets. Si le Client ne souhaite pas l'utilisation des ses outils spécifiques, nous utilisons le service SaaS Redmine d'Unfuddle, qui permet de lier les tickets avec les « commits » dans Git pour faciliter l'analyse des changements.
Comme support Kanban, nous recommandons Trello, particulièrement adapté pour les méthodes agiles. Le but est de pouvoir classer les requêtes par nature (bogue, demande de fonctionnalité, demande d'assistance etc.), par importance, par projet, par composant de projet, avec un découpage spécifique projet par projet, en évitant la surallocation. Toute question et tout suivi est horodaté et marqués de l'identifiant de l'intervenant concerné.
Outillage
- Trackers clients :
- Github : http://github.com/OSInet
- Unfuddle : http://osinet.unfuddle.com
- Tracker interne Drupal « Project » : http://project.audean.com/
- Kanban Trello : https://trello.com/osinet
Qualité des logiciels réemployés
Lorsque nous constatons des anomalies dans les outils FLOSS utilisés, nous les remontons aux mainteneurs de ces outils, et contribuons lorsque cela est possible les correctifs associés.
Cette approche permet d'offrir à la clientèle d'OSInet la meilleure probabilité de correction par les développeurs amont des anomalies découvertes lors de leur mise en œuvre sur les projets clients, apportant ainsi la meilleure valeur possible pour les offres de maintenance.
Elle est rendue possible par le fait qu'OSInet conserve la propriété des codes sources développés et les transfère à ses clients sous une licence libre.
Une liste des projets auxquels nous avons contribué au fil des ans est détaillée dans le document au chapître « Les technologies d'OSInet ».
Outillage
- L'outillage utilisé pour améliorer les logiciels sur lesquels nous travaillons est détaillé dans la méthodologie d'audit de code.
- Les projets libres à la qualité desquels nous avons ainsi contribué sont :
- PHP: Doctrine DBAL, Doctrine MongoDB ODM, Drupal, Monolog, Silex Framework, Symfony2
- Google Go (Golang): BeeGo
- Divers: Apache HTTP Server, FirebirdSQL, MongoDB.
- Nous avons aussi contribué aux logiciels propriétaires Delphi (Borland, Embarcadero) et Paradox (Borland, Corel).
Sécurité des développements
La sécurité étant un élément essentiel de la qualité des développements, nous avons élaboré notre propre guide interne de développement, dont une version est jointe dans le document « Sécurité Web ».