{"id":741,"date":"2017-07-04T08:14:58","date_gmt":"2017-07-04T06:14:58","guid":{"rendered":"https:\/\/alistapart.com\/it\/article\/consapevolezza-derivante-da-audit-manuale-della-performance\/"},"modified":"2017-07-04T08:14:58","modified_gmt":"2017-07-04T06:14:58","slug":"consapevolezza-derivante-da-audit-manuale-della-performance","status":"publish","type":"article","link":"https:\/\/alistapart.com\/it\/article\/consapevolezza-derivante-da-audit-manuale-della-performance\/","title":{"rendered":"La consapevolezza di un audit manuale della performance"},"content":{"rendered":"<p>Quando si \u00e8 un product owner o un product developer, probabilmente si ha un&#8217;idea piuttosto precisa di quali siano i core asset necessari per il funzionamento di un sito web, ma raramente questa idea ci d\u00e0 il quadro completo. Quanto bene conosciamo <em>ogni singola cosa<\/em> che viene caricata sui nostri siti?<\/p>\n<p>Un occasionale audit della performance web, se fatto a mano, ci rende <em>effettivamente<\/em> coscienti di ogni singola cosa. Cosa c&#8217;\u00e8 di cos\u00ec straordinario in questa cosa? Beh, tanto per cominciare, il processo fa aumentare la nostra consapevolezza di quello che stiamo davvero chiedendo ai nostri utenti. Inoltre, un po&#8217; di \u201cmagheggi\u201d con un foglio di calcolo ci permetteranno di dare forma a quello che abbiamo scoperto in un modo che abbia pi\u00f9 significato per gli stakeholder. Ci permette di tradurre la nostra performance web in termini di scopo, cos\u00ec:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-01.jpg\" border=\"0\" alt=\"Illustrazione di un grafico a torta che mostra i risultati di un performance audit.\" width=\"100%\" \/><\/p>\n<p>Volete fare qualcosa del genere? Continuate a leggere.<\/p>\n<div class=\"paragrafo\">\n<h2 id=\"section1\">Un attimo, ma non ci sono i computer per questo tipo di cose?<\/h2>\n<p>Un audit manuale potrebbe sembrare un noioso lavoro senza senso. Perch\u00e9 farlo a mano? Non possiamo automatizzarlo in qualche modo?<\/p>\n<p>Questo \u00e8 il punto: vogliamo diventare coscienti, non automatizzare tutto. Quando ci prendiamo del tempo per considerare <em>ogni singola cosa<\/em> che viene caricata su una pagina, otteniamo un&#8217;immagine pi\u00f9 realistica del nostro lavoro.<\/p>\n<p>Ci vuole una mente umana per osservare ogni asset su una pagina e assegnargli uno <em>scopo<\/em>. A sua volta, questo ci permette di dare forma ai nostri dati in un modo che siano significativi per le persone che non conoscono il significato di acronimi come CSS o WOFF. Oltre a ci\u00f2, a chi non piace un grafico a torta?<\/p>\n<p>Ecco il procedimento, passo a passo:<\/p>\n<ol>\n<li>Mettete i vostri dati sulla performance in un formato malleabile.<\/li>\n<li>Estraete le informazioni necessarie.<\/li>\n<li>Fate passare ogni oggetto, assegnando ad ogni richiesta di asset uno scopo.<\/li>\n<li>Calcolate il totale e modificate i dati in unit\u00e0 facilmente comprensibili.<\/li>\n<li>Create dei piacevoli grafici a torta.<\/li>\n<\/ol>\n<p>La prima volta che lo si fa in questo modo, l&#8217;audit potrebbe richiedere da mezz&#8217;ora a un&#8217;ora, ma con la pratica riuscirete a farlo in pochi minuti. Partiamo!<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section2\">Raccogliete i dati sulla performance<\/h2>\n<p>Per cominciare, capite quale URL volete valutare. Osservate le vostre statistiche e cercate di determinare quale sia il <em>tipo<\/em> di pagina pi\u00f9 popolare. Non usate di default la vostra home page. Per esempio, se avete un sito di notizie, \u00e8 probabile che il tipo di pagina pi\u00f9 popolare siano gli articoli. Se state analizzando una app single page, determinate quale sia la view a cui si accede pi\u00f9 comunemente.<\/p>\n<p>Dovete ottenere l&#8217;attivit\u00e0 di rete per quell&#8217;URL in un formato CSV\/spreadsheet. Nella mia esperienza, il modo pi\u00f9 semplice per farlo \u00e8 usare <a href=\"http:\/\/webpagetest.org\/\">WebPagetest<\/a>, il cui funzionamento \u00e8 semplice: dategli un URL e vi far\u00e0 una valutazione che cerca di misurare la performance percepita.<\/p>\n<p>Andate su WebPagetest e inserite il vostro URL nel grande campo sulla homepage. Comunque, prima di far partire il test, aprite il pannello Advanced Settings. Assicuratevi di fare un solo test e impostate <em>Repeat View<\/em> su <em>First View Only<\/em>. In questo modo sarete sicuri di non ricevere richieste duplicate nei vostri dati. Adesso fate partire il test: premete il grande pulsante \u201cStart Test\u201d.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-02.jpg\" border=\"0\" alt=\"Screenshot di WebPagetest\" width=\"100%\" \/><\/p>\n<p>Una volta che avrete la pagina con i risultati, cliccate il link nell&#8217;angolo in alto a destra che dice \u201cRaw object data\u201d.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-03.jpg\" border=\"0\" alt=\"Screenshot di WebPagetest che mostra i raw object data\" width=\"100%\" \/><\/p>\n<p>Potrete scaricare un file CSV con le vostre network request elencate in uno spreadsheet che potete manipolare.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section3\">Navigate nei dati e sistemateli<\/h2>\n<p>Ora, aprite il file CSV nel vostro editor di spreadsheet preferito: Excel, Numbers, o &#8211; personalmente il mio preferito &#8211; <a href=\"https:\/\/www.google.com\/sheets\/about\/\">Google Sheets<\/a>. Il resto di questo articolo sar\u00e0 scritto tenendo a mente Google Sheets, sebbene risultati simili sono sicuramente possibili con altri programmi per fogli di calcolo.<\/p>\n<p>Sulle prime probabilmente vi sembrer\u00e0 che tale file contenga una quantit\u00e0 esagerata di informazioni, ma noi siamo interessati solo ad una piccola parte di questi dati. Ecco le tre colonne che ci interessano:<\/p>\n<ul>\n<li><strong>Host<\/strong> (colonna F)<\/li>\n<li><strong>URL<\/strong> (colonna G)<\/li>\n<li><strong>Object Size<\/strong> (colonna N)<\/li>\n<\/ul>\n<p>Potete semplicemente ignorare le altre colonne, nasconderle o cancellarle. O ancora meglio: selezionate queste tre colonne, copiatele e incollatele in un <em>nuovo<\/em> spreadsheet.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section4\">Ispezionate ogni asset request<\/h2>\n<p>Nel vostro spreadsheet ridotto, inserite una nuova prima colonna ed etichettatela \u201cPurpose\u201d (fine, scopo). Potete anche includere una colonna Descrizione\/Commento, se volete.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-04.jpg\" border=\"0\" alt=\"Screenshot di un audit spreadsheet\" width=\"100%\" \/><\/p>\n<p>Poi, esaminate ciascuna riga ed assegnate un purpose ad ogni asset request. Suggerisco qualcosa di questo tipo:<\/p>\n<ul>\n<li><strong>Contenuto<\/strong> (e.g., il documento HTML centrale, immagini, media: le cose che interessano agli utenti)<\/li>\n<li><strong>Funzione<\/strong> (e.g., file JavaScript funzionali che avete creato, CSS, webfonts)<\/li>\n<li><strong>Statistiche<\/strong> (e.g., Google Analytics, New Relic, etc.)<\/li>\n<li><strong>Ads<\/strong> (e.g., Google DFP, qualsiasi ad network, etc.)<\/li>\n<\/ul>\n<p>I nomi del Purpose possono essere quelli che preferite, l&#8217;importante \u00e8 che le etichette per ogni purpose siano consistenti, per quel che riguarda le maiuscole e per tutto il resto. Si devono poter raggruppare appropriatamente per generare grafici ricercati in seguito. (Pro tip: usate la <a href=\"https:\/\/support.google.com\/docs\/answer\/186103?co=GENIE.Platform%3DDesktop&amp;hl=en\">data validation<\/a> su questa colonna per garantire la consistenza nel vostro spreadsheet).<\/p>\n<p>Ma come si determina il purpose? Tipicamente, l&#8217;indizio maggiore \u00e8 la colonna \u201cHost\u201d. Comincerete, molto rapidamente, dal riconoscere quali host forniscono cosa. Il vostro URL root sar\u00e0 da dove proviene il vostro documento, ma troverete anche:<\/p>\n<ul>\n<li><strong>URL dei CDN<\/strong> come cloudfront.net o cloudflare.com. A volte questi hanno immagini (che tipicamente sono contenuti), a volte ospitano i file CSS o JavaScript (la funzionalit\u00e0).<\/li>\n<li><strong>URL delle statistiche<\/strong> come googletagservices.com, googletagmanager.com, google-analytics.com o js-agent.newrelic.com.<\/li>\n<li><strong>URL degli ads<\/strong> come doubleclick.net o googlesyndication.com.<\/li>\n<\/ul>\n<p>===<\/p>\n<p>Se doveste essere insicuri riguardo a un URL, provatelo voi stessi nel vostro browser o fate letteralmente la ricerca dell&#8217;URL in Google. (Suggerimento: se non riconoscete subito l&#8217;URL, molto probabilmente \u00e8 collegato a un ad).<\/p>\n<h3 id=\"section5\">Consapevolezza<\/h3>\n<p>Gi\u00e0 fare gli step descritti prima probabilmente sar\u00e0 una rivelazione: fermarsi a considerare ciascun asset su una pagine e <em>perch\u00e9<\/em> si trova l\u00ec vi aiuter\u00e0 a prendere coscienza di ogni singola cosa che viene caricata dalla pagina.<\/p>\n<p>La prima volta che farete queste cose potreste avere delle sorprese: potrebbero saltar fuori alcuni item inattesi. Potrebbe essere che uno script venga caricato pi\u00f9 di una volta. Quella social widget potrebbe avere un grosso peso per la pagina. Le richieste provenienti dagli ads potrebbero essere pi\u00f9 numerose di quel che pensate. Questo \u00e8 il motivo per cui ho suggerito una colonna Descrizione\/Commento: potete segnarvi delle note come \u201cWTF?\u201d e \u201cPosso eliminarlo?\u201d.<\/p>\n<h3 id=\"section6\">Incrementare i vostri dati<\/h3>\n<p>Prima di poter generare dei graziosi grafici a torta, dovrete lavorare ancora un po&#8217; sullo spreadsheet. Uomo avvisato mezzo salvato: state per incontrare della nerditudine estrema riguardante i fogli di calcolo.<\/p>\n<p>Per prima cosa, dovete tradurre le dimensioni delle richieste in kilobyte (KB) perch\u00e9 vengono inizialmente fornite in byte e nessun umano parla in termini di byte. Poi, nella colonna \u201cObject Size\u201d inserite un&#8217;altra colonna chiamata \u201cObject Size (KB)\u201d. Poi inserite una formula nella prima cella, simile a questa:<\/p>\n<pre id=\"snippet1\"><code>=E2\/1000<\/code><\/pre>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-05.jpg\" border=\"0\" alt=\"Dettaglio dello spreadsheet dell'audit\" width=\"100%\" \/><\/p>\n<p>Traduzione: state semplicemente dividendo la quantit\u00e0 nella cella della colonna precedente (E2, in questo caso) per 1000. Potete evidenziare questa nuova cella e poi trascinare l&#8217;angolo verso il basso per tutta la lunghezza della colonna per fare la stessa cosa con ogni riga.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-06.gif\" border=\"0\" alt=\"GIF animata del processo di un spreadsheet\" width=\"100%\" \/><\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section7\">Sommate le richieste<\/h2>\n<p>Ora, per capire quante HTTP request sono collegate ad ogni Purpose, dovete fare un tipo di conteggio speciale. Inserite altre due colonne, una etichettata \u201cEtichette dello Purpose\u201d e la seconda \u201cRequest dello Purpose\u201d. Sotto Etichette dello Purpose, nella prima riga, inserite questa formula:<\/p>\n<pre id=\"snippet2\"><code>=SORT(UNIQUE(B2:B),1,TRUE)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-07.jpg\" border=\"0\" alt=\"Dettaglio dello spreadsheet\" width=\"100%\" \/><\/p>\n<p>Questo supponendo che la colonna con la valutazione dello scopo sia la B. Se non lo \u00e8, sostituite la \u201cB\u201c in questo esempio con il nome della vostra colonna. Questa formula scorrer\u00e0 lungo la colonna B e dar\u00e0 in output un risultato se \u00e8 <em>unico<\/em>. Dovete solo inserirla nella prima cella della colonna. Questo \u00e8 uno dei motivi per cui \u00e8 importante avere consistenza nella colonna Purpose.<\/p>\n<p>Ora, sotto la seconda colonna che avete creato (Request dello Purpose) nella prima cella, inserite questa formula:<\/p>\n<pre id=\"snippet3\"><code>=ARRAYFORMULA(COUNTIF(B2:B,G2:G))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-08.jpg\" border=\"0\" alt=\"Dettaglio dello spreadsheet\" width=\"100%\" \/><\/p>\n<p>Anche questa formula scorrer\u00e0 lungo la colonna B e far\u00e0 un <em>conto<\/em> se si abbina a qualcosa nella colonna G (supponendo che la colonna G sia la colonna Etichette dello Purpose). Questo \u00e8 il modo pi\u00f9 semplice per fare il totale di quante richieste HTTP ricadono in ciascun purpose.<\/p>\n<h3 id=\"section8\">Sommare la dimensione di download per scopo<\/h3>\n<p>Infine, potete ora sommare anche i dati (in KB) per ogni scopo. Inserite un&#8217;altra colonna e chiamatela Purpose Download Size. Nella prima cella, inserite la formula seguente:<\/p>\n<pre id=\"snippet4\"><code>=SUM(FILTER($F$2:F,$B$2:B=G2))<\/code><\/pre>\n<p>Questa sommer\u00e0 la dimensione dei dati nella colonna F <em>se<\/em> il suo scopo nella colonna B si abbina (match) G2 (ossia, il vostro primo Purpose Label dalla sezione sopra). Al contrario delle ultime due formule, dovrete copiare questa formula e modificarla per ogni riga, facendo abbinare (match) l&#8217;ultima parte (\u201cG2\u201d) alla riga in cui si trova. In questo caso, la seguende finir\u00e0 in \u201cG3\u201d.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-09.gif\" border=\"0\" alt=\"GIF animata che mostra uno spreadsheet process\" width=\"100%\" \/><\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section9\">Preparate i grafici fancy<\/h2>\n<p>Con i vostri asset raggruppati per scopo, con i dati tradotti in KB, con il numero di richieste contate e avendo sommato le dimensioni di download, sar\u00e0 piuttosto semplice generare alcuni grafici.<\/p>\n<h3 id=\"section10\">Il grafico delle HTTP request<\/h3>\n<p>Per realizzare un grafico delle HTTP request, selezionate le colonne Purpose Label e Purpose Reqs (colonne G e H nel mio esempio), e poi andate su Insert &gt; Chart. Scorrete nell&#8217;elenco di grafici possibili e scegliete quello a torta. Assicuratevi di spuntare il box contrassegnato da \u201cUse column G as labels.\u201d<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-10.jpg\" border=\"0\" alt=\"Screenshot che mostra il Chart Editor di Google Sheets\" width=\"100%\" \/><\/p>\n<p>Sotto il tab \u201cCustomization\u201d, modificate il Title in \u201cHTTP Requests\u201d; sotto \u201cSlice\u201d assicuratevi che \u201cValue\u201d sia selezionato (il default \u00e8 \u201cPercentage\u201d). Facciamo questo perch\u00e9 il numero delle richieste \u00e8 quello che vogliamo comunicare in questo caso.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2017\/07\/cullen-11.jpg\" border=\"0\" alt=\"Screenshot che mostra il Chart Editor di Google Sheets\" width=\"100%\" \/><\/p>\n<p>Andate avanti, modificate i colori a vostro piacimento. E gi\u00e0 che ci siete, <a href=\"http:\/\/www.marksimonson.com\/notebook\/view\/the-scourge-of-arial\">lasciate perdere Arial<\/a>.<\/p>\n<h3 id=\"section11\">Grafico della dimensione dei download<\/h3>\n<p>Il grafico a torta del Purpose \u201cdimensione del download\u201d \u00e8 molto simile. Selezionate le colonne Purpose Label e Purpose Download Size (colonne G &amp; I nel mio esempio), poi andate su Insert &gt; Chart. Scorrete la lista di possibili grafici e scegliete un grafico a torta. Assicuratevi di spuntare il box contrassegnato da \u201cUse column G as labels\u201d.<\/p>\n<p>Nel tab \u201cCustomization\u201d, modificate il Title in \u201cDownload Size\u201d. Sotto \u201cSlice\u201d assicuratevi anche di aver selezionato \u201cValue\u201d. Lo facciamo per poter indicare la somma in KB per ogni purpose.<\/p>\n<p>Oppure, potete prendere un template pronto. Se volete vedere un assessment completo, guardate <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1xtdyIhpXky5xK4Juxzh5UT70cdPBVI30baHQo9pwd5Y\/edit?usp=sharing\">quello che ho fatto<\/a> per un articolo di <a href=\"http:\/\/alistapart.com\/article\/javascript-for-web-designers\"><cite>A List Apart<\/cite><\/a>. Ho anche creato <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1EhA_IS0169phIRYh08L0xdG2cyURMtdlnwxzxflZaUU\/edit?usp=sharing\">un file vuoto con molte delle cose pi\u00f9 delicate degli spreadsheet gi\u00e0 fatte.<\/a>. Andate pure su File &gt; Make a Copy cos\u00ec potete giocarci un po&#8217;. Dovete solo ottenere i dati della vostra pagina da WebPagetest e copiarci le tre colonne. Dopo di che, potete cominciare la vostra valutazione riga per riga.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section12\">Distinguere il bene dal male<\/h2>\n<p>Se mostrate i vostri dati a uno stakeholder, potrebbe rimanere sorpreso da quanto peso della pagina web sia dovuto a cose come gli ads o le statistiche. D&#8217;altro canto, potrebbero rispondere chiedendo a cosa <em>dovremmo<\/em> puntare. \u00c8 un po&#8217; pi\u00f9 difficile rispondere a questa domanda.<\/p>\n<p>Alcuni benchmark sono un po&#8217; vaghi: 1 MB o meno, un WebPagetest Score di 1000, un punteggio di Google PageSpeed di pi\u00f9 di 90, e cos\u00ec via. Tuttavia si tratta di parametri molto arbitrari e, a seconda del vostro progetto, potrebbero essere ideali irraggiungibili.<\/p>\n<p>Il mio suggerimento? <em>Fate un assessment come questo sui vostri competitor.<\/em> Se tornate dai vostri stakeholder e mostrate loro come si posizionano due o tre competitor e quello che state facendo, andrete molto pi\u00f9 lontano nel sostenere la performance.<\/p>\n<p>Ricordate che la performance non \u00e8 mai \u201cfinita\u201d: pu\u00f2 solo migliorare. Quello che potrebbe aiutare la vostra azienda \u00e8 fare assessment come questo nel tempo e presentare la performance della pagina come una serie continua di grafici a barre. Con un po&#8217; di sforzo (e fortuna), dovreste essere in grado di dimostrare che le cose che stanno a cuore alla vostra organizzazione stanno migliorando continuamente. In caso contrario, presenterete un caso molto pi\u00f9 persuasivo a sostegno delle cose che devono cambiare in meglio.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section13\">E cos\u00ec abbiamo dei grafici carini. E adesso?<\/h2>\n<p>L&#8217;utilit\u00e0 dei vostri grafici varier\u00e0 a seconda delle esigenze di business precise della vostra azienda e delle politiche della vostra organizzazione.<\/p>\n<p>Per esempio, supponiamo che siate sviluppatori e un project manager vi chieda di aggiungere un altro script per le metriche degli ads al vostro sito. Dopo aver completato una valutazione come quella di cui sopra, potreste essere in grado di tornare dal project manager e dire: \u201cGli ads costituiscono gi\u00e0 il 40% del peso della nostra pagina. Vuole davvero aggiungerne altro?\u201d<\/p>\n<p>Dal momento che avete attribuito un <em>purpose, uno scopo,<\/em> alle vostre asset request, sarete in grado di offrire dati come questo. Una volta ho lavorato con un project manager che aveva cominciato a respingere tali richieste perch\u00e9 ero in grado di dargli dei dati facili da capire come questi. Non sto dicendo che succeder\u00e0 sempre cos\u00ec, ma dovete dare ai decision maker delle informazioni che possano carpire.<\/p>\n<p>Ricordatevi, inoltre, che siete voi i responsabili della colonna Purpose. Potete inventare qualsiasi scopo vogliate. Siete interessati all&#8217;impatto che hanno i file movie sul vostro sito rispetto a tutto il resto? Create un purpose \u201cMovies\u201d. Volete confrontare i file dei framework rispetto a quelli che avete redatto personalmente? Fatelo!<\/p>\n<p>Spero che questo articolo vi faccia prendere in considerazione, per poi riconsiderare, ogni singola cosa che scaricate su una data pagina. Ogni singola richiesta. E, mentre lo fate, spero che siate equipaggiati per evidenziare per scopo ogni item che chiedete ai vostri utenti di scaricare. Questo vi permetter\u00e0 di parlare lo stesso <em>linguaggio<\/em> con i vostri stakeholder e vi aiuter\u00e0 a sostenere scelte migliori per la performance.<\/p>\n<p>Ulteriori letture:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1EhA_IS0169phIRYh08L0xdG2cyURMtdlnwxzxflZaUU\/edit#gid=500586842\">Il mio template di spreadsheet disponibile pubblicamente<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1xtdyIhpXky5xK4Juxzh5UT70cdPBVI30baHQo9pwd5Y\/edit#gid=500586842\">Un campione di assessment completato di una pagina di un articolo di <cite>A List Apart<\/cite><\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/docs\/topic\/1361474?hl=en&amp;ref_topic=2811806\">Documentazione di Google Sheets sul lavorare con i grafici<\/a><\/li>\n<li><a href=\"https:\/\/sites.google.com\/a\/webpagetest.org\/docs\/\">Documentazione di WebPagetest<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A volte, dobbiamo far passare tutti i vestiti che abbiamo nell&#8217;armadio uno a uno per separare quelli da buttare, quelli che non vogliamo tenere e quelli comprati d&#8217;impulso da quelli di cui abbiamo davvero bisogno. Chip Cullen sostiene che fare di tanto in tanto un audit della performance a mano ci dia un&#8217;immagine dettagliata del nostro lavoro, aumenti la nostra consapevolezza di quello che chiediamo ai nostri utenti e ci permetta di dare forma a quello che abbiamo scoperto in modi che hanno senso per gli stakeholder.<\/p>\n","protected":false},"author":818,"featured_media":7000820,"comment_status":"open","ping_status":"open","template":"","categories":[184,278],"tags":[],"coauthors":[510],"class_list":["post-741","article","type-article","status-publish","has-post-thumbnail","hentry","category-numero-206-27-giugno-2017","category-workflow-tools"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article\/741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/users\/818"}],"replies":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/comments?post=741"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media\/7000820"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media?parent=741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/categories?post=741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/tags?post=741"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/coauthors?post=741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}