User:Elfix/Subcontractor service agreement

From Meta, a Wikimedia project coordination wiki

Quelques idées sur comment contracter un service de sous-traitance de développement flexible.

Ceci permettrait d'implémenter un fonctionnement comme suit :

  1. Chaque demande d'évolution est formalisée sur un outil (ex. Phabricator) ;
  2. Pour les demandes pour lesquelles nous reconnaissons un besoin en sous-traitance (ex. urgent ; travaux importants ; etc.), nous les marquons afin de les signaler à notre sous-traitant ;
  3. Le sous-traitant émet des propositions financières sur des demandes et les justifie (ex. 40 h sur tel ticket) ;
  4. Une personne / un comité désigné accepte les propositions : le sous-traitant peut donc commencer les travaux ;
  5. Le sous-traitant justifie ses travaux sur les tickets concernés (forks / branches spécifiques sur un GitHub, diffs, etc.) ;
  6. Une personne / un comité désigné accepte les travaux rendus : le sous-traitant peut donc nous facturer ces travaux.

Contour de la spécification de services de sous-traitance[edit]

Le document est une spécification de sous-traitance. Il définit le périmètre concerné (p.ex. tel gadget, telle extension, etc.) par un ensemble de travaux qui seront à réaliser dans une durée donnée et pour un cout maximal donné (qui pourrait ne pas être atteint à terme).

Le détail des travaux n'est pas (entièrement) connu au moment de la soumission de cette spécification, ce qui signifie qu'il faut en sus décrire le processus d'acceptation de chaque lot de travail spécifique.

Processus[edit]

Un certain nombre de processus peuvent être décrits dans cette spécification, et permettent de formaliser :

  • les demandes individuelles d'évolution et les propositions financières du sous-traitant ;
  • l'acceptation, par une personne/un comité désigné, des propositions financières du sous-traitant ;
  • les possibles réajustements financiers (notamment dans le cas où l'estimation serait à revoir) ;
  • l'acceptation des travaux individuels, une fois encore par une personne/un comité désigné.

Choix du sous-traitant[edit]

Le choix du sous-traitant ne se fait qu'une seule fois, et le sous-traitant reste le même sur la durée du contrat. Par exemple, si le contrat dure un an, alors le sous-traitant sera engagé sur une durée d'un an.

Le contrat n'est pas renouvelable, il faut donc un nouveau contrat pour renouveler cet engagement. La durée du contrat dépend de nos perspectives de travail sur le périmètre concerné et du montant alloué. Une durée trop courte ne nous permettrait pas d'atteindre le cout maximal de la prestation et le sous-traitant sera hésitant à accepter un contrat portant sur un chiffre d'affaire trop théorique. Une durée trop longue avantage le sous-traitant. Une durée typique est d'un an (par exemple : de janvier à décembre si cela nous facilite notre suivi budgétaire).

Le sous-traitant peut être différent d'un contrat à l'autre.

Obligations mutuelles[edit]

Le donneur d'ordres engage le sous-traitant en disponibilité pendant une durée donnée. Le sous-traitant doit donc se rendre disponible sur toute la durée de sa prestation, et l'ensemble des travaux demandés doit être réalisé avant la fin du contrat de services. Un calendrier spécifique peut être contractualisé avec le sous-traitant, mais il peut être complexe à mettre en œuvre si l'on ne le connait pas en début de prestation.

Le donneur d'ordres s'engage à donner du travail au sous-traitant sur un montant minimal. La prestation porte donc à la fois sur un cout minimal et un cout maximal. Cela permet de donner une incentive au sous-traitant. Si le donneur d'ordres manque à cet engagement, le montant minimal annoncé sera dû, même en l'absence de travaux à réaliser.

Calendrier financier[edit]

Un calendrier peut être le suivant (suggestion) :

  • Facturation tous les trimestres / tous les semestres sur les montants réellement imputés par le sous-traitant
  • Facturation d'un montant minimal en début de prestation.

Proposition de document-type[edit]

Ce qui suit est une proposition de spécification de services de sous-traitance à compléter / corriger / améliorer.

Définitions[edit]

  • PRESTATAIRE
  • SERVICE

Objet[edit]

Cette prestation porte sur un service de maintenance applicative (ci-après le SERVICE) portant sur le projet [Nom du projet].

Le service de maintenance applicative inclut les items suivants :

  • Évolutions mineures (main d'œuvre ne dépassant pas 50 heures).

Durant la durée d'application de ce SERVICE, le PRESTATAIRE sera en mesure d'activer une main d'œuvre au bénéfice de ce SERVICE à hauteur de [À définir] heures.

Le contrat se termine à la fin de sa durée d'application ou dès que le nombre maximal d'heures de main d'œuvre a été atteint.

Périmètre des travaux[edit]

Cette prestation ne porte que sur les items suivants :

  • Indiquer les projets GitHub concernés, les pages .js de MediaWiki, etc. Être le plus précis possible, car cette liste est contractuelle.

À l'exception d'un travail en cours, le PRESTATAIRE ne peut pas invoquer d'exclusivité sur ces supports, que d'autres individus peuvent être amenés à éditer sur toute la durée du SERVICE. Il est de la responsabilité du prestataire de récupérer les dernières versions de ces supports avant de réaliser ses travaux.

Processus[edit]

Demande d'évolution (pour développement sous-traité)[edit]

  • Indiquer qui est habilité à demander une estimation

...

Estimation[edit]

  • Indiquer les obligations du prestataire: combien de temps pour estimer une demande

...

Acceptation de l'estimation et lancement des travaux[edit]

  • Indiquer les obligations de WMFr - combien de temps pour accepter ou rejeter la demande
  • Une fois l'acceptation prononcée, le montant proposé est soustrait du ballon

...

Réception des travaux[edit]

...

Moyens[edit]

  • Phabricator WMF pour la gestion du projet
  • Github

...

Obligations mutuelles et pénalités[edit]

...

Propriété intellectuelle[edit]

...

Délais[edit]

...

Facturation[edit]

La facturation a lieu tous les 3 mois et couvre donc la période précédant chaque fin de trimestre, soit :

  • janvier-mars ;
  • avril-juin ;
  • juillet-septembre ;
  • octobre-décembre.

La facturation ne se fait que sur les items dont la réception a été prononcée (cf. #Réception des travaux).

Les factures doivent être envoyées à l'adresse suivante : ...

Après réception d'une facture valide, le paiement a lieu selon les modalités suivantes : ...