Ho lavorato in un ambiente in cui avevamo costi fissi e progetti a tempo fisso. Siamo passati a una metrica Scrum-esque da una metologia Waterfall/VModel. Scrum può funzionare molto bene in progetti a costi/tempi fissi in quanto il concetto è che il cliente è messo sotto controllo, tuttavia per farlo funzionare bisogna essere in grado di determinare in modo un po 'preciso il lavoro richiesto e quanto costerà (tempo, denaro , risorsa). E questo è un situtation in cui Scrum è candidato ideale.
Si abbattono la lista dei desideri/requisiti/schermate in documenti attendibili. Per esempio. un cliente può dire "Voglio l'e-commerce, con Paypal", è necessario suddividerlo in risultati reali, ad es. "1. Registrazione e accesso cliente, 2. Catalogo prodotti, 3. Shopping Bag, 4. Pagamento, 5. Ordine di conferma". In questa fase, è ancora impossibile determinare quanto tempo ci vorrà, e ofc abbiamo bisogno di fornire tutto quanto sopra per completare il progetto (cioè non puoi avere e-commerce senza pagamento). Quindi, abbattili di nuovo, e di nuovo, fino a quando non avrai risultati tangibili, veramente deleteri entro poche ore, forse giorni, ma certamente non settimane, ad es.
1 Catalogue
1a View all Items
1ai View all items on 1 page with an image and item name underneath in a grid, 4 items per row
1aii View 10 items per page with paging
1aiii View a user slected number of items per page, with paging
1aiiii View all items on 1 page with an image and item name, descriptioon and price on the same line, 1 item per row
1b View by Category
...
1c Search
...
1d Attribute Filter
...
E così via, può essere fatto molto rapidamente, e si può ora probabilmente guesstimate quanto tempo ci sarebbe voluto todo x (OFC, potrei rompere il sopra giù ancora di più, aggiungere un testo più descrittivo per descrivere la il lavoro richiesto, come ad esempio le strutture di dati persistenti di cui Ill potrebbe necessitare, i dati in quelle strutture, come verranno aggiunti i dati, andando oltre si potrebbe persino definire gli stati di inizio e di uscita richiesti).
Una volta fatto questo, si noterà che alcune funzioni e il depenant su altri, e..g non si può avere funzionalità di paging su un catalogo a meno che non si disponga di un catalogo per iniziare con witj, e il catagloge richiedere al CMS screesn di aggiungere e modificare elementi ecc. ecc. Evidenziare questi 'non possono vivere senza funzionalità' in qualsiasi strumento tu usi e questo costituisce il progetto principale, e in un giorno o due hai un sacco di funzioni che possono essere sviluppate un po 'standalone, con costi, che sommati fanno il costo del progetto. E ora il cliente è al comando, decidono di voler aggiungere una funzione e aumentare il costo, a suo avviso, dopotutto.
Tutto quanto sopra è ovviamente solo una piccola parte di ciò che è scrum o qualsiasi processo agile.
In agile, non ci può essere un progetto dettagliato. E non ti viene consegnata una "lista di desideri vaga" - di solito hai casi d'uso o storie di utenti, che dovrebbero essere abbastanza specifici su cosa deve essere fatto, ma non su come farlo. –
La "lista dei desideri" non dovrebbe essere aggiornata dopo ogni sprint, in modo che il proprietario del prodotto decida dove focalizzare l'attenzione? –
Per aggiornare la lista dei desideri vaga dopo ogni sprint sarebbe bello. Ma quando l'utente ha una aspettativa fissa della funzionalità e si aspetta questa funzionalità in una data predefinita, la regolazione dell'ambito può diventare brutta. – Dejan