Login mot de passe
 
Menu Principal
Soutenir SQLManagerX
Certains nous ont demandés comment nous aider voici un lien pour nous soutenir


SQLManagerX
Dossiers
Accès SQLManagerX
Découvrez



SQLManagerX Pro


Qui est en ligne
25 utilisateur(s) en ligne (dont 1 sur Suite SQLManagerX)

Membre(s): 0
Invité(s): 25

plus...
Partenaires

http://www.TeeCod.fr
TeeCod


http://www.microsystem.fr
Microsystem


http://www.dag-system.fr/?lang=fr#
DAG SYSTEM


Suite SQLManagerX
[Retour | Afficher cette page en format imprimable]

Page soumise par manu - [Note : 8.00 (3 votes) | Noter ça !]


Introduction

Après trois années de développement autour de SQLManagerX, notre équipe a souhaité effectuer un travail autocritique sur son mode de fonctionnement actuel. Le résultat de cette analyse est présenté dans ce document. Le but de celui-ci n’est pas de refaire un historique du projet SQLManagerX mais vraiment de faire un état des lieux et de se donner une vision du projet à un an.

Etat des lieux SQLManagerX

SQLManagerX est actuellement en Version 5-RC (ReleaseCandidate). Le projet est compatible avec un nombre assez conséquent de bases (MySQL, PostgreSQL, Oracle, FireBird, SQLite, ADO).

L’équipe projet est composée de 3 personnes :

  • Frédéric Emprin,
  • Daniel Vauterin,

Les activités s’articulent autour de 3 pôles :

  • Développement de DLL,
  • Développement de classes WinDev dites classes d’accès et de leur imbrication dans la classe mère SQLManagerX,
  • Amélioration constante de la classe mère SQLManagerX (revue de code, optimisation, réutilisation).

Introduction du concept découvert

Plutôt que de faire du plagiat, je vous conseille fortement la lecture du document de Regis Medina : "L’Extreme Programming".

Je vous cite les principaux éléments du fonctionnement de l’Extreme Programming (repris dudit document)

  • Cycles itératifs pilotés par le client : Le projet progresse au rythme d’itérations très courtes, dont le contenu fonctionnel est déterminé par le client.
  • Travail d’équipe auto-organisé : L'équipe travaille réellement... en équipe. Les développeurs organisent eux-mêmes leur travail, interviennent sur l’ensemble du code, travaillent systématiquement en binômes, et synchronisent leurs développements plusieurs fois par jour.
  • Programmation pilotée par les tests : Les développeurs écrivent des tests automatiques pour chaque portion de code qu’ils conçoivent, et ils s’appuient sur ces tests pour affiner et améliorer sans cesse la conception de l’application sans craindre de régression.

En quoi SQLManagerX gère l’XP ?

Ci-dessous un tableau reprenant les principaux points présentés dans le document de Regis Medina. On pourra remarquer que même sans connaître l’XP, nous avons réussi à en exploiter certains de ses principes ! Ceci à notre grand bonheur.

Pilotage du projet

 

Le rôle de « client XP »

Notre client c'est vous : l'utilisateur développeur mais aussi nous. Nous sommes donc dans certains cas juge et partie.

La phase initiale d'exploration

La phase initiale de SQLManagerX ne concernait que la base MySQL. Le périmètre était donc faible et la phase initiale a donc été très courte.

Planification du projet

La planification projet n'existe pas en tant que telle. Nous priorisons cependant les évolutions.

Première mise en production

Elle date maintenant… et le projet à changé de nom.

Livraisons suivantes

A chaque demande utilisateur ou remontée d'anomalie, l'équipe tente de répondre dans de délais brefs. C'est le versionning rapide. Un autre versionning interne prévoit des mises en place de nouveautés fréquemment.

Suivi du projet

C'est un des points sur lequel nous nous devons de progresser. Sauf que pour vous fournir de nouvelles fonctionnalités il nous faudrait un retour plus soutenu de la part de la communauté utilisatrice.

Tests de recette automatiques

SQLManagerX V4 a permis de créer une méthode TestAll. Cette méthode reprend toutes les méthodes des classes d'accès utiles à SQLManagerX. Ceci à de multiples avantages :

  • Toute nouvelle classe d'accès connaît donc les méthodes minimales pour être compatible SQLManagerX.
  • TestAll fournit le résultat attendu. Donc on sait si le comportement de la classe candidate est correct.
  • En cas de modification de la classe d'accès, on peut facilement tester la régression éventuelle de celle-ci.

Travail d'équipe auto-organisé 

Définition et partage des tâches

Les tachées sont parfaitement connues de l'équipe de développement, chacun ayant sont domaine de prédilection (DLL, WinDev, Documentation utilisateur).

Responsabilité collective du code

L'équipe entière s'attache au bon fonctionnement de l'ensemble des classes qui vous sont fournies.

Travail en binômes

Chaque évolution ou idée est présentée aux deux autres. Si cette idée se confirme, l'instigateur la développe et la soumet aux deux autres. C'est ainsi que nos nouvelles fonctionnalités naissent d'un commun accord global.

Stand-up meetings

La technologie de nos jours permet une communication accrue. Nous utilisons allègrement le forum spécifique SQLManagerX pour évoquer l'état d'avancement des travaux de chacun (pas tous jours néanmoins).

Le rôle du coach

Nous sommes 3 coachs.

Règles de codage et métaphore

En imposant un nommage des méthodes dans les classes d'accès on s'assure d'une uniformisation des développements

Intégration continue

A chaque petite évolution ou correction le projet est mis à jour.

Rythme durable

Trois ans déjà …

Programmation pilotée par les tests

 

Mise en place intensive de tests unitaires

La période où vous effectuiez nos tests unitaires est révolue. Les tests de non régression sur les classes existantes sont en place. La création d'un nouvel accès n'est effective que lorsque ce qui est mis à disposition fonctionne.

Remaniement du code

SQLManagerX étant en open source, les sources peuvent être modifiés, retravaillés par tout développeur. Toute aide est la bienvenue.

Conception simple

Même si l'architecture SQLManagerX semble complexe elle est cependant abordable : une classe mère qui encapsule des classes d'accès qui communiquent avec une base de données au travers d'une DLL.

 



[Retour | Afficher cette page en format imprimable]

Page soumise par manu - [Note : 8.00 (3 votes) | Noter ça !]
Copyright: © 2004 By SQLManagerX
WinDev©, WebDev© et HyperFile© sont des marques déposées par PCSoft.
By Firetox
IMAGO:THEMES Theme Design by IMAGO DESIGN CORP.