Utveckling av e-tjänster

elobinalogo

Kundcase: Elobina
New Seed har hjälpt Elobina utveckla sin unika webbtjänst. Elobinas system är en helt vanlig webbutik i grunden fast med en mycket avancerad produkteditor där kunder kan beställa sina egenskapande textilprodukter. Bakom kuliserna är där en rad e-tjänster som samverkar och bildar Elobinas tekniska plattform.

Ett av New Seeds främsta område är utveckling av e-tjänster. Med erfarenhet sedan 1999 av att utveckla e-tjänster har vi varit med och skapat flera e-handelstjänster, onlinebetalningasystem, bokningsprogram, dokumenthanteringssystem, affärssystem med mycket mera. NewSeed har även varit med och tagit fram integrationer mellan olika system eller att modernisera gamla system via exempelvis utbyggnad av ett REST API framför.

Behöver ni hjälp med en eller flera av följande punkter?

  • Val av teknisk plattform
  • Teknisk pitch för en startup
  • Proof-of-concept för ny e-tjänst
  • Utveckling av e-tjänst
  • Anpassning till mobila enheter
  • App eller inte en app?

New Seed har lång erfarenhet och kan både hjälpa er i en rådgivande roll eller utföra arbetet. Vi har jobbat med såväl Mac som PC, Android som Apple och har en lång och bred erfarenhet av utveckling av e-tjänster. Tekniker vi ofta arbetar med är Java, JavaScript, NodeJS, Perl, PHP med flera. Vi har använt både Amazon AWS och Azure i samarbete med våra kunder.

Hur tar man fram en ny e-tjänst?

Att bygga en ny e-tjänst är ofta en mycket kreativ process som kräver mycket mer än bara programmeringskunskap. Förenklat kan man dela upp utvecklingen i följande faser:

  • Analys – här analyseras behoven som finns. Vad ska e-tjänsten göra? Vad är syftet? Vem är intressenter?
  • Förslag – utifrån analysen tar vi fram en grov beskrivning av e-tjänsten. Här beskrivs vilka funktioner som ska finnas (och inte finnas!). Grov tidsuppskattning för utvecklingstiden.
  • Detaljerad beskrivning – en detaljbeskrivning av vad som ska utvecklas arbetas fram. Här listas de olika funktionerna och dess syfte. Ibland används user stories eller andra metoder för att illustrera funktion. Under detta steg väljer man också vilken teknisk plattform som ska användas samt programmeringsspråk.
  • Implementation – Den faktiska utvecklingen påbörjas! Detta är ofta en iterativ process där man kan testa av delar efterhand som de blir klara. Vi jobbar med agila utvecklingsmetoder. Inte sällan stöter man på problem eller annat som får en att omarbeta beskrivningen.
  • Testning – Beroende på utvecklingsmetod kan delar av denna process vara automatiserad. För att få bra kvalité i slutresultatet så kräver det dock ett engagerat testande som helst inte alls ska utföras av de som har programmerat e-tjänsten.
  • Publicering – En driftsättning av tjänsten planeras. Detta kan innebära problem om e-tjänsten ska ersätta en befintlig struktur.
  • Förvaltning – Projektet överlämnas till förvaltning. Från NewSeed tar vi fram förvaltningsdokumentation om hur e-tjänsten underhålls. Exempelvis hur säkerhetskopiering eller felsökning ska hanteras.

Dessa steg kan ske i olika omfattning och ofta iterativt. Det är också starkt beroende av hur omfattande utvecklingen är.

Hur väljer man teknisk plattform?

Hur vet man vilket programmeringsspråk eller teknisk plattform som är rätt för e-tjänsten? Det är en mycket svår fråga och den har inget generellt svar. Rent generellt bör man beakta frågor som hur länge förväntas e-tjänsten finnas? Hur ser kompetensen ut på marknaden för de tekniker vi väljer? Om man har ett långt tidsperspektiv så kanske man ska välja beprövade tekniker snarare än de allra senaste.

Exempelvis är Java och C# språk som har haft popularitet under en längre tid, om man väljer de språken som bas så vet man att de med stor sannolikhet kommer att finnas länge framöver eftersom det dels finns en stor mängd utvecklare med kompetens inom språken men även en stor mängd program som drivs av dessa språk som därmed inte kommer att försvinna över en överskådlig framtid. Väljer man däremot ett språk såsom Python eller JavaScript som har stigit mycket i popularitet på senaste år så vet men inte om denna popularitet avtar snabbt eller om dessa också kommer att bli lika långlivade som Java och C#.

Idag behöver man även välja moln-leverantör. De största aktörerna är Amazon AWS, Google Cloud och Microsoft Azure. Dessa är på många sätt lika men skiljer sig också väsentligt på visa punkter. För att välja mellan dessa så är det bra att inhämta information från olika källor som är bra på de olika respektive plattformarna. Vi på NewSeed är av uppfattningen att Amazon AWS har mest generell och utvecklad tjänst. Google Cloud har en utmanande roll med vissa tjänster som är bättre eller billigare än AWS. Microsoft Azure är av naturliga skäl bäst på hosting av sina egna tjänster och produkter men har också de en fullgod utmanande roll till AWS.