Come avviare un progetto di sviluppo quando ci sono troppe potenziali parti interessate

14

Ho appena assunto un nuovo lavoro in un college come (l'unico) sviluppatore di applicazioni Web.

Il college ha un numero di sistemi legacy disparati ma tutti piuttosto male codificati. Per lo più costruiti in PHP si occupano di cose come presenze, risultati degli esami, marcatura ecc.

Il mio primo lavoro è quello di costruire un sistema che incorpori molti di questi dati, che attualmente si trovano in vari database senza alcun tipo di API amichevole da estrarre (i sistemi esistenti sono codificati in PHP vaniglia senza separazione dei dati e visualizzare) con una nuova piattaforma per la registrazione delle informazioni pastorali sugli studenti e la presentazione ai tutor e al personale senior in modo utile in modo che possano reagire rapidamente ai problemi con gli studenti.

Nel nostro primo incontro c'erano 18 persone! Non c'era un leader o voce chiara che rappresentasse la maggioranza. Nessun client identificabile . L'incontro è passato da idee di implementazione dettagliate su funzionalità minori dai capi di facoltà agli argomenti sull'opportunità di utilizzare fogli di calcolo Excel o meno per l'inserimento dei dati!

Come puoi immaginare la mia testa girava alla fine. In realtà avevo molte buone idee ma non riuscivo a farle sentire. Questo è un ruolo molto nuovo per me, prima che facessi parte di un team di sviluppo in un'agenzia di marketing. Abbiamo avuto ruoli ben definiti: Project Manager, Client, Designer, Developer.

Mi piacerebbe sapere se gli sviluppatori stagionati oi loro manager possono darmi qualche suggerimento su come posso spingere i miei colleghi verso qualcosa che assomiglia a un team di progetto. È agile la strada da percorrere? Come affronteresti la gestione di tutte le voci disparate? È chiaro che alcuni processi devono essere implementati molto rapidamente, non sono sicuro di cosa si tratti.

    
posta Matt Harrison 20.03.2013 - 17:30
fonte

5 risposte

26

Non mi aspetterei alcun "processo di sviluppo agile" qui come soluzione al tuo problema attuale. La prima cosa che dovresti fare è: cancella la tua missione . Ciò significa:

  • chiarisci quali sono le tue responsabilità
  • chiarire quali sono le responsabilità degli altri stakeholder
  • identifica chi è responsabile per ciascuno dei sistemi legacy
  • se non c'è ancora un client per la tua applicazione web, trovane uno che lo utilizzerà in futuro e chiedi il permesso di incorporarlo come utente rappresentativo del tuo sistema (una persona con cui puoi discutere i requisiti con )
  • se ci sono diverse parti interessate con obiettivi diversi, raccogli i loro requisiti (ad esempio, intervistandoli uno a uno, non 18 persone in un tutt'uno in un'unica stanza). Scrivi i risultati in un elenco. Successivamente, avvia la procedura di
  • annota una roadmap (la grande immagine) e una piccola specifica per la versione 0.1 e fai in modo che il tuo capo e il cliente rappresentativo acconsentano formalmente
  • EDIT: vedi il commento di GlenH7

Questo può richiedere del tempo, probabilmente non scrivere molto codice in questa fase del progetto. In una situazione del genere, dovresti prima fare un po 'di ingegneria dei requisiti. Ma inizia in piccolo, pensa in grande. Una volta sviluppata la tua prima versione, avrai qualcosa da mostrare, discuterà nuovamente i requisiti con gli stakeholder ecc.

    
risposta data 20.03.2013 - 17:47
fonte
5

Separa quelli che vogliono veramente che questo progetto funzioni dalla mandria.

A causa di un sacco di politica, qualcuno ha riunito questo incontro con un elenco di partecipanti in cui l'appartenenza è stata determinata da chi si sarebbe irritato di più se non li invitassi. Succede. Questo obiettivo è stato completato ma, in qualità di sviluppatore, hai scoperto che non è stato deciso nulla. A nessuno è stato assegnato cosa fare. Se sei fortunato, sono riusciti a pianificare la prossima riunione o, Dio non voglia, hanno fissato un incontro ricorrente il 3 ° martedì di ogni mese.

Il prossimo arriverà alla formazione di comitati, sottocomitati e task force. Questo è betser, ma li troverai tutti ugualmente inutili.

Finalmente scoprirai chi è veramente interessato a questo progetto. Chi vuole davvero mettersi il tempo per farlo nel modo giusto. Speriamo che questa persona abbia un supervisore che gli consentirà il tempo per farlo e non solo renderlo un altro elemento nella sua già lunga lista di cose da fare. Trova queste persone al più presto! Aiutali a gestire le aspettative del loro capo e ottenere una quantità di impegno concordata.

Ottieni qualcosa di fronte al maggior numero di persone del gruppo originale che si prenderà il disturbo di tornare. Possono essere tutti persone intelligenti e / o istruite, ma non leggeranno un sacco di specifiche. A loro piaceranno alcune cose, odieranno gli altri e ne vorranno di più. Non fa male scrivere dei suggerimenti, ma cerca di far sì che la festa segua un po 'di skin nel gioco. Non promettere di fare tutto. Basta indirizzare ciò che può essere fatto nel prossimo futuro.

Se finisci per avere a che fare con più di 5 persone su base regolare, è perché alcuni manager hanno coinvolto molte delle loro persone che non vogliono davvero essere lì.

    
risposta data 20.03.2013 - 19:29
fonte
3

Trova una lista di idee che ritieni possano consolidare / migliorare i sistemi esistenti sulla base delle tue osservazioni e dei loro "bisogni" e assicurarti di concentrarti su dove puoi ottenere reali guadagni visibili. Includere su quell'elenco ogni idea che si ritiene sarebbe utile, così come qualsiasi suggerimento "ragionevole" da parte dei non-sviluppatori.

Crea un elenco di funzioni che "dovrebbero" essere incluse nei tuoi sforzi di sviluppo. Dare a ciascun membro il potere di "votare", magari sotto forma di "stelle appiccicose" e scoprire che cosa l'intero in realtà vuole da ciascun membro, posizionando le stelle accanto a ciò che pensano sia importante. Alcune persone potrebbero finire con più stelle se firmano il controllo, hanno l'ultima parola, ecc. Dopo di che spero che tu e tutti gli altri vedrete ciò che è importante per il tutto e, si spera, accetteranno la priorità, che sarà quindi traduci in una roadmap

1). Rileva il team : scopri cosa ciascun membro considera importante / necessario / priorità assoluta

2). Ottieni qualcosa là fuori, rapidamente - Non provare a risolvere tutti i problemi tutti in una volta, ottenere le funzionalità "minimo indispensabile" e farle approvare, quindi farla avanzare collettivamente in base al feedback degli utenti.

3). Utilizza il loro feedback e il feedback di altri utenti per guidare il processo di sviluppo

(Costruisci, valuta il feedback, costruisci, valuta il feedback) Risciacqua e ripeti.

Inoltre, potresti prendere in considerazione la possibilità di inserire "punti di sforzo" o le ore stimate per il completamento .. che potrebbero anche aiutare nella definizione delle priorità.

    
risposta data 20.03.2013 - 20:12
fonte
1

La prima sfida è identificare la necessità di questo progetto. Tieni un altro incontro con tutta quella gente e chiedi loro di scrivere i problemi che devono essere risolti. Non lasciare che parlino dei molti modi in cui questo progetto sarà la soluzione. Costringili a identificare veramente i bisogni / i problemi.

Un modo per farlo è quello di chiedere a ciascuno di essi individualmente di documentare tali esigenze su bigliettini adesivi: un'idea per appiccicoso. Quindi esegui un diagramma delle affinità per aiutarli a raggruppare quelle idee disparate in specifiche esigenze. Infine, falli votare ( Multi-Voting ) in modo che tu possa vedere i maggiori bisogni.

Agile ci ricorda di affrontare la funzionalità che ha il valore più alto del cliente. Inizia con la necessità maggiore e poi continua a suddividere l'elemento fino a quando non hai il primo piccolo pezzo che puoi effettivamente fare in un breve periodo di tempo.

    
risposta data 27.03.2013 - 15:22
fonte
0

BACIO - Crea un itinerario. Ringrazia tutti per essere venuti, esaminalo, fallo. Il monitoraggio laterale rallenterà se lo indirizzi condividendo la loro preoccupazione e chiedendo loro di rimanere DOPO la riunione. Prendi le decisioni votando dove c'è polemica per essere più felice. La motivazione a partecipare a qualsiasi sistema è direttamente correlata alla credenza dei singoli nei suoi metodi.

    
risposta data 20.03.2013 - 20:30
fonte