Sul biglietto c’è scritto “aggiungere Stripe”. Nel testo si parla di mezzo quarto.

I pagamenti dispongono di un’interfaccia API pubblica che può essere riassunta in una sola pagina e di un’interfaccia decisionale privata che invece non può esserlo. La scelta di un fornitore comporta un picco di lavoro di un giorno. L’implementazione del flusso di checkout “happy path” richiede un paio di giorni. Tutto ciò che viene dopo — il flusso dei rimborsi, la politica di riprova dei webhook, le chiavi di idempotenza, il report di riconciliazione che il reparto finanziario richiederà nel secondo mese — costituisce la funzionalità vera e propria, e nulla di tutto ciò è riportato nel ticket.

La “storia” che recita “integrare Stripe” è raramente quella oggetto di stima. La storia oggetto di stima è invece: “possiamo incassare denaro, effettuare rimborsi, dimostrare di averlo incassato e far fronte a un addebito contestato”. Finché il gruppo non voterà su tale ambito, la cifra non sarà altro che un’ipotesi relativa a un aspetto diverso.

Ciò che viene detto nella stanza

Backend: «La sandbox è semplice. La libreria si occupa della maggior parte del lavoro.»

SRE: “I webhook richiedono idempotenza. Qual è la nostra strategia di riprova nel caso in cui Stripe effettui un nuovo invio?”

Finanza: “Come vengono gestiti i rimborsi? E i rimborsi parziali?”

Conformità: «Stiamo trattando numeri di carte di credito o ci atteniamo al modello SAQ-A?»

PM: «Cosa dice l’e-mail relativa al pagamento non andato a buon fine e chi la redige?»

Domande che vale la pena porsi prima di votare

  • Inizialmente solo nell’ambiente di test, oppure con le chiavi di produzione già incluse fin dal primo giorno?
  • Rimborsi e rimborsi parziali — UI, API o solo per amministratori?
  • Idempotenza dei webhook e gestione dei tentativi di riprova — a chi appartiene la tabella di deduplicazione?
  • Ambito di applicazione dello standard PCI: si rispetta il requisito SAQ-A evitando di accedere al PAN?
  • Riconciliazione: chi redige il report e in base a quale fonte di riferimento?
  • Esperienza utente in caso di errore: carta rifiutata, carta scaduta, richiesta di autenticazione 3DS — rientrano tutte nell’ambito di applicazione?

La mossa giusta in una situazione come questa è spesso quella di suddividerla. “Incassare denaro” è una voce; “rimborsare denaro” è un’altra; “riconciliare il denaro” è una terza. Considerarle come un’unica voce significa che l’integrazione viene consegnata nella terza settimana e che il reparto finanziario chiede dove sia il report nella ottava settimana.

Si voti su “dimostrare che abbiamo incassato il denaro e superato la controversia”, non su “richiamare l’API di checkout”.

Corrispondente: errori comuni nel Planning Poker relativi alla suddivisione delle storie in una fase troppo avanzata; tecniche di stima per attività così vaghe. Si vedano gli altri esempi di stime concrete, oppure si avvii una sessione gratuita di Planning Poker quando il raffinamento è pronto.