2009-11-25 18 views
5

Mi sono laureato in un grande programma di ingegneria del software e mi è stata insegnata l'importanza del processo e le fasi di un modello del ciclo di vita. Conosco il classico modello "a cascata". Anche se abbiamo esplorato gli altri, la cascata fa un buon lavoro elencando i compiti possibili, non importa quanto sia astuto o complicato il tuo modello new age. Quindi è un buon punto di partenza.Modelli di ciclo di vita del software per lo sviluppo web

Quando stavo terminando la scuola, .NET era in aumento, quindi non abbiamo trattato nuovi modi per affrontare lo sviluppo web con un buon modello di ciclo di vita. Ora lavoro in un negozio online e stiamo cercando di stabilire alcune buone pratiche e processi in cui non ne abbiamo. Dal momento che mi sono laureato solo 6 anni fa e ho esperienza in ambienti software più strutturati, sono il ragazzo che introduce alcune novità.

In questo momento l'ufficio è solo caos. Ho avuto un sacco di risate da un project manager ieri dicendogli "il nostro processo è il suono di una mano che applaude". Siamo alla disperata ricerca di un processo, ma non sappiamo cosa fare. Ognuno sta adottando un approccio al contrario di voler uno strumento per dire loro come fare le cose, quando prima dovremmo raccogliere i requisiti.

Siamo un negozio di 9 persone in totale. Dobbiamo essere in grado di lavorare velocemente. Quali sono alcuni buoni modelli di sviluppo del software che sono standard del settore ora? Tutti gli altri stanno facendo questo, quindi abbiamo bisogno di imparare, questo negozio ha costruito siti dal 1995. Dove posso trovare buone risorse sulle migliori pratiche? Siamo un negozio LAMPADA.

EDIT: Vorrei aggiungere anche, vorremmo aggiungere un processo ai siti Web esistenti. Quindi non stiamo costruendo nuovi progetti, il che è il motivo per cui questi modelli sono sempre orientati. Stiamo mantenendo mostri di siti di 10 anni (va bene più di 3-5 anni, ma i clienti sono più vecchi) e continuando a farlo, aggiungendo nuove funzionalità in modo incrementale. Qualcuno di questo può esserci d'aiuto?

risposta

0

Agile e eXtreme Programming (XP) funzionano entrambi bene. Ho anche avuto esperienze positive con lo Rational Unified Process (RUP).

Tutti sono iterativi, che danno loro un vantaggio su Waterfall in quanto non si rimane bloccati nell'implementazione di enormi quantità di funzionalità senza alcuna visibilità sul modo in cui verrà percepito (per non parlare degli utenti che ottengono pezzi più piccoli di funzionalità molto più spesso rispetto alla tradizionale versione monolitica).

RUP fa un ottimo lavoro nel raccogliere le richieste in anticipo. Sia Agile che XP impiegano alcune tecniche davvero interessanti per garantire la qualità con un rapido turn-around. Darei un'occhiata a tutti e tre e capire quale sarebbe la soluzione migliore per la tua squadra (o canibalizzare le parti migliori di tutti e tre per la tua applicazione).

4

Ciò che molti negozi utilizzano ora è il metodo di sviluppo Agile. È scalabile da un singolo sviluppatore a tutti quelli che potresti mai avere. L'utilizzo di questo metodo semplifica il monitoraggio della quantità di lavoro che ogni individuo sarà in grado di completare in un determinato periodo di tempo. Controlla la pagina di wikipedia che descrive la metodologia:

http://en.wikipedia.org/wiki/Agile_software_development

Ci sono anche alcuni grandi open source e strumenti gratuiti per aiutare a creare squadre, progetti, iterazioni, e tutto il resto.

Tuttavia, dirò che ero solito lavorare in un negozio a cascata e, a meno che la gestione non sia a bordo con il cambiamento, non riuscirai da nessuna parte a cercare di passare da cascata ad agile.

MODIFICA (In risposta alla modifica della domanda): SÌ! Agile ti aiuterà sicuramente con le rilasci di manutenzione e miglioramento dei progetti esistenti, oltre a possibili rilasci di refactoring. È tutto incluso.

~ ~ md5sum

+0

+1 per tutti devono essere a bordo o non funzionerà. gestione e sviluppatori. – kenwarner

+0

È bello avere a bordo gli sviluppatori esistenti, ma sono sostituibili se non vogliono collaborare, e inoltre, non ho incontrato nessun "buon" sviluppatore che ha avuto un problema lavorando con una metodologia agile. Sfortunatamente, non puoi licenziare il tuo capo. L'architetto delle soluzioni in cui lavoravo era responsabile della scelta della metodologia utilizzata e, sebbene fosse un bravo ragazzo, non credo che avrebbe potuto risolvere il test FizzBuzz in meno di 3000 righe di codice C#. Diceva di piacere a Scrum, e che eravamo agili, ma eravamo più come una specie di cascata rotta. Una cascata senza acqua forse ... –

0

Scrum, che è una pratica Agile, sarebbe un suggerimento per cercare di frenare alcuni dei caos. Quali pratiche hanno i tuoi project manager? Questa sarebbe una delle domande più importanti, perché forse le risate provengono da qualcuno che si sente minacciato nella loro posizione.

EDIT: Proprio come qualcosa di diverso da considerare, si fa a avere questi sul posto:

  • Testing - Avete qualche test automatizzati?
  • Integrazione continua - ne sei a conoscenza? Usalo affatto?
  • Controllo origine: si dispone di filiali e procedure o check-in?
  • Metodologia di sviluppo - mentalità ad hoc o "Just do what what works"?
  • Ambienti - Esistono ambienti di sviluppo, test e produzione?
+0

no, le risate erano genuine perché lui sapeva che ho ragione. Non c'è letteralmente nessun processo. Ogni project manager fa le proprie cose. Ci parliamo e facciamo il lavoro "fatto", poi finiamo per spegnere gli incendi dopo. Veramente caos – tkotitan

+0

Almeno un po 'di lavoro viene fatto. Posso immaginare che in alcuni posti non si faccia nulla a causa di tutte le dita puntate di colpa di chi è che non viene fatto niente. –

+0

Sì, ma ci sono giorni - anzi - settimane, persino mesi, dove ucciderei per alcuni tempi morti! :) Ma hai ragione. Abbiamo un incredibile spirito collaborativo nel mio ufficio, nessuna colpa, stiamo solo lavorando insieme per risolvere il problema e aiutare i clienti. Non ho mai visto niente del genere. – tkotitan

0

L'hype è Agile. Adoro i principi alla base dello Lean che ha le sue radici nella comunità Agile.

0

Penso che un buon punto di partenza sia il test di Joel. Ecco lo Joel Test for web development. Dopo aver dato un'occhiata a questo, saprai da dove iniziare a migliorare le cose. Queste sono le basi.

1

So che questo è un post davvero vecchio e il poster originale non è stato attivo di recente. Tuttavia, mi chiedo se questo potrebbe non essere un problema corrente che ha ancora bisogno di una risposta. Sono un noob per StackOverflow, ma ho alcune informazioni su questo problema.

Ci sono un certo numero di cose da affrontare per questo post. Innanzitutto, vuoi conoscere il tipo "migliore" di modello SDLC. Esistono molti modelli diversi, ma non una risposta giusta. Dipenderà da ciò che stai cercando di realizzare e da come la tua squadra lavora meglio.

In base al post, una combinazione di Agile e Scrum sarebbe un buon approccio per gestire l'ordine dei processi. L'agile ti consentirà di lavorare più rapidamente nelle iterazioni, mentre lo Scrum aiuterà il tuo team a identificare compiti, responsabilità, priorità, sfide e soluzioni.

Mentre si stabiliscono le migliori pratiche e metodologie è importante che l'identificazione del processo e l'attenzione al metodo SDLC stesso siano affrontate. L'organizzazione deve valutare quali progetti devono essere eseguiti, chi e cosa è necessario, problemi e soluzioni potenziali e la struttura di ripartizione del lavoro che aiuterà a gestire le esigenze di ciascuna attività per creare il processo.

** Ad esempio, ** Se è necessario aggiungere una pagina a un sito esistente, è possibile creare una linea guida di processo (poiché ogni pagina sarà diversa, come sarà il cliente). È possibile che il processo sia simile al seguente: (Intervallo requisiti) 2. Standard esistenti/Identificazione dell'implementazione 1. Identificazione dell'implementazione 3. Elenco di tutte le attività necessarie per completare l'aggiunta della pagina 4. Creare un'elaborata struttura di ripartizione del lavoro (WBS) e pianificazione/scadenza per ciascuna attività 5. Creare un sistema di gestione del progresso (questo è un nuovo processo da sviluppare.) 6. Attività dei delegati/scadenze/squadre/etc. 7. Stabilire una comunicazione di squadra 8. Verifica/avanzamento test 9.Regola le attività/WBS/pianificazione in base ai metodi Agile/Scrum stabiliti.
10. Ripetere fino a completare/soddisfare i requisiti.

È possibile impostare i processi Agile e Scrum prima di configurare altri processi e modificarli finché non funzionano per i servizi che si stanno fornendo.

Non è necessario utilizzare Agile o Scrum o una combinazione specifica delle disponibilità in base a ciò che fanno gli altri. La bellezza di avere così tanti tra cui scegliere è che puoi mescolarli e abbinarli fino a trovare ciò che funziona per i tuoi progetti.

Affinché uno qualsiasi dei tuoi processi sia efficace, è necessario comunicare con il proprio team ciò che funziona, non funziona o ciò che funziona, ma deve essere migliorato. Alcuni strumenti per i quali ho sentito grandi lodi sono: 1. Slack dot com: questo è uno strumento di gestione del progetto di squadra. 2. G Suite: si tratta di una suite di app a pagamento, ma è altrettanto semplice utilizzare Gmail, Google Drive, Fogli Google, Documenti, Calendar, Hangouts, Google + e gli altri strumenti gratuiti.
3. Trello dot com: questa è una fantastica scheda di collaborazione che uso con alcuni amici per i miei progetti. Puoi avere schede personali o schede condivise: calendari, team, connessioni email, promemoria, ecc. Mi è piaciuto molto questo strumento del sito.

Questi sono solo alcuni che penso siano decenti, ma ce ne sono altri che offrono funzionalità diverse, quindi puoi scegliere ciò che funziona per te.

Infine, la gestione del progetto è un compito arduo, ma quello che hai assunto avrebbe potuto aiutarti con questo dilemma. Tuttavia, ecco alcuni siti che potrebbero aiutarti a gestire parte del tuo progetto: 1. PMI dot org: questo è l'istituto di gestione del progetto. Anche se non sei il project manager e non vuoi esserlo, ci sono davvero ottimi consigli e suggerimenti per chiunque sia in una posizione dirigenziale che sovrintende alla logistica dei progetti.
2. SDLC PM: questo è ancora PMI.org, ma questo link è specifico per la tua domanda. 3. Projectmanager.com: questo ha gli strumenti per la gestione del progetto. C'è anche un link qui con risorse aggiuntive.

Bene, spero che questa informazione aiuti voi e gli altri. Avrei avuto più collegamenti, ma ho bisogno di più punti reputazione. Tuttavia, ho cercato di introdurli di nascosto. I migliori saluti.

-AudreyLin

Problemi correlati