Elin Holm och Isak Åberg från Cederquist ger här i en artikel tips på vad du som företagare behöver tänka på när du tecknar avtal om mjukvaruutveckling.
Det finns en hel del saker att tänka på när ni ingår avtal om mjukvaruutveckling. Här listar vi några av de viktigaste:
Det första steget är att fundera över vad det är ni behöver utifrån er affärsidé. Ta fram en kravlista för appen, till exempel om vilka funktioner den ska ha, hur användargränssnittet ska se ut, vilka plattformar den ska kunna tillhandahållas på, vilka system den ska ha gränssnitt mot och vilka säkerhetskrav den ska uppfylla.
Utifrån kravlistan får utvecklaren ta fram ett förslag till specifikation för sin utveckling, som kommer att utgöra kärnan i avtalet. Ska utvecklingen ske agilt tas det inte fram någon specifikation vid avtalstecknande, utan istället används så kallade Use Cases, User Stories och Story Maps. Oavsett projektmetod är det centralt att ni ser till att de krav ni har på er app är tydligt uttryckta i avtalet.
En viktig fråga är om utvecklaren ska bygga appen från grunden eller om befintlig mjukvara kan användas till någon del. Befintlig mjukvara kan antingen vara utvecklarens egen mjukvara, tredje parts standardmjukvara som licensieras eller öppen källkod/open source som inte kostar något att använda men som måste användas enligt gällande licensvillkor (Tips: läs vår tidigare artikel om vad du bör tänka på när du använder open source här).
Om befintlig mjukvara ska användas måste ni klargöra tre saker innan ni tecknar avtal med utvecklaren; Vilka rättigheter ni får att använda den befintliga mjukvaran, vilka begränsningar som finns och vilka eventuella licenskostnader ni kommer att ha för den befintliga mjukvaran.
När ni är överens om vilka krav som appen ska uppfylla och vilken mjukvara som ska utvecklas/återanvändas är nästa steg att besluta om leveransmodell. Här är alternativen:
I de flesta utvecklingsprojekt är utveckling i projektform att föredra, eftersom utvecklaren då tar ett tydligare ansvar för att leverera ett resultat. Projektet kan bedrivas enligt vattenfallsmodellen eller med agil utvecklingsmetod. Avtalet behöver se litet olika ut, beroende på vald projektmetod.
Projektavtalet ska innehålla vad utvecklaren ska leverera, när det ska levereras och hur det ska levereras. Några viktiga saker som måste regleras i avtalet är:
Er betalning av ersättning under projektavtalet bör vara kopplad till projektplanen. En bra utgångspunkt är att ni som beställare inte ska betala full ersättning förrän resultat (eller delresultat/milstolpe) har levererats och godkänts av er. Då har utvecklaren ett extra incitament att leverera det ni har kommit överens om.
Precis som ersättning funkar som morot bör också finnas en piska i förhållande till tidsplanen Detta har ofta formen av ett förseningsvite som innebär att utvecklaren får betala ett visst belopp vid försening, till exempel x% av priset för projektet för varje påbörjad förseningsvecka.
Utgångspunkten är att upphovsmannen (utvecklaren) äger upphovsrätten till den mjukvara som utvecklas. För att ni ska få upphovsrätten måste ni alltså reglera det i avtalet. När det gäller mjukvara är det dock inte alltid nödvändigt att få upphovsrätten. Utvecklaren kan ha intresse att behålla upphovsrätten för att licensiera ut mjukvaran till andra eller återanvända den i framtida utvecklingar. Att låta utvecklaren behålla upphovsrätten behöver inte alltid vara ett problem för er som beställare och kan resultera i att ni kan betala ett lägre pris för utvecklingen. I många fall kan det vara tillräckligt för en beställare att avtalet innehåller omfattande nyttjanderätt (licens) till utvecklingen.
Utvecklaren bör i avtalet alltid garantera att det som levereras inte innebär ett intrång i någon annans immateriella rättigheter, det vill säga att utvecklingen inte utan tillåtelse innehåller någon annans mjukvara.
Genom avtalet kommer utvecklaren få ta del av uppgifter som ni antagligen inte vill ska komma allmänheten eller någon annan till känna. Låt därför utvecklaren förbinda sig till att behandla alla uppgifter konfidentiellt.
Utvecklaren kan också komma att behandla personuppgifter om exemplevis era kunder. Personuppgiftslagen ställer då krav på att det ska finnas en så kallad personuppgiftsbiträdesklausul i ert avtal med utvecklaren. Glöm inte att Sverige får en ny dataskyddsförordning, GDPR, i maj 2018. Läs mer om hur ni ska hantera personuppgifter här.