Programmazione orientata agli oggetti in WordPress: Statement of Work
Prima di entrare nell’argomento dell’analisi e della progettazione orientata agli oggetti (che è il momento in cui la maggior parte di noi ottiene il massimo da ciò che fa oltre alla scrittura del codice), è importante approfondire alcune altre cose relative alla comprensione dei requisiti dei clienti .
Nel post precedente ho menzionato:
Se ti prendi del tempo per capire cosa vogliono dall’inizio, allora i requisiti non devono essere un documento di 50 pagine che delinei come ogni singolo modulo deve funzionare.
Ad esempio, ogni volta che metto insieme i requisiti (o una dichiarazione di lavoro) come li chiamo di solito quando li mando ai clienti, raramente supero le dieci pagine e spesso è meno.
E anche se ci sono momenti in cui è più lungo, penso che parte del motivo per cui lo sviluppo di una breve serie di requisiti derivi dalle discussioni preliminari per assicurarsi che tu e i clienti abbiate sviluppato un linguaggio comune con cui poter lavorare.
Quando lo fai, i requisiti e la dichiarazione di lavoro – qualunque cosa tu scelga di chiamarli – non devono essere così lunghi.
Scrivere una dichiarazione di lavoro
In primo luogo, vorrei distinguere tra una dichiarazione di lavoro e requisiti nel contesto di questo post.
- I requisiti sono ciò che il cliente vuole aver costruito.
- Lo Statement of Work descrive in dettaglio cosa farai, come farai e per quanto.
Tratterò quest’ultimo in modo più dettagliato in questo post. Ma basti dire che i requisiti possono presentarsi sotto forma di discussioni, documentazione o entrambi per quanto riguarda il cliente.
Prima di saltare nelle diverse parti di ciò che includo in una dichiarazione di lavoro, ci sono alcune cose che penso valga la pena menzionare:
- Non scrivere una dichiarazione di lavoro finché non hai tutti i requisiti del cliente.
- Assicurati che il cliente sappia cosa aspettarsi da una dichiarazione di lavoro.
- Se hai intenzione di dedicare del tempo a scrivere una dichiarazione di lavoro, decidi se addebitare il tempo o meno e assicurati che il cliente sia consapevole che dovrà pagarlo o meno
Questa è una di quelle cose che avviene da libero professionista a libero professionista o agenzia per agenzia. Detto questo, ecco le parti di una dichiarazione di lavoro che di solito includo.
Preparazione di una dichiarazione di lavoro
Ogni volta che preparo una dichiarazione di lavoro, ho un modello che uso. Ho intenzione di fornire una ripartizione che copre gran parte di esso qui.
Ecco come funziona ogni sezione:
1 Dichiarazione di lavoro
Lo scopo di questo documento è di [definire una soluzione proposta per IL PROGETTO].
I requisiti del progetto sono stati forniti da [IL NOME DEL CLIENTE], [RUOLO DEL NOME DEL CLIENTE PRESSO L’ATTIVITÀ]. I termini del contratto sono una combinazione di quelli concordati da [NOME DEL CLIENTE] e [IL TUO NOME dell’AGENZIA].
2 Panoramica dei requisiti
Lo scopo di questo documento è di [definire una soluzione proposta per IL PROGETTO].
I requisiti del progetto sono stati forniti da [IL NOME DEL CLIENTE], [RUOLO DEL NOME DEL CLIENTE PRESSO L’ATTIVITÀ]. I termini del contratto sono una combinazione di quelli concordati da [NOME DEL CLIENTE] e [IL TUO NOME dell’AGENZIA].
3 Lingue e tecnologia
Il server Web, il software, gli strumenti e l’approccio che verranno utilizzati per creare la soluzione.
4 Browser supportati
Se si tratta di un progetto basato sul Web, copri i browser supportati, indipendentemente dal fatto che ci saranno o meno funzionalità reattive e come verranno testati i punti precedenti.
5 Lingue e tecnologia
Il server Web, il software, gli strumenti e l’approccio che verranno utilizzati per creare la soluzione.
6 Requisiti del progetto e pietre miliari
Tipicamente la sezione più lunga del documento. Si riassume:
- I requisiti,
- Come verrà costruito e consegnato ogni requisito,
- Eventuali note aggiuntive di cui il cliente dovrebbe essere a conoscenza.
7 Cronologia proposta
Ciò si basa sulle pietre miliari delineate nella sezione precedente e sul feedback del cliente.
8 Altri fattori
Cose varie che scegli di includere, come ciò che tu o la tua agenzia decidete di portare al progetto, in che modo il feedback ritardato può influire sul progetto e così via.
9 Costo stimato
Ciò include il costo totale del progetto e una ripartizione facoltativa del calendario dei pagamenti.
È necessario
Lo so: l’ho già detto nei post precedenti di questa serie. Questa non è la parte più affascinante di ciò che facciamo. Invece, vorremmo invece passare direttamente alla programmazione.
Ma come fai a sapere cosa costruire (e costruirlo bene) se non abbiamo affrontato adeguatamente il problema che stiamo cercando di risolvere?
Ed è quello che ci offre tutto ciò che porta all’analisi e al design orientati agli oggetti.
Analisi orientata agli oggetti
Ora che abbiamo eliminato le scartoffie (o anche le "cose d’affari", come alcuni potrebbero chiamarle), è ora di iniziare a lavorare sulla programmazione.
Prima di farlo, tuttavia, è importante analizzare i requisiti e determinare quali parti del progetto serviranno a quale scopo. Per esempio:
- Abbiamo bisogno di qualche software preesistente?
- Abbiamo bisogno di scrivere degli adattatori o del codice del livello dati?
- Come costruiremo il livello dell’applicazione e le entità al suo interno?
- Che dire del front-end
E per molti, è qui che inizia il divertimento. Quindi sono ansioso di iniziare a parlare anche di questo. Inizieremo nel prossimo post.