”Molnets” påverkan på krav- och testarbete

2009-10-20 Artikelbanken Test Läst 14090 gånger

Den senaste tiden har diskussionen i media handlat om ”Molnet” och att de system och tjänster vi använder oss av kommer att finnas där i framtiden. Vad ”Molnet” är kan ibland vara svårt att förstå men än svårare är det att förstå hur ”Molnet” påverkar oss som arbetar med kravhantering och test.

Detta har gjort mig nyfiken på vad ”Molnet” egentligen innebär och hur det förändrar vår vardag, vilket jag är säker på att det kommer att göra! Det är dags att vi alla börjar fundera på hur ”Molnet” kommer att påverka vårt arbete.

Vad är ”Molnet”?

För att förstå hur krav- och testarbetet kommer att påverkas måste vi förstå vad ”Molnet” är. Tyvärr finns det inget enkelt svar på vad ”Molnet” är eftersom det finns många områden som inkluderas i begreppet, exempelvis:

  • Software as a Service, SaaS (mjukvara som tjänst)
  • Platform as a Service, PaaS (utvecklingsplattform som tjänst för utveckling av molntjänster)
  • Infrastructure as a Service, IaaS (infrastruktur som tjänst)

Begreppet ”Molnet” används om alla av ovanstående områden samt ytterligare några som är något mer ovanliga än så länge. Ett sätt att åskådliggöra hur alla områden av tjänster i ”Molnet” hänger ihop visas i bilden nedan.

Hur olika områden för tjänster i "Molnet" samverkar

Utvecklingsmiljöer för molntjänster

Det har det senaste året släppts flera utvecklingsverktyg som molntjänster för att utveckla andra molntjänster. Ett exempel är Force.com från Salesforce.com där man kan bygga molntjänster som då hamnar i deras driftsmiljö. Andra exempel på sådana utvecklingsmiljöer är Microsoft Azure, Google App Engine och Amazon Web Services. Dessa utvecklingsverktyg är exempel på det som kallas PaaS.

En utvecklare som använder något PaaS-verktyg behöver inte ta hänsyn till underliggande hårdvara, nätverk eller mjukvara som operativsystem och webbläsare. Det medför att utvecklingstiden sjunker markant. Effekten blir då att vi snabbare kan få tillgång till exempelvis prototyper för kravinsamling och test. Utvecklaren behöver inte heller fundera på skalbarhet eftersom det är inbyggt i PaaS. Behövs mer kapacitet finns hela PaaS-leverantörens datorhall tillgänglig direkt!

Baksidan av PaaS är att kontrollmöjligheten minskar då informationen och tjänsten i sig finns hos företaget som står bakom plattformen. Informationen kommer sannolikt att lagras i något annat land än det där kundens verksamhet finns vilket kan vara ett juridiskt problem eller uppfattas som ett säkerhetsproblem. Utvecklingstiden minskar och förväntan kan vara att tiden för krav- och testarbete minskar lika mycket. Eller blir den totala ledtiden densamma med ökad tid för krav- och testarbete?

Kravarbete för molntjänster

För en kund som ska skaffa en ny molntjänst finns det i huvudsak tre olika vägar:

  • Prenumerera på en befintlig tjänst i molnet (SaaS).
  • Egenutvecklad molntjänst med hjälp av utvecklingsmiljön i ett PaaS-alternativ.
  • Upphandlad utveckling av molntjänst med hjälp av utvecklingsmiljön i ett PaaS-alternativ.

För prenumeration på SaaS blir kravarbetet mycket likt det arbetet som vanligen görs vid införskaffande av ett standardsystem. Det finns dock vissa tydliga skillnader. Precis som för standardsystem kravställs vilka funktioner systemet ska ha. Skillnaden är att inga krav på miljö, versionshantering eller andra liknande funktioner behövs då tjänsten inte kommer att finnas i din miljö. Som kund har du väldigt liten eller ingen påverkan på när en ny version av tjänsten blir installerad. Det sker oavsett om det passar dig eller inte. Likaså har du väldigt liten eller ingen kontroll över var tjänsten driftas. Är detta något som är viktigt för din verksamhet att ha kontroll över, så är det något du bör fokusera på i kravställningen. Låt då detta vara avgörande i valet av leverantör.

När det gäller tjänster som är utvecklade via PaaS är det något lättare att kravställa var information lagras och driftas. Detta beror på att en del PaaS-alternativ ger möjlighet att välja mellan lagring i ett företagsinternt ”moln” eller i det vanliga ”Molnet”.

Vid tjänsteutveckling via PaaS är det nödvändigt att mer detaljerat kravställa det som skall utvecklas jämfört med kravställning på en prenumerationstjänst. Då utveckling med PaaS går snabbare än traditionell utveckling är det möjligt att pröva lösningar via utveckling av prototyper. Prototyper, som alltid är ett utmärkt kravinsamlingsverktyg, blir nu ett av de viktigaste kravinsamlingsverktygen och möjliggör dessutom tidig test.

En av de saker du måste fundera på vid beställning av molntjänster är vilken PaaS du vill ska användas. Utan ett medvetet val riskerar du att få specialutvecklade tjänster som ligger i flera olika leverantörers moln. Vill du samla alla dina tjänster på ett ställe måste du därför kravställa i vilket ”moln” du vill att tjänsten ska leva. Sker utvecklingen internt är detta vanligen ett mindre problem då man ofta har standardiserat på ett PaaS-alternativ. Vid val av PaaS bör du också kravställa tillgänglighet, prestanda och säkerhetsnivåer för tjänsterna som ska byggas. Alla leverantörer av PaaS har nivåer för dessa fastställda och ditt behov på dessa områden kan styra valet av PaaS-leverantör.

Som kund måste du säkerställa vad som händer med molntjänsten om PaaS-leverantören skulle gå i konkurs. Har leverantören något Escrow1-förfarande som säkerställer drift åtminstone under en period efter konkursen? Du måste också säkerställa att din information då inte ägs av konkursförvaltaren utan av dig själv. Alla de större leverantörerna av PaaS har dessa försäkringar i sina avtal men väljer du någon annan leverantör måste du se till att detta är hanterat. Granska avtalet och ställ frågorna!

1. Förvaring av källkod hos juridiskt ombud (eller motsvarande). Har leverantören Escrow-avtal får kunden tillgång till källkoden och kan fortsätta utvecklingen på egen hand om leverantören går i konkurs.

Test vid utveckling av molntjänster

På samma sätt som vid kravarbetet är den tydligaste skillnaden i testarbetet den mellan test av befintliga tjänster och test av tjänster som utvecklas speciellt för oss.

För en specialutvecklad molntjänst finns det stora möjligheter att bedriva en effektiv testning. Det är möjligt att testa de prototyper som tas fram för att få lösning och funktionalitet verifierad. Eftersom utvecklingstiderna är så mycket kortare vid utveckling av molntjänster kan testverksamheten behöva anpassas till detta. För att säkerställa tillräckligt mycket tid för testarbete bör vi påbörja testarbetet så tidigt som möjligt. Test med hjälp av prototyperna som tas fram vid kravinsamling är då ett enkelt sätt att komma igång med testarbetet. Prototyperna kan exempelvis användas för användningstester för att säkerställa att användarna förstår hur en uppgift ska utföras.

Det kan underlätta arbetet om någon agil utvecklingsmetod används för hela utvecklingsarbetet. För testarbetet innebär det att utforskande testning kan rekommenderas. Det beror på att metoden bygger på att vi lär oss tjänsten medan vi testar den vilket sker naturligt vid test av prototyper. Det är också möjligt att utveckla tjänsten med hjälp av testdriven utveckling.

När det gäller färdig mjukvara som hyrs som tjänst är vår enda möjlighet att genomföra ett ”Proof of concept” genom att pröva tjänsten under någon tid. Den utvärderingen tar då form av ett Acceptanstest . Målet är att säkerställa att molntjänsten möter de behov som vår verksamhet har.

Om leverantören inte skulle låta en kund pröva en tjänst kostnadsfritt är det mycket svårt att veta vad som köps. Det kanske kan ses som ett Acceptanstest i sig som talar emot valet av tjänsten. Sannolikheten är stor att den leverantören inte kommer att vara lyhörd för kundens behov framåt heller.

Nästa steg

  • Börja fundera på hur ”Molnet” påverkar krav- och testarbetet för dig.
  • I kurserna Effektiv Kravhantering och Effektiv Testmetodik får du lära dig om iterativ kravhantering och test med praktiska tekniker som prototyper och användningstester. Iterativt arbete blir ännu viktigare i samband med ”Molnet”.
  • Faktabanken innehåller kostnadsfria dokument om kravhantering och test.
  • Konferensen Att lyckas med krav 18/11 ger dig värdefull kunskap i hur du lyckas med ditt kravarbete.

KONTAKTA OSS

Har du frågor? Vill du ha hjälp med områden inom kravhantering och test?
Hör av dig till oss! Vi hjälper dig gärna. 

Kontakt 

Dela artikeln