{"id":62841,"date":"2024-01-25T20:11:34","date_gmt":"2024-01-25T11:11:34","guid":{"rendered":"https:\/\/monolith.law\/fi\/?p=62841"},"modified":"2024-01-29T13:42:19","modified_gmt":"2024-01-29T04:42:19","slug":"server-infrastructure-for-system-development","status":"publish","type":"post","link":"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development","title":{"rendered":"Mik\u00e4 on lains\u00e4\u00e4d\u00e4nn\u00f6llinen ongelma liittyen palvelin- ja infrastruktuuriin j\u00e4rjestelm\u00e4kehityksess\u00e4?"},"content":{"rendered":"\n<p>Yrityksiss\u00e4 k\u00e4ytett\u00e4v\u00e4t IT-j\u00e4rjestelm\u00e4t luodaan tietyss\u00e4 mieless\u00e4 laatimalla m\u00e4\u00e4rittely- ja suunnitteluasiakirjoja ja kirjoittamalla niit\u00e4 vastaavaa l\u00e4hdekoodia. Kuitenkin, ei riit\u00e4, ett\u00e4 otetaan huomioon vain n\u00e4m\u00e4 pehme\u00e4t n\u00e4k\u00f6kohdat, vaan j\u00e4rjestelm\u00e4 toimii todellisuudessa vasta, kun on olemassa fyysinen tietokone, toisin sanoen infrastruktuuri. T\u00e4ss\u00e4 artikkelissa k\u00e4sitell\u00e4\u00e4n infrastruktuurin alueeseen liittyvi\u00e4 oikeudellisia kysymyksi\u00e4, jotka ovat merkitt\u00e4vi\u00e4 IT-j\u00e4rjestelm\u00e4n kehitysprojekteissa.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_53 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Mita_infrastruktuuri_tarkoittaa_IT-jarjestelmissa\" title=\"Mit\u00e4 infrastruktuuri tarkoittaa IT-j\u00e4rjestelmiss\u00e4\">Mit\u00e4 infrastruktuuri tarkoittaa IT-j\u00e4rjestelmiss\u00e4<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Mita_konkreettisia_tilanteita_projektin_epaonnistumiseen_johtavat_infrastruktuuriongelmat\" title=\"Mit\u00e4 konkreettisia tilanteita projektin ep\u00e4onnistumiseen johtavat infrastruktuuriongelmat?\">Mit\u00e4 konkreettisia tilanteita projektin ep\u00e4onnistumiseen johtavat infrastruktuuriongelmat?<\/a><ul class='ez-toc-list-level-3'><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Miten_palvelimen_koon_virheellinen_maarittaminen_voi_johtaa_riitoihin\" title=\"Miten palvelimen koon virheellinen m\u00e4\u00e4ritt\u00e4minen voi johtaa riitoihin?\">Miten palvelimen koon virheellinen m\u00e4\u00e4ritt\u00e4minen voi johtaa riitoihin?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Tapauksen_ydin_on_toimittajan_vastuun_laajuus_epaselvien_vaatimusten_suhteen\" title=\"Tapauksen ydin on toimittajan vastuun laajuus ep\u00e4selvien vaatimusten suhteen\">Tapauksen ydin on toimittajan vastuun laajuus ep\u00e4selvien vaatimusten suhteen<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Toimenpiteet_virheellisen_palvelinkoon_maarittamisen_aiheuttamien_ongelmien_estamiseksi\" title=\"Toimenpiteet virheellisen palvelinkoon m\u00e4\u00e4ritt\u00e4misen aiheuttamien ongelmien est\u00e4miseksi\">Toimenpiteet virheellisen palvelinkoon m\u00e4\u00e4ritt\u00e4misen aiheuttamien ongelmien est\u00e4miseksi<\/a><ul class='ez-toc-list-level-3'><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Palvelinkoon_maarittamisen_vastuun_selkeyttaminen_sopimuksessa\" title=\"Palvelinkoon m\u00e4\u00e4ritt\u00e4misen vastuun selkeytt\u00e4minen sopimuksessa\">Palvelinkoon m\u00e4\u00e4ritt\u00e4misen vastuun selkeytt\u00e4minen sopimuksessa<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Kehitysvaatimusten_konkretisointi_ja_muutoshallinnan_taydellinen_toteuttaminen\" title=\"Kehitysvaatimusten konkretisointi ja muutoshallinnan t\u00e4ydellinen toteuttaminen\">Kehitysvaatimusten konkretisointi ja muutoshallinnan t\u00e4ydellinen toteuttaminen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Projektin_luonteeseen_sopivan_kehitysmallin_valinta\" title=\"Projektin luonteeseen sopivan kehitysmallin valinta\">Projektin luonteeseen sopivan kehitysmallin valinta<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/monolith.law\/fi\/it\/server-infrastructure-for-system-development\/#Yhteenveto\" title=\"Yhteenveto\">Yhteenveto<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mita_infrastruktuuri_tarkoittaa_IT-jarjestelmissa\"><\/span>Mit\u00e4 infrastruktuuri tarkoittaa IT-j\u00e4rjestelmiss\u00e4<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>J\u00e4rjestelm\u00e4nkehitt\u00e4j\u00e4t tunnetaan nimell\u00e4 j\u00e4rjestelm\u00e4insin\u00f6\u00f6rit (SE). Kehitysprojektit alkavat yleens\u00e4 yl\u00e4virran prosesseista, kuten m\u00e4\u00e4rittely- ja suunnitteluasiakirjojen luomisesta, ja jatkuvat ohjelmiston toteutuksella ja sen testauksella. Yleisesti ottaen voidaan sanoa, ett\u00e4 laajemmin m\u00e4\u00e4riteltyn\u00e4 j\u00e4rjestelm\u00e4insin\u00f6\u00f6ri (SE) on teknikko, joka hoitaa kaikki n\u00e4m\u00e4 tarvittavat teht\u00e4v\u00e4t. Kuitenkin yrityksiss\u00e4 ja ty\u00f6paikoilla teht\u00e4v\u00e4nkuvat ja vastuualueet voivat vaihdella, ja niit\u00e4 voidaan eritell\u00e4 tarkemmin eri nimikkeill\u00e4. Infrastruktuuri-insin\u00f6\u00f6ri on termi, joka viittaa teknikkoon, jonka teht\u00e4v\u00e4n\u00e4 on erityisesti fyysisen tietokoneen toimintaymp\u00e4rist\u00f6n yll\u00e4pito IT-j\u00e4rjestelm\u00e4n kehitys- ja k\u00e4ytt\u00f6prosessissa. Yrityksiss\u00e4 ja ty\u00f6paikoilla k\u00e4ytett\u00e4v\u00e4t IT-j\u00e4rjestelm\u00e4t ovat er\u00e4\u00e4nlaisia abstrakteja rakennelmia, jotka koostuvat l\u00e4hdekoodin yhdistelmist\u00e4. Jotta n\u00e4m\u00e4 j\u00e4rjestelm\u00e4t voivat kuitenkin toimia odotetulla tavalla, on v\u00e4ltt\u00e4m\u00e4t\u00f6nt\u00e4 rakentaa infrastruktuuri, joka sis\u00e4lt\u00e4\u00e4 palvelimet ja verkon. J\u00e4rjestelm\u00e4nkehitys etenee ohjelmiston l\u00e4hdekoodin toteutuksen ja sen toimintaymp\u00e4rist\u00f6\u00e4 tukevan infrastruktuurin yll\u00e4pidon rinnakkain. T\u00e4m\u00e4 n\u00e4k\u00f6kulma on t\u00e4rke\u00e4 my\u00f6s odottamattomien ongelmien ehk\u00e4isemiseksi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mita_konkreettisia_tilanteita_projektin_epaonnistumiseen_johtavat_infrastruktuuriongelmat\"><\/span>Mit\u00e4 konkreettisia tilanteita projektin ep\u00e4onnistumiseen johtavat infrastruktuuriongelmat?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/monolith.law\/wp-content\/uploads\/2019\/10\/shutterstock_1532780735-1024x620.jpg\" alt=\"\" class=\"wp-image-5570\" \/><figcaption class=\"wp-element-caption\">Infrastruktuurin laiminly\u00f6nti voi johtaa projektin ep\u00e4onnistumiseen.<\/figcaption><\/figure>\n\n\n\n<p>J\u00e4rjestelm\u00e4kehitysprojekteissa voi todellisuudessa tapahtua, ett\u00e4 keskityt\u00e4\u00e4n liikaa abstraktiin ohjelmointiin ja l\u00e4hdekoodin suunnitteluun, ja infrastruktuurin kehitt\u00e4minen j\u00e4\u00e4 huomiotta. Kuitenkin, jos n\u00e4m\u00e4 kaksi eiv\u00e4t kulje k\u00e4si k\u00e4dess\u00e4, se voi johtaa projektin ep\u00e4onnistumiseen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Miten_palvelimen_koon_virheellinen_maarittaminen_voi_johtaa_riitoihin\"><\/span>Miten palvelimen koon virheellinen m\u00e4\u00e4ritt\u00e4minen voi johtaa riitoihin?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Esimerkiksi, kun ohjelman toteutus ja testaus on saatu p\u00e4\u00e4t\u00f6kseen, saattaa paljastua, ett\u00e4 palvelimen suorituskyky ei riit\u00e4 ja j\u00e4rjestelm\u00e4 ei kest\u00e4 k\u00e4yt\u00e4nn\u00f6n k\u00e4ytt\u00f6\u00e4. T\u00e4m\u00e4 ongelma voidaan ennakoida arvioimalla, kuinka paljon kuormitusta j\u00e4rjestelm\u00e4 voi kest\u00e4\u00e4 k\u00e4ytt\u00f6vaiheessa, ja kehitt\u00e4m\u00e4ll\u00e4 infrastruktuuri j\u00e4rjestelm\u00e4n kokoa vastaavaksi. T\u00e4t\u00e4 kutsutaan &#8220;sizingiksi&#8221;. On ollut tapauksia, joissa palvelimen koon virheellinen m\u00e4\u00e4ritt\u00e4minen on johtanut ongelmiin. (Vaikka t\u00e4m\u00e4 ongelma on ratkaistu sovinnolla, voit tutustua t\u00e4h\u00e4n tunnettuun tapaukseen.) Lis\u00e4tietoja sovinnon kautta ratkaistavista riidoista l\u00f6yd\u00e4t seuraavasta artikkelista.<\/p>\n\n\n\n<p><a href=\"https:\/\/monolith.law\/corporate\/disputes-related-to-system-development\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/monolith.law\/corporate\/disputes-related-to-system-development[ja]<\/a><\/p>\n\n\n\n<p>Riidan ratkaiseminen sovinnolla tarkoittaa yksinkertaisesti sit\u00e4, ett\u00e4 molemmat osapuolet ovat p\u00e4\u00e4sseet sopimukseen keskustelujen kautta. Toisin kuin tuomioistuimen antamassa tuomiossa, sovintoratkaisu ei ole ennakkotapaus, vaan se on yksil\u00f6llinen ratkaisu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tapauksen_ydin_on_toimittajan_vastuun_laajuus_epaselvien_vaatimusten_suhteen\"><\/span>Tapauksen ydin on toimittajan vastuun laajuus ep\u00e4selvien vaatimusten suhteen<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Kuitenkin, n\u00e4iden riitojen ydin on usein se, kuinka pitk\u00e4lle toimittajan tulisi kantaa vastuu asioista, joita ei ole m\u00e4\u00e4ritelty vaatimuksissa. T\u00e4m\u00e4n huomioon ottaen, voit saada paljon vinkkej\u00e4 seuraavasta artikkelista.<\/p>\n\n\n\n<p><a href=\"https:\/\/monolith.law\/corporate\/system-development-specs-function\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/monolith.law\/corporate\/system-development-specs-function[ja]<\/a><\/p>\n\n\n\n<p>Yll\u00e4 olevassa artikkelissa selitet\u00e4\u00e4n, kuinka pitk\u00e4lle toimittajan tulisi ottaa vastuuta asioista, joita ei ole m\u00e4\u00e4ritelty vaatimuksissa. T\u00e4ss\u00e4 yhteydess\u00e4 selitet\u00e4\u00e4n, ett\u00e4 &#8220;n\u00e4yt\u00f6n&#8221; puolella (eli &#8220;frontend&#8221; -alueella), joka voidaan helposti visualisoida vaatimusm\u00e4\u00e4rittelyiss\u00e4 ja perussuunnitteludokumenteissa, ja &#8220;logiikan&#8221; puolella (eli &#8220;backend&#8221; tai &#8220;tietokanta&#8221; -alueella), kuten datan siirrossa, on suuria eroja. Toisin sanoen, tilaajat\/k\u00e4ytt\u00e4j\u00e4t, jotka eiv\u00e4t yleens\u00e4 ole erikoistuneet j\u00e4rjestelm\u00e4kehitysprojekteihin, ovat todenn\u00e4k\u00f6isemmin vastuussa &#8220;n\u00e4yt\u00f6n&#8221; puolen ongelmista, koska ne ovat helpommin havaittavissa. Toisaalta, &#8220;logiikan&#8221; puolen ongelmat ovat todenn\u00e4k\u00f6isemmin toimittajan vastuulla. Ottaen huomioon n\u00e4m\u00e4 seikat, palvelimen koon m\u00e4\u00e4ritt\u00e4miseen liittyv\u00e4t ongelmat ovat todenn\u00e4k\u00f6isesti toimittajan vastuulla, koska ne ovat vaikeasti havaittavissa ilman teknist\u00e4 asiantuntemusta. Siksi, jos t\u00e4st\u00e4 asiasta joudutaan k\u00e4ym\u00e4\u00e4n oikeutta, toimittajan puolella on todenn\u00e4k\u00f6isesti haittaa, ellei ole aktiivisia syit\u00e4 vapauttaa toimittaja vastuusta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Toimenpiteet_virheellisen_palvelinkoon_maarittamisen_aiheuttamien_ongelmien_estamiseksi\"><\/span>Toimenpiteet virheellisen palvelinkoon m\u00e4\u00e4ritt\u00e4misen aiheuttamien ongelmien est\u00e4miseksi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/monolith.law\/wp-content\/uploads\/2019\/10\/shutterstock_1501344230-1024x717.jpg\" alt=\"\" class=\"wp-image-5572\" \/><figcaption class=\"wp-element-caption\">K\u00e4ymme l\u00e4pi konkreettisia toimenpiteit\u00e4 ongelmien ennaltaehk\u00e4isemiseksi.<\/figcaption><\/figure>\n\n\n\n<p>Jotta voimme est\u00e4\u00e4 aiemmin mainitut ongelmat, on t\u00e4rke\u00e4\u00e4, ett\u00e4 ohjelmiston toteutus, l\u00e4hdekoodin kirjoittaminen ja infrastruktuurin ymp\u00e4rist\u00f6n valmistelu kulkevat k\u00e4si k\u00e4dess\u00e4. Konkreettisia toimenpiteit\u00e4 voivat olla esimerkiksi seuraavat:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Palvelinkoon_maarittamisen_vastuun_selkeyttaminen_sopimuksessa\"><\/span>Palvelinkoon m\u00e4\u00e4ritt\u00e4misen vastuun selkeytt\u00e4minen sopimuksessa<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Ei ainoastaan n\u00e4iss\u00e4 tapauksissa, vaan useimmissa j\u00e4rjestelm\u00e4nkehitysprojekteihin liittyviss\u00e4 kiistoissa, ongelmat johtuvat usein siit\u00e4, ett\u00e4 j\u00e4rjestelm\u00e4nkehityksen asiantuntijan eli toimittajan ja yrityksen sis\u00e4isi\u00e4 olosuhteita tuntevan k\u00e4ytt\u00e4j\u00e4n roolien jakaminen on ep\u00e4selv\u00e4\u00e4. Vaikka molempien osapuolten tiivis yhteisty\u00f6 on v\u00e4ltt\u00e4m\u00e4t\u00f6nt\u00e4 projektin sujuvalle etenemiselle, on t\u00e4rke\u00e4\u00e4, ett\u00e4 roolien jakaminen ja vastuualueet m\u00e4\u00e4ritell\u00e4\u00e4n mahdollisimman selke\u00e4sti sopimuksessa etuk\u00e4teen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Kehitysvaatimusten_konkretisointi_ja_muutoshallinnan_taydellinen_toteuttaminen\"><\/span>Kehitysvaatimusten konkretisointi ja muutoshallinnan t\u00e4ydellinen toteuttaminen<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Lis\u00e4ksi, jos alun perin toteutettavien toiminnallisten vaatimusten m\u00e4\u00e4rittely on ep\u00e4selv\u00e4\u00e4, kiistojen riski kasvaa. T\u00e4m\u00e4 liittyy sek\u00e4 alkuper\u00e4isten vaatimusten m\u00e4\u00e4rittelyvaiheen eritelmien selkeytt\u00e4miseen ett\u00e4 projektin aikana tapahtuvan muutoshallinnan molempiin n\u00e4k\u00f6kulmiin. Kuinka projektin aikana tapahtuviin eritelmien muutoksiin tulisi reagoida, selitet\u00e4\u00e4n yksityiskohtaisesti seuraavassa artikkelissa.<\/p>\n\n\n\n<p><a href=\"https:\/\/monolith.law\/corporate\/howto-manage-change-in-system-development\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/monolith.law\/corporate\/howto-manage-change-in-system-development[ja]<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Projektin_luonteeseen_sopivan_kehitysmallin_valinta\"><\/span>Projektin luonteeseen sopivan kehitysmallin valinta<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Lis\u00e4ksi, ja t\u00e4m\u00e4 liittyy syv\u00e4sti kahteen edell\u00e4 mainittuun toimenpiteeseen, on t\u00e4rke\u00e4\u00e4 valita j\u00e4rjestelm\u00e4nkehitysprojektin luonteen ja laajuuden mukaan sopiva kehitysmalli. Yleisesti ottaen, jos kyseess\u00e4 on tietyn kokoluokan j\u00e4rjestelm\u00e4n kehitys, jossa palvelinkoon m\u00e4\u00e4ritt\u00e4minen on t\u00e4rke\u00e4\u00e4, vesiputousmallin k\u00e4ytt\u00f6\u00f6noton edut, joka soveltuu eritelmien ja vastuualueiden selkeytt\u00e4miseen, kasvavat. Projektin luonteen huomioon ottavan sopivan kehitysmallin valinnasta kerrotaan yksityiskohtaisemmin seuraavassa artikkelissa.<\/p>\n\n\n\n<p><a href=\"https:\/\/monolith.law\/corporate\/legal-merits-and-demerits-of-development-model\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/monolith.law\/corporate\/legal-merits-and-demerits-of-development-model[ja]<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Yhteenveto\"><\/span>Yhteenveto<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>J\u00e4rjestelm\u00e4kehitysprojektien sujuvan etenemisen kannalta, infrastruktuurin ymp\u00e4rill\u00e4 tapahtuvat ongelmat, jotka alkavat ymp\u00e4rist\u00f6n j\u00e4rjestelyist\u00e4, ovat helposti sivuutettavia kohtia. Teknologian asiantuntijoiden ulkopuolella infrastruktuuriongelmien huomioiminen ei ole v\u00e4h\u00e4inen taakka. Kuitenkin, n\u00e4iden ongelmien ennaltaehk\u00e4isy liittyy suoraan perusasioihin, kuten &#8220;vaatimusten selkeytt\u00e4minen \/ muutosten hallinnan tiukentaminen&#8221;, &#8220;roolien \/ vastuualueiden selkeytt\u00e4minen&#8221; ja &#8220;projektin kokoon ja budjettiin sopivan kehitysmallin valinta&#8221;. Yritysjuridiikan parissa ty\u00f6skentelevien tulisi ensisijaisesti ymm\u00e4rt\u00e4\u00e4, ett\u00e4 infrastruktuuriongelmiin voidaan soveltaa ennaltaehk\u00e4isev\u00e4\u00e4 oikeudellista perustaa. Lis\u00e4ksi, jos olet IT-alan asiantuntija, on t\u00e4rke\u00e4\u00e4 ymm\u00e4rt\u00e4\u00e4, ett\u00e4 infrastruktuuriongelmat voivat aiheuttaa vakavia riskej\u00e4 projektille, ja hallita ty\u00f6skentely\u00e4 sujuvasti.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yrityksiss\u00e4 k\u00e4ytett\u00e4v\u00e4t IT-j\u00e4rjestelm\u00e4t luodaan tietyss\u00e4 mieless\u00e4 laatimalla m\u00e4\u00e4rittely- ja suunnitteluasiakirjoja ja kirjoittamalla niit\u00e4 vastaavaa l\u00e4hdekoodia. Kuitenkin, ei riit\u00e4, ett\u00e4 otetaan huom [&hellip;]<\/p>\n","protected":false},"author":32,"featured_media":64208,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[19,31],"acf":[],"_links":{"self":[{"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/posts\/62841"}],"collection":[{"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/comments?post=62841"}],"version-history":[{"count":2,"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/posts\/62841\/revisions"}],"predecessor-version":[{"id":64209,"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/posts\/62841\/revisions\/64209"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/media\/64208"}],"wp:attachment":[{"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/media?parent=62841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/categories?post=62841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monolith.law\/fi\/wp-json\/wp\/v2\/tags?post=62841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}