{"id":230347,"date":"2022-11-18T20:45:00","date_gmt":"2022-11-18T17:45:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230347"},"modified":"2022-11-09T21:52:55","modified_gmt":"2022-11-09T18:52:55","slug":"programmazione-orientata-agli-oggetti-in-wordpress-statement-of-work","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/programmazione-orientata-agli-oggetti-in-wordpress-statement-of-work\/","title":{"rendered":"Programmazione orientata agli oggetti in WordPress: Statement of Work"},"content":{"rendered":"\n<p>Prima di entrare nell&#8217;argomento dell&#8217;analisi e della progettazione orientata agli oggetti (che \u00e8 il momento in cui la maggior parte di noi ottiene il massimo da ci\u00f2 che fa oltre alla scrittura del codice), \u00e8 importante approfondire alcune altre cose relative alla comprensione dei requisiti dei clienti .<\/p>\n<p>Nel post precedente ho menzionato:<\/p>\n<blockquote>\n<p>Se ti prendi del tempo per capire cosa vogliono dall&#8217;inizio, allora i requisiti non devono essere un documento di 50 pagine che delinei come ogni singolo modulo deve funzionare.<\/p>\n<\/blockquote>\n<p>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 \u00e8 meno.<\/p>\n<p>E anche se ci sono momenti in cui \u00e8 pi\u00f9 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.<\/p>\n<p>Quando lo fai, i requisiti e la dichiarazione di lavoro \u2013 qualunque cosa tu scelga di chiamarli \u2013 non devono essere cos\u00ec lunghi.<\/p>\n<h2>Scrivere una dichiarazione di lavoro<\/h2>\n<p>In primo luogo, vorrei distinguere tra una <strong>dichiarazione di lavoro<\/strong> e <strong>requisiti<\/strong> nel contesto di questo post.<\/p>\n<ul>\n<li><strong>I requisiti<\/strong> sono ci\u00f2 che il cliente vuole aver costruito.<\/li>\n<li>Lo <strong>Statement of Work<\/strong> descrive in dettaglio cosa farai, come farai e per quanto.<\/li>\n<\/ul>\n<p>Tratter\u00f2 quest&#8217;ultimo in modo pi\u00f9 dettagliato in questo post. Ma basti dire che i requisiti possono presentarsi sotto forma di discussioni, documentazione o entrambi per quanto riguarda il cliente.<\/p>\n<p>Prima di saltare nelle diverse parti di ci\u00f2 che includo in una dichiarazione di lavoro, ci sono alcune cose che penso valga la pena menzionare:<\/p>\n<ol>\n<li>Non scrivere una dichiarazione di lavoro finch\u00e9 non hai tutti i requisiti del cliente.<\/li>\n<li>Assicurati che il cliente sappia cosa aspettarsi da una dichiarazione di lavoro.<\/li>\n<li>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\u00e0 pagarlo o meno<\/li>\n<\/ol>\n<p>Questa \u00e8 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.<\/p>\n<h3>Preparazione di una dichiarazione di lavoro<\/h3>\n<p>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.<\/p>\n<p>Ecco come funziona ogni sezione:<\/p>\n<h4>1 Dichiarazione di lavoro<\/h4>\n<p>Lo scopo di questo documento \u00e8 di [definire una soluzione proposta per IL PROGETTO].<\/p>\n<p>I requisiti del progetto sono stati forniti da [IL NOME DEL CLIENTE], [RUOLO DEL NOME DEL CLIENTE PRESSO L&#8217;ATTIVIT\u00c0]. I termini del contratto sono una combinazione di quelli concordati da [NOME DEL CLIENTE] e [IL TUO NOME dell&#8217;AGENZIA].<\/p>\n<h4>2 Panoramica dei requisiti<\/h4>\n<p>Lo scopo di questo documento \u00e8 di [definire una soluzione proposta per IL PROGETTO].<\/p>\n<p>I requisiti del progetto sono stati forniti da [IL NOME DEL CLIENTE], [RUOLO DEL NOME DEL CLIENTE PRESSO L&#8217;ATTIVIT\u00c0]. I termini del contratto sono una combinazione di quelli concordati da [NOME DEL CLIENTE] e [IL TUO NOME dell&#8217;AGENZIA].<\/p>\n<h4>3 Lingue e tecnologia<\/h4>\n<p>Il server Web, il software, gli strumenti e l&#8217;approccio che verranno utilizzati per creare la soluzione.<\/p>\n<h4>4 Browser supportati<\/h4>\n<p>Se si tratta di un progetto basato sul Web, copri i browser supportati, indipendentemente dal fatto che ci saranno o meno funzionalit\u00e0 reattive e come verranno testati i punti precedenti.<\/p>\n<h4>5 Lingue e tecnologia<\/h4>\n<p>Il server Web, il software, gli strumenti e l&#8217;approccio che verranno utilizzati per creare la soluzione.<\/p>\n<h4>6 Requisiti del progetto e pietre miliari<\/h4>\n<p>Tipicamente la sezione pi\u00f9 lunga del documento. Si riassume:<\/p>\n<ul>\n<li>I requisiti,<\/li>\n<li>Come verr\u00e0 costruito e consegnato ogni requisito,<\/li>\n<li>Eventuali note aggiuntive di cui il cliente dovrebbe essere a conoscenza.<\/li>\n<\/ul>\n<h4>7 Cronologia proposta<\/h4>\n<p>Ci\u00f2 si basa sulle pietre miliari delineate nella sezione precedente e sul feedback del cliente.<\/p>\n<h4>8 Altri fattori<\/h4>\n<p>Cose varie che scegli di includere, come ci\u00f2 che tu o la tua agenzia decidete di portare al progetto, in che modo il feedback ritardato pu\u00f2 influire sul progetto e cos\u00ec via.<\/p>\n<h4>9 Costo stimato<\/h4>\n<p>Ci\u00f2 include il costo totale del progetto e una ripartizione facoltativa del calendario dei pagamenti.<\/p>\n<h3>\u00c8 necessario<\/h3>\n<p>Lo so: l&#8217;ho gi\u00e0 detto nei post precedenti di questa serie. Questa non \u00e8 la parte pi\u00f9 affascinante di ci\u00f2 che facciamo. Invece, vorremmo invece passare direttamente alla programmazione.<\/p>\n<p>Ma come fai a sapere cosa costruire (e costruirlo bene) se non abbiamo affrontato adeguatamente il problema che stiamo cercando di risolvere?<\/p>\n<p>Ed \u00e8 quello che ci offre tutto ci\u00f2 che porta all&#8217;analisi e al design orientati agli oggetti.<\/p>\n<h2>Analisi orientata agli oggetti<\/h2>\n<p>Ora che abbiamo eliminato le scartoffie (o anche le &quot;cose \u200b\u200b\u200b\u200bd&#8217;affari&quot;, come alcuni potrebbero chiamarle), \u00e8 ora di iniziare a lavorare sulla programmazione.<\/p>\n<p>Prima di farlo, tuttavia, \u00e8 importante analizzare i requisiti e determinare quali parti del progetto serviranno a quale scopo. Per esempio:<\/p>\n<ul>\n<li>Abbiamo bisogno di qualche software preesistente?<\/li>\n<li>Abbiamo bisogno di scrivere degli adattatori o del codice del livello dati?<\/li>\n<li>Come costruiremo il livello dell&#8217;applicazione e le entit\u00e0 al suo interno?<\/li>\n<li>Che dire del front-end<\/li>\n<\/ul>\n<p>E per molti, \u00e8 qui che inizia il divertimento. Quindi sono ansioso di iniziare a parlare anche di questo. Inizieremo nel prossimo post.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lo Statement of Work descrive in dettaglio cosa farai, come lo farai e per quanto.<\/p>\n","protected":false},"author":1,"featured_media":165194,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,720,844],"tags":[1168],"class_list":["post-230347","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-sviluppatore","category-tutorial","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230347","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230347"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230347\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/165194"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}