{"id":230089,"date":"2022-11-18T15:11:00","date_gmt":"2022-11-18T12:11:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230089"},"modified":"2022-11-09T20:03:03","modified_gmt":"2022-11-09T17:03:03","slug":"olio-ohjelmointi-wordpressissae-asiakkaiden-odotusten-ymmaertaeminen","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/olio-ohjelmointi-wordpressissae-asiakkaiden-odotusten-ymmaertaeminen\/","title":{"rendered":"Olio-ohjelmointi WordPressiss\u00e4: Asiakkaiden odotusten ymm\u00e4rt\u00e4minen"},"content":{"rendered":"\n<p>Kun jatkamme keskustelua <a href=\"https:\/\/tommcfarlin.com\/tag\/object-oriented-programming-in-wordpress\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">oliosuuntautuneesta ohjelmoinnista WordPressiss\u00e4<\/a>, on t\u00e4rke\u00e4\u00e4 varmistaa, ettemme hypp\u00e4\u00e4 itsemme edell\u00e4, kun on kyse tuotteen rakentamisesta jollekin toiselle.<\/p>\n<p>Niin usein on helppoa:<\/p>\n<ol>\n<li>kuulla mit\u00e4 asiakas sanoo,<\/li>\n<li>rakentaa jotain sen perusteella, mit\u00e4 olemme kuulleet,<\/li>\n<li>luovuta se mainitulle asiakkaalle.<\/li>\n<\/ol>\n<p>Mutta siin\u00e4 on paljon muutakin. Olen tanssinut sen ymp\u00e4rill\u00e4 t\u00e4m\u00e4n sarjan aiemmissa viesteiss\u00e4; Haluan kuitenkin alkaa perehty\u00e4 siihen, mit\u00e4 tarkoittaa kuulla:<\/p>\n<ol>\n<li>Mit\u00e4 asiakas sanoo,<\/li>\n<li>Kehit\u00e4 joukko vaatimuksia,<\/li>\n<li>Ja sitten luoda palautesilmukoita sen ymp\u00e4rille.<\/li>\n<\/ol>\n<p>Viime k\u00e4dess\u00e4 haluamme varmistaa, ett\u00e4 ihmiset, joille ty\u00f6skentelemme, ja ratkaisut, joita rakennamme, ovat todella ratkaisuja eiv\u00e4tk\u00e4 esteit\u00e4 tai esteit\u00e4, joiden yli heid\u00e4n t\u00e4ytyy hyp\u00e4t\u00e4.<\/p>\n<p>Lis\u00e4ksi mielest\u00e4ni ei riit\u00e4, ett\u00e4 asiakas vain nauttii lopputuotteestaan \u200b\u200bkokemuksesta, vaan my\u00f6s siit\u00e4, ett\u00e4 h\u00e4n ty\u00f6skentelee ratkaisun rakentajan (tai niiden) kanssa.<\/p>\n<p>T\u00e4m\u00e4n j\u00e4lkeen katsotaanpa, mit\u00e4 tarkoittaa kuunnella, mit\u00e4 he sanovat, ja menn\u00e4 siit\u00e4 eteenp\u00e4in.<\/p>\n<h2>Asiakkaiden odotusten ymm\u00e4rt\u00e4minen<\/h2>\n<p>Aina kun luet kirjoja tai muuta materiaalia t\u00e4m\u00e4nkaltaisista asioista, se tekee usein toisesta osapuolesta &quot;pahan kaverin&quot;. Ei aina, mutta joskus se tekee:<\/p>\n<ul>\n<li>asiakas n\u00e4ytt\u00e4\u00e4 tiet\u00e4m\u00e4tt\u00f6m\u00e4lt\u00e4, mist\u00e4 he puhuvat,<\/li>\n<li>tai se saa kehitt\u00e4j\u00e4n n\u00e4ytt\u00e4m\u00e4\u00e4n \u00e4\u00e4li\u00f6lt\u00e4, koska h\u00e4n toimii kuin joku, joka tiet\u00e4\u00e4 enemm\u00e4n k\u00e4sill\u00e4 olevasta aiheesta.<\/li>\n<\/ul>\n<p>Ent\u00e4 kolmas vaihtoehto, jossa asiakkaalla on selke\u00e4 k\u00e4sitys siit\u00e4, mit\u00e4 h\u00e4n haluaa, kehitt\u00e4j\u00e4(t) ovat valmiita kuuntelemaan ja ty\u00f6skentelem\u00e4\u00e4n yhdess\u00e4 asiakkaan kanssa rakentaakseen jotain?<\/p>\n<p>Tietysti matkan varrella tulee selvennyksi\u00e4, ja tulee olemaan termej\u00e4, jotka on m\u00e4\u00e4ritelt\u00e4v\u00e4, ja kehityskalenterin &quot;uudelleenkalibrointi&quot; saattaa jopa olla osa sit\u00e4.<\/p>\n<p>Mutta lopputulos on t\u00e4m\u00e4: kummankaan osapuolen ei pit\u00e4isi ty\u00f6skennell\u00e4 toista vastaan. Sen sijaan kyse on yhdess\u00e4 tekemisest\u00e4 ratkaisun l\u00f6yt\u00e4miseksi. Toki se vaatii viestint\u00e4\u00e4 (miss\u00e4 kehitt\u00e4j\u00e4t eiv\u00e4t kokemukseni mukaan aina ole hyvi\u00e4, mutta ei ole mit\u00e4\u00e4n syyt\u00e4, miksi se ei voisi olla parempi).<\/p>\n<h3>Mit\u00e4 asiakas sanoo? (Mit\u00e4 kehitt\u00e4j\u00e4 sanoo?)<\/h3>\n<p>Aina kun tapaatte, ajattelette todenn\u00e4k\u00f6isesti samaa asiaa, koska puhutte kumpikin eri kielt\u00e4 ja jokainen teist\u00e4 ajattelee, ett\u00e4 toinen sanonta on <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\">ammattikielt\u00e4<\/a>.<\/p>\n<p>Ja se ei ole v\u00e4\u00e4rin.<\/p>\n<p>Asiakkailla on tapa puhua siit\u00e4, mit\u00e4 he haluavat, ja kehitt\u00e4jill\u00e4 on tapa puhua siit\u00e4, kuinka he toimittavat.<\/p>\n<h3>K\u00e4ytt\u00e4m\u00e4mme ehdot<\/h3>\n<p>Mutta yhteinen tavoite voi olla.<\/p>\n<blockquote>\n<p>Pyri kuvaamaan ongelmaa, jota yritet\u00e4\u00e4n ratkaista. Yrit\u00e4 tehd\u00e4 se maallikon termein niin, ett\u00e4 muotoilu on linjassa ratkaisun tavoitteen ja toimivuuden kanssa.<\/p>\n<\/blockquote>\n<p>En usko, toimiiko t\u00e4m\u00e4 kaikille, mutta t\u00e4m\u00e4 on ensimm\u00e4inen asia, jonka suosittelen tekem\u00e4\u00e4n aina, kun istut alas asiakkaasi kanssa.<\/p>\n<p>Kuten n\u00e4et my\u00f6hemmin n\u00e4ist\u00e4 viesteist\u00e4, se auttaa kehitt\u00e4m\u00e4\u00e4n muutaman lauseen, joita voit k\u00e4ytt\u00e4\u00e4 ty\u00f6selostuksen alussa ja joihin voit palata joka kerta, kun sinun on teht\u00e4v\u00e4 p\u00e4\u00e4t\u00f6s.<\/p>\n<p>Toisin sanoen sin\u00e4 (ja he) voit kysy\u00e4:<\/p>\n<blockquote>\n<p>Edist\u00e4\u00e4k\u00f6 se, mink\u00e4 parissa ty\u00f6skentelen, yhteist\u00e4 tavoitetta?<\/p>\n<\/blockquote>\n<p>Ja t\u00e4ss\u00e4 voit m\u00e4\u00e4ritt\u00e4\u00e4 ydinvaatimukset.<\/p>\n<h3>&#8221;Sen t\u00e4ytyy\u2026&quot;<\/h3>\n<p>Kun tulee jotain ostamaan, rakentamaan, pyyt\u00e4m\u00e4\u00e4n jotain, haluamaan jotain tai mit\u00e4 tahansa, on melko helppoa aloittaa lause &quot;Haluan sen\u2026&quot;<\/p>\n<p>Mutta &quot;haluan sen tekev\u00e4n [jotain]&quot; ja &quot;tarvitsen sit\u00e4 [tehd\u00e4kseni jotain]&quot; v\u00e4lill\u00e4 on suuri ero, ja kun ty\u00f6skentelet ohjelmistojen parissa, on yleens\u00e4 turvallista sanoa, ett\u00e4 tarvittavat asiat ovat ydin sovellukseen. Ja asioita, joita halutaan, tulevat sen j\u00e4lkeen, kun sovelluksen perusta on rakennettu.<\/p>\n<p>Toisin sanoen, se on keskustelu &quot;pakollinen&quot; ja &quot;halua saada&quot;. Ja on t\u00e4rke\u00e4\u00e4 k\u00e4yd\u00e4 keskusteluja, jotta p\u00e4\u00e4set siihen lopulliseen lausumaan sovelluksen yhteisest\u00e4 tavoitteesta.<\/p>\n<p>Kun se on tehty, voit aloittaa ohjelmiston suunnittelun asiakkaan ongelman ymp\u00e4rille. Ja t\u00e4ss\u00e4 tulee esiin vaatimusten ker\u00e4\u00e4minen.<\/p>\n<h2>Kehitt\u00e4misvaatimukset<\/h2>\n<p>Mit\u00e4 sinulla ja asiakkaalla on vankka k\u00e4sitys siit\u00e4, mit\u00e4 on rakennettava, on aika koota vaatimukset.<\/p>\n<p>T\u00e4m\u00e4 osa voi olla hauskempaa kuin milt\u00e4 se kuulostaa. Tied\u00e4n, tied\u00e4n: Kuulostaa kotiteht\u00e4vilt\u00e4 tai teht\u00e4v\u00e4lt\u00e4, eik\u00f6 niin? Mutta se ei ole. Sen sijaan se ottaa sen, mit\u00e4 he haluavat, mit\u00e4 olet ymm\u00e4rt\u00e4nyt, k\u00e4\u00e4nt\u00e4m\u00e4ll\u00e4 sen yhteiselle kielelle ja kirjoittamalla sitten asiakirjan, joka selitt\u00e4\u00e4, mit\u00e4 ohjelmisto tekee.<\/p>\n<p>Kokemuksestasi riippuen t\u00e4m\u00e4 voi kuitenkin olla tyls\u00e4\u00e4. Ja tyls\u00e4ll\u00e4 tarkoitan yht\u00e4 ty\u00f6si pahimmista osista. Sit\u00e4 paitsi vaatimukset muuttuvat aina, eik\u00f6 niin?<\/p>\n<p>Ei aina.<\/p>\n<p>Jos otat aikaa ymm\u00e4rt\u00e4\u00e4ksesi, mit\u00e4 he haluavat alusta alkaen, vaatimusten ei tarvitse olla 50-sivuinen asiakirja, jossa esitet\u00e4\u00e4n, kuinka jokaisen yksitt\u00e4isen moduulin on toimittava.<\/p>\n<p>Monet kirjat dokumentoivat sen sanovan, ett\u00e4 n\u00e4in sen t\u00e4ytyy olla. Mutta l\u00e4hes vuosikymmenen aikana minulla ei ole koskaan ollut mit\u00e4\u00e4n n\u00e4in pitk\u00e4\u00e4, ja asiakkaat ovat yleens\u00e4 olleet uskomattoman kiitollisia n\u00e4hdess\u00e4\u00e4n lyhyen luettelon, jota voidaan muuttaa s\u00e4hk\u00f6postitse tai Google-dokumenteissa, allekirjoittaa ja jota kutsutaan sitten projektin siirroiksi. eteenp\u00e4in.<\/p>\n<p>Puhun siit\u00e4 lis\u00e4\u00e4 tulevaisuudessa, mutta mit\u00e4 tahansa huonoa kokemusta sinulla on, pelk\u00e4\u00e4t tai pelk\u00e4\u00e4t, sinun ei tarvitse istua. Ja jatkamme siit\u00e4 puhumista t\u00e4m\u00e4n sarjan kautta.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Asiakkaiden odotusten ymm\u00e4rt\u00e4minen on yht\u00e4 t\u00e4rke\u00e4\u00e4 kuin asiakkaiden ymm\u00e4rt\u00e4minen, mihin pystyt. Ja sit\u00e4 t\u00e4ss\u00e4 postauksessa k\u00e4sitell\u00e4\u00e4n.<\/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":[719,895,843],"tags":[1166],"class_list":["post-230089","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-opetusohjelmia","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=230089"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230089\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/165308"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=230089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=230089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=230089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}