Preparazione allo sviluppo del Web e flusso di lavoro dell'intero progetto

9

Lavoro come programmatore solitario su progetti di sviluppo web (front e back-end) - Ho completato un paio di progetti, quindi sono abbastanza nuovo in questo, ho letto e provato alcuni approcci e ho raggiunto un modo di andare su di loro. La domanda e la mia descrizione sono abbastanza lunghe quindi per favore sii paziente.

Quello che sto cercando, è:
1. Preparazione / pianificazione che verrebbe normalmente eseguita prima di iniziare lo sviluppo, una volta che sai esattamente cosa deve essere costruito.
< strong> 2. Dalla tua esperienza per favore forniscimi feedback / suggerimenti sul processo che seguo attualmente.

I clienti con cui lavoro sono generalmente startup e hanno budget limitati, quindi non posso caricarli su base oraria (penso che sia così che le grandi aziende di solito fatturano i loro clienti [su uomo / ore] per progetti di sviluppo) e devi lavorare con un budget fisso.

Questa è la procedura che seguo attualmente:
1. Esamina lo scopo del progetto e cerca di capire cosa stanno cercando di realizzare in un paio di incontri.
2. Fornisci loro una figura approssimativa con una citazione che descrive in generale ciò che si aspettano di ottenere dal progetto, cerco di essere specifico sulle funzionalità, ma, non lo sono dedicando troppo tempo a questo perché so che il cliente potrebbe semplicemente chiedere in giro per le virgolette, e in realtà non convertire.
3. Seguo il suggerimento di Jeff Atwood per il pagamento & lavoro:

15% pagamento - In anticipo prima di iniziare qualsiasi lavoro
Durante questa fase viene creato il mockup HTML del sito Web finale, un diagramma di flusso (con yEd ) che descrive il sito Web nel modo più dettagliato possibile e un documento che menziona altre funzionalità che non sono presenti nel diagramma di flusso. Questo viene fatto andando in tutti i dettagli del progetto e completando i bit che si adattano e cose che è troppo lavoro da implementare per il prezzo concordato. Poiché le specifiche non sono discusse in precedenza, alcune di queste sono anche più o meno una negoziazione su ciò che effettivamente otterranno. Poiché si tratta di un progetto a budget fisso, è necessario che ci siano dei requisiti fissi, altrimenti il mio prezzo continua a diminuire man mano che vengono aggiunte ulteriori funzionalità.
Viene inoltre finalizzata una combinazione di colori, design wireframe e design PSD.

pagamento del 35% - Avvia lo sviluppo
Il progetto è fisso, inizia lo sviluppo. Ospito il sito sul mio server, dove il client può accedere al front-end, ma non ha accesso a nessun codice.

pagamento del 30% - Sposta il codice sul server del client / dai al cliente i dettagli di accesso del server
Realizza il sito.

20% di pagamento - Un paio di settimane dopo che il sito è stato pubblicato, una volta che tutti i bug sono stati corretti.

Domande:
1. una volta che sai esattamente cosa costruisci, che tipo di pianificazione faresti prima di iniziare la codifica?

2. Dalla tua esperienza, quali parti dell'intero processo faresti in modo diverso?

    
posta DMin 13.06.2011 - 15:59
fonte

2 risposte

10

Grandi punti di discussione!

Per qualificarsi - lavoro in GRANDI progetti di sviluppo web nel settore della difesa. Generalmente abbiamo un team di 10-40 persone che supportano un singolo cliente, i progetti degli ultimi anni, e il cliente ha sia denaro che richieste elevate. Quindi il chilometraggio può variare - non si desidera sovrastampare!

1 Una volta che sai esattamente cosa costruisci, che tipo di pianificazione faresti prima di iniziare la codifica?

Questo è dopo la sezione del 15%, all'inizio del 35%, giusto?

  • Scegli il server web e la lingua di destinazione
  • Decidere la memorizzazione dei dati - XML, Database, quale database?
  • Decidi sulle principali API: persistenza dei dati, interfaccia grafica, registrazione, inserimento delle dipendenze, ecc.
  • Decidi i meccanismi di accesso - con un occhio ai rischi e alle informazioni che stai cercando di proteggere. Può includere meccanismi di pagamento.
  • Pianifica un'architettura di alto livello e le convenzioni di denominazione
  • Seleziona un ordine di funzionalità, quindi conosci un buon punto di partenza
  • Stabilire una strategia di test e mettere in scena il framework di test automatico, se applicabile
  • Configura il sistema CM

2 Dalla tua esperienza, quali parti dell'intero processo faresti in modo diverso?

Non vorrei fare un piano. Mettere a fuoco il mio lavoro di pianificazione su come fare le cose - come ambiente di costruzione, server, banco di prova, CM - e dedicare solo una piccola quantità di tempo a pianificare un'architettura, a raccogliere strumenti ea decidere da dove iniziare. Mi sento come se non importa, la fase di pianificazione amorfa richiede sempre molto più tempo a vagare in un deserto di ignoranza di quanto dovrebbe.

Se hai a che fare con costi fissi e clienti che non stanno facendo richieste tecniche (quale che lingua o API usi), pianificherei in 1 articolo che è sempre una spinta per te, tecnicamente. Solo 1 e mantieni il resto uguale. Penso che in ogni progetto, vuoi ampliare le tue capacità, ma non vuoi essere così selvaggio da non lavorare in qualcosa che conosci o capisci bene.

    
risposta data 13.06.2011 - 16:15
fonte
2

Il mio più grande consiglio è di essere estremamente attento con un lavoro di sviluppo a prezzo fisso. Se non si riesce a gestire bene i requisiti prima che inizi il lavoro, potrebbe accadere una delle due cose.

  1. Le stime sul raggio d'azione sono risultate inferiori e perdi la maglietta.
  2. Il cliente non può o non può conoscere tutto lo scope prima di iniziare, risultando insoddisfatti del risultato finale.

Per te il numero 2 è una situazione migliore perché se si disconnettono dall'ambito e poi cambiano idea in seguito puoi rinegoziare per più soldi. Assicurati di aver compreso l'ambito prima di effettuare una stima e di capire l'ambito e ciò che fornirai.

Assicurati che firmino sull'oscilloscopio! Le aziende che insistono su un prezzo fisso e si rifiutano di firmare l'ambito sono BAD CLIENTS e non si vuole perdere tempo con quello. Perderai sempre.

    
risposta data 13.06.2011 - 17:01
fonte