Come gestisci le attività di Performance in Agile?

4

In che modo viene influenzato il processo Agile se uno stakeholder richiede che un'operazione specifica nel software debba funzionare meglio? Ciò potrebbe significare che funziona molto lentamente per le esigenze di un cliente (anche con miglioramenti dell'hardware) o si blocca completamente sotto la domanda.

In che modo ciò influisce su diverse parti del processo Agile, tra cui:

  1. User / Technical Stories . Le User Story sono limitate a "Come utente finale, vorrei che una parte del software funzionasse meglio."?
  2. Criteri di accettazione . Che tipo di obiettivi dovrebbero essere perseguiti?
  3. Spikes . Uno sviluppatore dovrebbe cercare quella parte del software per cercare di identificare le aree di miglioramento?
  4. Demo Sprint . Qual è il modo migliore per condividere i miglioramenti delle prestazioni con gli stakeholder?

Oltre a qualsiasi altra parte del processo che potrebbe essere trattata in modo diverso sotto questa richiesta.

    
posta Harlan Wescott 17.03.2016 - 20:45
fonte

1 risposta

5

Esistono diversi modi per gestire le prestazioni (e, in realtà, tutti i requisiti non funzionali).

Se il requisito è noto all'inizio dello sviluppo, rendilo parte dei tuoi criteri di accettazione o Definizione di Fatto e assicurati che rimanga lì. Se si dispone di un requisito di prestazioni specifico, sviluppare test (preferibilmente test automatizzati) per garantire che si stia raggiungendo le metriche di prestazione. Se è un requisito di affidabilità specifico, sviluppare alcuni test che è possibile eseguire su un normale è più difficile farlo perché è più difficile testarli in modo automatico. Ad esempio, i requisiti di usabilità che stabiliscono una particolare classe utente devono essere in grado di eseguire una funzione in un determinato periodo di tempo. I requisiti di testabilità e modificabilità sono anche più difficili da testare, ma possono essere analizzati.

Se stai apportando una modifica al sistema, trattalo come una storia utente. Questo è perfettamente valido per le nuove storie e per le istanze in cui è stata fornita la funzionalità, ma deve essere migliorata. "Come {user class}, voglio {function} in {time}" è una storia utente valida, così come storie simili. È importante rendere le tue esigenze specifiche e misurabili, in modo che tu sappia quando le hai raggiunte. Puoi dare loro la priorità nel backlog del prodotto, valutarli e inserirli nell'iterazione come qualsiasi altra storia.

Una volta implementato, puoi condividere i risultati dei tuoi test alla Sprint Demo, proprio come qualsiasi altra storia. Se le tue esigenze sono più difficili da dimostrare (ad esempio, determinati tempi di attività), puoi utilizzare i risultati del test. Altri attributi possono essere dimostrati, usando il software o gli script che possono guidare la funzionalità.

Se è necessario, puoi utilizzare uno Spike per affrontare queste storie o requisiti. Se hai bisogno di fare prima la ricerca, allora l'avvio di un Spike timebox è la cosa giusta da fare. Ciò è utile quando non si sa se è possibile raggiungere un particolare requisito o se le informazioni da valutare e implementare sono insufficienti. In realtà non è possibile risolvere il problema in Spike, ma puoi almeno impegnarti a comprendere il problema dopo un certo periodo di tempo e avere una conversazione con lo stakeholder.

    
risposta data 17.03.2016 - 21:13
fonte

Leggi altre domande sui tag