Cominciamo con l'assunzione di una buona squadra dei professionisti giusti per il tuo progetto. In una tipica app aziendale è necessario assumere almeno uno sviluppatore di database e un dba, un addetto al controllo qualità, un amministratore di sistema, un analista aziendale, uno sviluppatore di applicazioni, uno specialista dell'interfaccia utente e un team leader. DBA, Amministratore di sistema, analisti aziendali e QA dovrebbero essere in una catena di reporting separata dal team di sviluppo. Lo specialista del database di sviluppo dovrebbe riferire allo stesso lead tecnico degli sviluppatori dell'applicazione e dello specialista dell'interfaccia utente.
Imposta lo spazio ufficio. Gli uffici privati sono fantastici se riesci a ottenerli (ti auguro tanta fortuna con questo), ma in un minimo hai bisogno di scrivanie, telefoni, computer, lavagne e un paio di sale conferenze dedicate. Assicurati che ci sia un posto per le pause pranzo, un frigorifero, bevande analcoliche, snack e caffè disponibili. Bevande analcoliche gratuite e caffè ancora meglio.
Configurare i server dev / qa / staging e prod sia per l'applicazione che per i database. I database non dovrebbero mai trovarsi sullo stesso server delle applicazioni. A seconda delle dimensioni e dell'ambito del progetto, potrebbero essere necessari più server o SAN, ecc. Per ciascun ambiente.
Non appena i server sono impostati, pianificare i backup del sistema di file, del database e dei registri delle transazioni del database. Fallo il primo giorno in cui le cose sono impostate. Assumi un'azienda come Iron Mountain per eseguire backup fuori sede settimanalmente.
Impostare un sistema di controllo del codice sorgente e creare un documento che descriva come verrà utilizzato. Non dimenticare di insistere sul fatto che TUTTE le modifiche strutturali del database e gli inserimenti di dati per le tabelle dei tipi di ricerca si trovano negli script nel controllo del codice sorgente. Ciò renderà più semplice la distribuzione.
Acquista software commerciale o scarica software open source per il set di strumenti che hai deciso di utilizzare con le licenze per tutti gli utenti interessati.
Acquista macchine sviluppatore che stanno urlando velocemente e hanno due monitor. Acquista almeno una macchina utente di prova che si lamenta lentamente e tipica di ciò che gli utenti avranno sui loro desktop.
Allena i tuoi nuovi sviluppatori a come vuoi che le cose vengano fatte. Se hai un team abbastanza grande da avere alcuni sviluppatori junior, allora pianifica una formazione extra per loro e includi il tempo nella pianificazione del tuo progetto. Monitorare i ragazzi da vicino per almeno tre mesi. Monitorare attentamente tutti i nuovi dipendenti per il primo mese. Sbarazzarsi di deadwood e sviluppatori disonesti il prima possibile.
Determina cosa deve essere fatto in quale ordine (il percorso critico). Non assegnare le attività alla fine del percorso critico fino al completamento delle attività da cui dipendono.
Creare piani di test e requisiti.
Organizzare regolarmente incontri programmati con i clienti. Meritano di sapere cosa stai facendo e quali sono i blocchi stradali. Non mancare di dire loro quando le cose saranno in ritardo. Se mancano tre settimane a una scadenza e sai già che ti mancherà, quel deficit non scomparirà magicamente prima di doverlo dire al cliente. Assicurarsi che il cliente sappia che i requisiti aggiuntivi significano costi e tempi aggiuntivi e che ogni requisito aggiunto dovrà far cadere altre attività o la scadenza cambierà in base alla quantità di ore nelle nuove attività. Renderlo chiaro fin dall'inizio farà risparmiare molto dolore e ore di straordinario e costi eccessivi assorbiti dal tuo gruppo e non dal cliente.
Configurare un ambiente per il test delle prestazioni, non solo la velocità di un utente, ma uno in cui è possibile testare il numero previsto di utenti simultanei. Non aspettare per fare questo test fino al giorno prima di andare in diretta.
Nella pianificazione del progetto, supponiamo che il QA trovi i bug e che ci vorrà del tempo per risolvere. Non programmare il QA per un solo giorno alla fine.
Creare dati di test approssimativamente della dimensione che si ritiene sarà il database. Fai in modo che tutti gli sviluppatori testino il loro codice con il database di queste dimensioni. Non consentire agli sviluppatori di svilupparsi solo su un piccolo database sui loro computer personali. Questa è una causa frequente di codice che funziona bene fino a quando non raggiunge la produzione.
Pianifica i premi nel budget. Demotiva le persone quando lavorano per mesi e solo i manager ricevono dei bonus. Inoltre, ringrazia di frequente e per iscritto.
Potrebbe essere necessario un sistema di gestione del progetto o almeno impostare fogli di calcolo per tenere traccia di ciò che è necessario tenere traccia. Quando si esegue la pianificazione del progetto, assumere non più di sei ore al giorno nel piano. Questo aiuta a tenere conto del tempo che non verrà speso per il progetto, come vacanze, periodi di malattia, ferie, riunioni delle risorse umane, revisioni delle prestazioni, ecc. Se si conosce che il progetto si trova in un periodo di elevata indisponibilità (ad esempio un progetto in corso dal 1 ° novembre al 1 ° gennaio negli Stati Uniti), potrebbe essere necessario concedere ulteriori indennità per più ferie e ferie. Non è giusto aspettarsi che gli sviluppatori rinuncino a ferie e ferie e nessuno può prevedere quando accadranno cose come il tempo di malattia, il dovere della giuria, il lutto, ecc. Supponiamo che accadranno al tuo team in questo progetto.