At 11:31 15.06.2006, you wrote:
merci stéphane, cela me donne des arguments.
En réalité, Elie était intervenu à l'université
lors d'un conseil et avait présenté rapidement
jahia5. Le résultat est que l'on me presse pour
savoir quand le portail de l'université sera
sous la version 5. Elie avait avancé des dates
de sorties, qui pour de bonnes raisons
techniques de stabilité (je n'en doute pas) ne sont pas suivies.
Je peux gérer le coté "emotionnel" du passage de
version en expliquant l'impact que pourrait
avoir une version non stable sur le portail.
Mais j'ai aussi le coté "finance" à anticiper où
je dois préparer une note pour les prochains
budgets. Mon soucis de deadline est pour éviter
de répondre à mes interlocuteurs qu'il faut
attendre "demain" pour savoir si la version stable est sortie.
Et oui, et oui, je ne connais que trop bien la
question (et Elie aussi) vu qu'on me la pose tous les jours ;-)
Il existe malhereusement un nombre de variables
tellement grands afin de pouvoir tenir des délais
lors d'un développements d'un logiciel complexe
que je pense personnellement que la "science"
informatique (si c'en est vraiment une) n'a pas
les outils aujourd'hui pour raisonnablement
pouvoir le faire. Quand un Microsoft décale de
quasi 3 ans la sortie d'un Windows Vista ce n'est
certainement pas dû à un possible manque
financier ou de ressources compétentes (n'ont il
pas d'ailleurs le plus haut taux de Phd en
"Computer Science" du monde?). Ibid pour la
Playstation 3 ou tout autre large projet
informatique. Et ceci avec des ressources
100% interne et avec quasiment un budget illimité.
Dans le monde du "Professional Open Source" (si
on peut le qualifier aujourd'hui ainsi), le
nombre de variables à prendre en considération explosent encore plus:
- les "committers" externes à Jahia Solutions
Group ont leur propre délai que nous ne pouvons pas contrôler.
- les "sponsors" de nouvelles fonctionnalités (cf
license de Jahia) ont également leur propre
planning de mise en production et leurs propres
demandes de rajouts/modifications de GUI, etc, etc...
- les projet open source sur lesquels nous nous
appuyons ont également leur propre ordre du jour
et même si la plupart de "professionalisent"
aujourd'hui (=il y a une société commerciale avec
des développeurs dédiés derrière) beaucoup
restent encore maintenus par des bénévoles. Et je
ne parle même pas des bugs que l'on découvre dans
ces derniers au fur et à mesure ou des
fonctionnalités qui existent sur papier mais qui
ne marchent pas du tout dans la pratique. Allez faire des spéc ensuite!
- Jahia lui-même comporte plus de 1 million de
ligne de code ce qui rend évidemment les tâches
de débugging plus lentes et fastidieuses. Le
moindre changement ou le moindre upgrade d'une
librairie back-end pour corriger un
dysfonctionnement peut ensuite avoir moults
effets de bord non prévisibles initialement (ou
du moins difficilement prévisibles) vu que
quasiment plus personne ne maîtrise l'intégralité du code source.
- le nombre d'environnements à prendre en
considération explose. Ceci passe par quasiment
toutes les bases de données relationnelles
existantes sur le marché en passant par les
différentes JVM, les différents serveurs
d'application, les différents serveurs LDAP ou
AD, les différentes méthodes de SSO... et je ne
parle même pas des installations en cluster sur
du windows, du linux ou du Solaris. Bref chaque
round de tests prend de plus en plus de temps.
- et encore évdimment beaucoup d'autres facteurs
plus classique (maintenance des vieilles
versions, réassignation des effectifs sur des
tâches de support, de formation, de dépannage,
etc plutôt que sur la nouvelle version, sortie de
nouveaux standards, nouvelles fonctionnalités non
prévues initialiement mais offertes par les
concurrents et donc à absolument intégrer, etc, etc).
Bref ce ne sont évidemment pas des excuses mais
juste pour signaler que mettre une date derrière
une équation avec des centaines de variables pas
forcément toute maitrisables ne va pas de soi...
Enfin bref je pense qu'on peut en discuter encore
pendant des heures et il existe des dizaines de
thèses, de théories, de méthodologies qui ont
tenté d'être appliquées ces dernières années dans
le monde IT sans vraiment plus de succès l'une que l'autre ;-)
Cordialement,
Stéphane