Puh: 040-123 45 67
Sekä ohjelmistoprojektin alussa että sen aikana on tärkeää huomioida yhteiset toimintatavat ja ohjeistaa niistä projektissa mukana olevia ihmisiä. Yhteisesti sovitut ja kaikilla käytössä olevat toimintatavat helpottavat sekä projektin skaalaamista että asiantuntijoiden yhteistoimintaa projektin aikana.
Projektin ohjeistuksessa määritellään projektin tärkeät osa-alueet, joihin kohdistuu erityisiä vaatimuksia. Osa-alueille määritellään myös tavoitteet. Vaikka toisinaan on järkevää määritellä työkalu tai tekniikka jota työskentelyssä käytetään, ohjeistuksesta tulee selkeämpi määrittelemällä tavoite. Ohjeistuksen on oltava pikkutarkka sellaisten osa-alueiden osalta, joilla on vaikutusta ja näkyvyyttä projektin organisaation ulkopuolella. Tällaisia alueita ovat esimerkiksi versionumerot ja projektin julkaisujen erityispiirteet.
Ohjeistuksen osa-alueita ovat esimerkiksi:
- Koodin organisointi
- Arkkitehtuuri
- Julkaisujen hallinta
- Ympäristöjen hallinta
- Laadunvarmistus
- Ohjeistus
Koodin organisointi
Koodin organisoinnissa määritellään sekä se, missä koodia säilytetään että kehitystyön toimintatavat. Tässä kohtaa voidaan esimerkiksi vaatia vertaisarviointia, ohjeistaa versionhallinnan haarojen merkityksistä ja nimeämiskäytännöistä tai antaa suositukset projektissa käytettävistä työkaluista. Muita huomioon otettavia asioita ovat yleiset laatuvaatimukset työssä käytetyille kirjastoille ja ohjeistus arkkitehtuurista (esimerkiksi mikroarkkitehtuuri, kontteihin kohdistuvat vaatimukset, sovellusten logitus tai telemetria). Myös käytettyjen kirjastojen tietoturvapäivitysten seuraaminen kuuluu koodin organisointiin.
Arkkitehtuuri
Arkkitehtuuriohjeistuksessa määritellään ja ohjeistetaan sovellusarkkitehtuurin vaatimukset. Ohjeistuksen kohdeyleisö on projektin sovelluskehittäjät. Myös ajoympäristöön kohdistuvat vaatimukset pitää määritellä, varsinkin jos se on osa sovellusprojektia.
Julkaisujen hallinta
Julkaisujen hallinta on erityisen tärkeää kun projektilla on paljon käyttäjiä tai projektissa tuotetaan mobiiliapplikaatioita. Julkaistaessa voidaan muun muassa tehdä tietoturva-analyysi sovellukselle, ajaa laajimmat automaattitestit ja tehdä hyväksyntätestausta ennen julkaisua. Mobiilijulkaisuissa ajoituksella on myös suuri merkitys, sillä Android- ja iOS-sovellusmarkettien julkaisuviive vaihtelee. Tässä osassa on tärkeää myös määritellä kenellä on oikeus luoda tuotantoon meneviä julkaisuja.
Ympäristöjen hallinta
Ympäristöillä tarkoitetaan tässä muun muassa kehitys-, testaus- ja tuotantoympäristöjä. Kullakin ympäristöllä on omat vaatimuksensa ja tarpeensa. Tyypillisesti kehitysympäristössä kehittäjillä on oikeus tehdä hyvin laajasti asioita, kun taas tuotantoympäristö on hyvin suljettu. Kullakin ympäristöllä on omat tietokannat ja tietovarastot. Niiden suorituskykyvaatimukset, skaalautuvuus ja virheenkestävyysvaatimukset vaihtelevat ympäristöittäin.
Laadunvarmistus
Laadunvarmistus määrittelee muun muassa sen, mitä oletetaan tehtävän kehityksen aikana ja julkaisua valmisteltaessa. Mikä on vaadittu testipeittävyys? Kuinka testiautomaatio suunnitellaan? Mitä testataan? Missä vaiheissa ajetaan mitkäkin automaattitestit?
Ohjeistus
Ohjeistuksen ohjeistuksessa kerrotaan mihin ja miten ohjeistus ja muut sovellusdokumentit tuotetaan. Siinä kerrotaan tehdäänkö koodin oheen niin kutsuttu readme.md-tiedosto ja mitä se mahdollisesti pitää pitää sisällään. Ohjeistuksen ohjeistus kattaa myös sen, miten projektin muun dokumentoinnin ja ohjeistuksen kanssa toimitaan.
Hyvillä, projektin tekijöiden kanssa yhteisesti sovituilla toimintatavoilla helpotetaan projektissa työskentelyä. Selkeä ohjeistus auttaa myös välttämään tiedon siiloutumista tekijöiden välillä. Työskentelyn tehokkuus ja laatu paranevat kun kaikki tekijät pelaavat yhteisillä, selkeillä säännöillä.