{"id":229529,"date":"2022-11-18T15:03:00","date_gmt":"2022-11-18T12:03:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229529"},"modified":"2022-11-09T08:20:21","modified_gmt":"2022-11-09T05:20:21","slug":"objektorienterad-programmering-i-wordpress-foerstaa-kundernas-foervaentningar","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/objektorienterad-programmering-i-wordpress-foerstaa-kundernas-foervaentningar\/","title":{"rendered":"Objektorienterad programmering i WordPress: F\u00f6rst\u00e5 kundernas f\u00f6rv\u00e4ntningar"},"content":{"rendered":"\n<p>N\u00e4r vi forts\u00e4tter att diskutera <a href=\"https:\/\/tommcfarlin.com\/tag\/object-oriented-programming-in-wordpress\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">objektorienterad programmering i WordPress<\/a>, \u00e4r det viktigt att vi ser till att vi inte hoppar f\u00f6re oss sj\u00e4lva n\u00e4r det g\u00e4ller att bygga en produkt f\u00f6r n\u00e5gon annan.<\/p>\n<p>S\u00e5 ofta \u00e4r det l\u00e4tt att:<\/p>\n<ol>\n<li>h\u00f6r vad en kund s\u00e4ger,<\/li>\n<li>bygga ut n\u00e5got baserat p\u00e5 vad vi har h\u00f6rt,<\/li>\n<li>l\u00e4mna \u00f6ver det till n\u00e4mnda kund.<\/li>\n<\/ol>\n<p>Men det \u00e4r s\u00e5 mycket mer \u00e4n s\u00e5. Jag har dansat runt det lite i tidigare inl\u00e4gg i den h\u00e4r serien; men jag vill b\u00f6rja g\u00e5 in p\u00e5 vad det inneb\u00e4r att h\u00f6ra:<\/p>\n<ol>\n<li>Vad en kund s\u00e4ger,<\/li>\n<li>Utveckla en upps\u00e4ttning krav,<\/li>\n<li>Och skapa sedan feedback-loopar kring det.<\/li>\n<\/ol>\n<p>I slut\u00e4ndan vill vi se till att de m\u00e4nniskor som vi arbetar f\u00f6r och l\u00f6sningarna som vi bygger verkligen \u00e4r l\u00f6sningar och inte hinder eller hinder som de m\u00e5ste hoppa \u00f6ver.<\/p>\n<p>Dessutom tror jag inte att det r\u00e4cker med att en kund helt enkelt njuter av upplevelsen av sin slutprodukt, utan med att arbeta med den (eller de) som bygger l\u00f6sningen ocks\u00e5.<\/p>\n<p>Med det sagt, l\u00e5t oss ta en titt p\u00e5 vad det inneb\u00e4r att lyssna p\u00e5 vad de s\u00e4ger och g\u00e5 d\u00e4rifr\u00e5n.<\/p>\n<h2>F\u00f6rst\u00e5 kundernas f\u00f6rv\u00e4ntningar<\/h2>\n<p>N\u00e4r du l\u00e4ser b\u00f6cker eller annat material kring den h\u00e4r typen av grejer, g\u00f6r det ofta en av tv\u00e5 av parterna till &quot;bad guy&quot;. Inte alltid, men ibland g\u00f6r det:<\/p>\n<ul>\n<li>kunden verkar okunnig om vad de pratar om,<\/li>\n<li>eller s\u00e5 f\u00e5r utvecklaren att verka som en idiot f\u00f6r att agera som n\u00e5gon som vet mer om det aktuella \u00e4mnet.<\/li>\n<\/ul>\n<p>Vad s\u00e4gs om ett tredje alternativ d\u00e4r kunden har en klar uppfattning om vad de vill ha, utvecklaren\/utvecklarna \u00e4r villiga att lyssna och arbeta tillsammans med kunden f\u00f6r att bygga n\u00e5got?<\/p>\n<p>Visst, det kommer att bli ett f\u00f6rtydligande l\u00e4ngs v\u00e4gen, och det kommer att finnas termer som m\u00e5ste definieras, och n\u00e5gon &quot;omkalibrering&quot; av utvecklingskalendern kan till och med vara en del av den.<\/p>\n<p>Men slutsatsen \u00e4r denna: ingendera parten b\u00f6r motarbeta den andra. Ist\u00e4llet handlar det om att arbeta tillsammans f\u00f6r l\u00f6sningen. Visst, det kr\u00e4ver kommunikation (vilket utvecklare inte alltid \u00e4r bra p\u00e5, enligt min erfarenhet, men det finns ingen anledning till att det inte kan bli b\u00e4ttre).<\/p>\n<h3>Vad s\u00e4ger en kund? (Vad s\u00e4ger utvecklaren?)<\/h3>\n<p>N\u00e4r ni tr\u00e4ffas t\u00e4nker ni troligen samma sak eftersom ni talar olika spr\u00e5k och var och en av er tycker att det som den andra s\u00e4ger \u00e4r <a href=\"https:\/\/www.google.com\/search?client=safari&#038;rls=en&#038;q=define+jargon&#038;ie=UTF-8&#038;oe=UTF-8\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">jargong<\/a>.<\/p>\n<p>Och det \u00e4r inte fel.<\/p>\n<p>Kunder har ett s\u00e4tt att prata om vad de vill ha, och utvecklare har ett s\u00e4tt att prata om hur de ska leverera.<\/p>\n<h3>Villkoren vi anv\u00e4nder<\/h3>\n<p>Men det kan finnas ett gemensamt m\u00e5l.<\/p>\n<blockquote>\n<p>Sikta p\u00e5 en beskrivning av problemet som f\u00f6rs\u00f6ker l\u00f6sas. F\u00f6rs\u00f6k att g\u00f6ra det i lekmannatermer s\u00e5 att designen st\u00e4mmer \u00f6verens med l\u00f6sningens m\u00e5l och och funktionalitet.<\/p>\n<\/blockquote>\n<p>Jag tror inte om detta kommer att fungera f\u00f6r alla, men det h\u00e4r \u00e4r det f\u00f6rsta jag rekommenderar att du g\u00f6r n\u00e4r du sitter ner med din klient.<\/p>\n<p>Som du kommer att se senare i de h\u00e4r inl\u00e4ggen hj\u00e4lper det att utveckla n\u00e5gra meningar som du kan anv\u00e4nda i b\u00f6rjan av din arbetsbeskrivning som du kan h\u00e4nvisa tillbaka till varje g\u00e5ng du har ett beslut att fatta.<\/p>\n<p>Med andra ord kan du (och de) fr\u00e5ga:<\/p>\n<blockquote>\n<p>Bidrar det jag arbetar med till det gemensamma m\u00e5let?<\/p>\n<\/blockquote>\n<p>Och det \u00e4r h\u00e4r du kan best\u00e4mma k\u00e4rnkraven.<\/p>\n<h3>&quot;Det m\u00e5ste&#8230;&quot;<\/h3>\n<p>N\u00e4r det g\u00e4ller att k\u00f6pa n\u00e5got, bygga n\u00e5got, beg\u00e4ra n\u00e5got, vilja ha n\u00e5got eller vad som helst, \u00e4r det ganska l\u00e4tt att b\u00f6rja meningen med att s\u00e4ga &quot;Jag vill att det ska&#8230;&quot;<\/p>\n<p>Men det \u00e4r stor skillnad mellan &quot;jag vill att den ska g\u00f6ra [g\u00f6ra n\u00e5got]&quot; och &quot;jag beh\u00f6ver den [f\u00f6r att g\u00f6ra n\u00e5got]&quot;, och n\u00e4r du arbetar med mjukvara \u00e4r det i allm\u00e4nhet s\u00e4kert att s\u00e4ga att de saker som beh\u00f6vs \u00e4r k\u00e4rnan till ans\u00f6kan. Och de saker som \u00f6nskas \u00e4r det som kommer efter att grunden till applikationen har byggts.<\/p>\n<p>Det vill s\u00e4ga, det \u00e4r en konversation om &quot;m\u00e5ste-ha&quot; och &quot;vill-ha&quot;. Och det \u00e4r viktigt att ha konversationer s\u00e5 att du kan komma fram till den slutliga redog\u00f6relsen f\u00f6r det gemensamma m\u00e5let med ans\u00f6kan.<\/p>\n<p>N\u00e4r det \u00e4r p\u00e5 plats kan du b\u00f6rja och sedan planera din programvara kring kundens problem. Och det \u00e4r d\u00e4r kravsamlingen spelar in.<\/p>\n<h2>Utveckla krav<\/h2>\n<p>Vad du och kunden har en gedigen f\u00f6rst\u00e5else f\u00f6r vad som beh\u00f6ver byggas, d\u00e5 \u00e4r det dags att s\u00e4tta ihop krav.<\/p>\n<p>Den h\u00e4r delen kan vara roligare \u00e4n den l\u00e5ter. Jag vet, jag vet: Det l\u00e5ter som l\u00e4xor eller n\u00e5gon uppgift, eller hur? Men det \u00e4r inte. Ist\u00e4llet \u00e4r det att ta vad de vill ha, vad du har f\u00f6rst\u00e5tt, \u00f6vers\u00e4tta det till ett gemensamt spr\u00e5k och sedan skriva ett dokument som f\u00f6rklarar vad programvaran kommer att g\u00f6ra.<\/p>\n<p>Beroende p\u00e5 din erfarenhet kan detta dock vara tr\u00e5kigt. Och med tr\u00e5kigt menar jag en av de v\u00e4rsta delarna av ditt jobb. Dessutom f\u00f6r\u00e4ndras kraven alltid, eller hur?<\/p>\n<p>Inte alltid.<\/p>\n<p>Om du tar dig tid att f\u00f6rst\u00e5 vad de vill fr\u00e5n b\u00f6rjan, s\u00e5 beh\u00f6ver inte kraven vara ett 50-sidigt dokument som beskriver hur varje enskild modul m\u00e5ste fungera.<\/p>\n<p>M\u00e5nga b\u00f6cker dokumenterar det som att det \u00e4r s\u00e5 h\u00e4r det m\u00e5ste vara. Men under n\u00e4stan ett decennium av att g\u00f6ra det h\u00e4r har jag aldrig haft n\u00e5got s\u00e5 l\u00e5ngt och kunderna har i allm\u00e4nhet varit otroligt tacksamma \u00f6ver att se en kort lista som kan \u00e4ndras via e-post eller Google Dokument, undertecknas och sedan kallas projektet flyttar fram.<\/p>\n<p>Jag kommer att prata mer om det i framtiden, men vilken d\u00e5lig erfarenhet du \u00e4n har, \u00e4r du r\u00e4dd eller b\u00e4van du har beh\u00f6ver inte sitta. Och det kommer vi att forts\u00e4tta prata om genom den h\u00e4r serien.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Att f\u00f6rst\u00e5 kundernas f\u00f6rv\u00e4ntningar \u00e4r lika viktigt som att kunderna f\u00f6rst\u00e5r vad du kan g\u00f6ra. Och det \u00e4r vad som tas upp i det h\u00e4r inl\u00e4gget.<\/p>\n","protected":false},"author":1,"featured_media":165308,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[848,901,724],"tags":[1173],"class_list":["post-229529","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-koda","category-utvecklaren","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=229529"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229529\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/165308"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=229529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=229529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=229529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}