Capacité d’équipe par sprint : concentration et points
Transformez les disponibilités individuelles en engagement réaliste avant la planification.
Lancer gratuitement
Saisissez les heures disponibles de chaque membre, appliquez un taux de concentration commun et obtenez la capacité utile en heures ou en points. Le calcul distingue la disponibilité brute du temps de livraison effectif afin d’intégrer réunions, assistance, coordination et autres activités inévitables. Le détail par personne facilite la validation collective et le report du résultat dans une feuille de planification, une prévision ou un registre de capacité.
Partez des disponibilités réelles
Une prévision fiable commence par les heures que chaque personne peut réellement consacrer au sprint. Déduisez les congés, jours fériés, formations, rendez-vous connus, récupération d’astreinte et affectations à d’autres projets. Vous obtenez ainsi une base transparente que l’équipe peut contrôler. Le calcul additionne des emplois du temps différents sans supposer des horaires identiques. Une personne à temps partiel, un spécialiste partagé et un membre à temps plein peuvent figurer dans le même plan. Les noms identifient les lignes et doivent être uniques. Une disponibilité nulle reste possible si sa présence apporte un contexte utile. Le total représente le budget de temps avant la prise en compte des activités hors livraison planifiée.
Représentez la réalité avec le taux de concentration
Le taux de concentration indique la part des heures disponibles destinée à la livraison planifiée. Un taux de 70 pour cent réserve cette part au sprint et reconnaît dans le solde les cérémonies, revues, échanges, demandes d’assistance et interruptions. Le même taux est appliqué à tous, tandis que les heures initiales et effectives restent visibles. Appuyez-vous si possible sur plusieurs sprints représentatifs, puis réévaluez le taux lorsque le contexte évolue. Une nouvelle équipe, une période de lancement ou une astreinte intense peuvent justifier une autre hypothèse. Seules les valeurs comprises entre zéro et cent sont acceptées. Toute valeur extérieure est rejetée afin qu’une faute de saisie ne produise pas un engagement trompeur.
Choisissez les heures ou les points
Choisissez les heures pour une planification directement fondée sur le temps. La capacité correspond alors aux heures disponibles multipliées par le taux de concentration. Utilisez les points uniquement si votre équipe possède déjà une relation locale stable entre heures effectives et point. Le calcul divise les heures effectives par ce ratio. Cette conversion est une convention de planification, et non une mesure universelle de productivité; elle ne permet pas de comparer des équipes. Le détail présente les heures et la contribution de chaque personne, tandis que le total demeure la référence du sprint. Les fractions sont conservées avec un arrondi stable à quatre décimales; votre équipe peut ensuite arrondir l’engagement selon sa propre règle.
Cas d’usage
Préparer la planification
Convertissez les horaires corrigés des absences en capacité vérifiable avant de choisir le backlog.
Simuler un changement d’effectif
Comparez la capacité lorsqu’un spécialiste partagé, une arrivée ou une astreinte modifie les heures.
Consigner les hypothèses
Documentez disponibilités, taux, ratio et contributions avec l’engagement du sprint.
Questions fréquentes
Que représente le taux de concentration ?
Il s’agit de la part des heures disponibles consacrée à la livraison planifiée après les charges courantes.
Peut-il dépasser 100 pour cent ?
Non. La plage va de 0 à 100; toute autre valeur renvoie une erreur de saisie.
Comment calculez-vous les points ?
Les heures effectives sont divisées par le ratio d’heures par point fourni. La valeur par défaut est six.
Peut-on comparer les points entre équipes ?
Non. Ce ratio est une convention locale, pas une norme de productivité.
Que faut-il exclure des disponibilités ?
Excluez congés, jours fériés, formations, autres affectations et tout temps indisponible pendant le sprint.
Quel est le prix d’un calcul par API ?
Chaque requête API coûte $0.002. Le calcul est également accessible directement sur cette page.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/biz/team-capacity-planning \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"team_members":[{"name":"Avery","available_hours":60},{"name":"Morgan","available_hours":48},{"name":"Riley","available_hours":72}],"focus_factor":70}'const res = await fetch("https://api.kit.forhosting.com/biz/team-capacity-planning", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"team_members": [
{
"name": "Avery",
"available_hours": 60
},
{
"name": "Morgan",
"available_hours": 48
},
{
"name": "Riley",
"available_hours": 72
}
],
"focus_factor": 70
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/team-capacity-planning",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"team_members": [
{
"name": "Avery",
"available_hours": 60
},
{
"name": "Morgan",
"available_hours": 48
},
{
"name": "Riley",
"available_hours": 72
}
],
"focus_factor": 70
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/team-capacity-planning", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"team_members":[{"name":"Avery","available_hours":60},{"name":"Morgan","available_hours":48},{"name":"Riley","available_hours":72}],"focus_factor":70}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"team_members":[{"name":"Avery","available_hours":60},{"name":"Morgan","available_hours":48},{"name":"Riley","available_hours":72}],"focus_factor":70}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/team-capacity-planning", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"team_members": [
{
"name": "Avery",
"available_hours": 60
},
{
"name": "Morgan",
"available_hours": 48
},
{
"name": "Riley",
"available_hours": 72
}
],
"focus_factor": 70
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.team_capacity_planning",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |