Capacità del team per sprint: focus e story point
Trasformi la disponibilità individuale in un impegno realistico prima della pianificazione.
Esegui gratis nel browser
Inserisca le ore disponibili di ogni componente, applichi un fattore di focus comune e ottenga la capacità utile in ore o story point. Il calcolo separa la disponibilità lorda dal tempo effettivo di consegna, riconoscendo riunioni, assistenza, coordinamento e altre attività inevitabili. Il dettaglio individuale agevola la revisione con il team e il trasferimento del risultato in un foglio di pianificazione, una previsione o un registro della capacità.
Parta dalla disponibilità reale
Una previsione affidabile parte dalle ore che ogni persona può realmente dedicare allo sprint. Prima dell’inserimento sottragga ferie, festività, formazione, appuntamenti noti, recuperi di reperibilità e incarichi su altre iniziative. Otterrà una base trasparente che il team può verificare. Il calcolo somma orari diversi senza presumere giornate identiche. Una persona part-time, uno specialista condiviso e un componente a tempo pieno possono convivere nello stesso piano. I nomi identificano le righe e devono essere univoci. È possibile indicare zero ore quando mantenere la persona nell’elenco offre un contesto utile. Il totale disponibile rappresenta il budget temporale prima dell’adeguamento per le attività estranee alla consegna pianificata.
Rappresenti la realtà con il fattore di focus
Il fattore di focus è la percentuale del tempo disponibile destinata alla consegna pianificata. Un valore del 70 per cento riserva tale quota allo sprint e riconosce nel resto cerimonie, revisioni, collaborazione, assistenza e interruzioni. Il calcolo applica un solo fattore a tutti e mostra sia le ore iniziali sia quelle focalizzate. Se possibile, ricavi la percentuale da più sprint rappresentativi e la riveda quando cambia il contesto. Un team appena formato, un rilascio o un turno di supporto intenso possono richiedere un valore diverso. Sono ammessi solo valori tra zero e cento. Quelli esterni vengono respinti, anziché corretti silenziosamente, per evitare impegni fuorvianti dovuti a errori di digitazione.
Scelga ore oppure story point
Scelga le ore quando il team pianifica direttamente sul tempo. La capacità equivale alle ore disponibili moltiplicate per il fattore di focus. Usi gli story point soltanto se il team adotta già un rapporto locale stabile tra ore focalizzate e punto. Il calcolo divide le ore focalizzate per tale rapporto. È una convenzione di pianificazione, non una misura universale di produttività, e non va usata per confrontare team. Il dettaglio mostra ore e contributo di ogni persona, mentre il totale resta il riferimento principale. Le frazioni sono conservate con arrotondamento stabile a quattro decimali; il team può arrotondare successivamente l’impegno secondo la propria politica.
Casi d'uso
Preparare la pianificazione
Converta gli orari corretti per le assenze in una capacità verificabile prima di scegliere il backlog.
Simulare variazioni del team
Confronti la capacità quando uno specialista condiviso, un ingresso o un turno modifica le ore.
Documentare le ipotesi
Registri disponibilità, fattore, rapporto e contributi insieme all’impegno dello sprint.
Domande frequenti
Che cosa indica il fattore di focus?
È la quota di ore disponibili prevista per le consegne pianificate dopo le attività ordinarie.
Può superare il 100 per cento?
No. L’intervallo ammesso è 0–100; gli altri valori producono un errore di input.
Come vengono calcolati gli story point?
Le ore focalizzate vengono divise per il rapporto ore-punto indicato. Il valore predefinito è sei.
Si possono confrontare punti tra team?
No. Il rapporto è una convenzione locale e non uniforma la produttività.
Che cosa va escluso dalle ore disponibili?
Escluda ferie, festività, formazione, altri incarichi e tutto il tempo non disponibile nello sprint.
Quanto costa un calcolo via API?
Ogni richiesta API costa $0.002. Il calcolo è disponibile anche direttamente in questa pagina.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"team_members": [
{
"name": "Avery",
"available_hours": 60
},
{
"name": "Morgan",
"available_hours": 48
},
{
"name": "Riley",
"available_hours": 72
}
],
"focus_factor": 70
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.team_capacity_planning",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |