Cloud applicaties ontwikkelen met scrum: hoe werkt dat?

Voor het ontwikkelen van applicaties gebruiken wij de agile scrum-methodiek, zoals zovelen. Iedereen heeft het over ‘scrummen’, maar als je zelf nog nooit zo’n traject hebt meegemaakt, is het moeilijk je er iets bij voor te stellen. Daarom beschrijven wij in deze blog wat de scrum-methodiek inhoudt. Zo weet je wat je te wachten staat als je een applicatie laat ontwikkelen en waarom iedereen er zo enthousiast over is. scrummen heeft namelijk veel voordelen. Laten we daar maar eens mee beginnen.

De voordelen van scrum

In de scrum-methodiek werken ontwikkelaars nauw samen met stakeholders uit de organisatie. In korte tijd, zo’n 2 tot 3 maanden, ontwikkelen zij samen een applicatie in zogenaamde ‘sprints’. Dat zijn ontwikkeltrajecten van 2 tot 3 weken waarin steeds een aantal functionaliteiten worden opgeleverd.

Welke dat zijn, bepaalt de product owner. Dat is de vertegenwoordiger vanuit de business, meestal degene die de meeste kennis heeft van de taken die de applicatie gaat vervullen. Hij of zij geeft de wensen door van de collega’s. Tijdens het traject wordt de product owner ondersteund door de scrum master.

Met scrum is een ontwikkeltraject geen ‘black box’ meer waar de business zijn requirements ingooit en afwacht wat er uitkomt. Met scrum bepaalt de klant: “Wat heeft prioriteit?” en: “Aan welke functies willen we het budget besteden?” De business zit in de drivers seat.

Samengevat zijn de voordelen van een ontwikkeltraject met scrum:

  • Snelle oplevertijd (2 – 3 maanden)
  • Nauwe samenwerking tussen IT en business
  • Business bepaalt prioriteiten in tijd en budget
  • Transparant proces voor alle stakeholders
  • Prioriteiten kunnen tussentijds worden aangepast
  • Aanpassingen zijn snel door te voeren tijdens het project
OCS-scrummethode

Hoe gaat het ontwikkelen met scrum concreet in zijn werk?

Klinkt allemaal mooi, maar hoe werkt het concreet? Samengevat volgen wij bij Open Circle Solutions de volgende 7 stappen als we voor jullie een cloud applicatie ontwikkelen volgens de scrum-methodiek:

  1. Inventarisatie van de wensen
    Eerst gaan we bepalen op basis van jullie behoeften welke functionaliteiten nodig zijn. Dit doen we in workshops van 2 tot 4 uur, afhankelijk van de complexiteit. We brengen met alle belanghebbenden de requirements in kaart en stellen samen met de eindgebruikers de user stories op. Hierin schrijven we in 1 tot 2 zinnen op wat de applicatie moet doen per functie.
    De product owner is hierbij aanwezig. In het vervolgtraject is hij of zij degene die het ontwikkeltraject vanuit het bedrijf aanstuurt en de wensen van de collega’s inventariseert en doorgeeft.
  2. Kostenplaatje opmaken (voor business case)
    De volgende stap is de wensen vertalen naar cloud architectuur en services. Dat is een vertaalslag die de ontwikkelaars uitvoeren. Uiteraard houden we hierbij nauw contact met de product owner. Kan een functie eenvoudiger en dus goedkoper? Zo ja, dan overleggen we dit altijd.
    Hierna maken we een offerte op. Daarin brengen we niet alleen de kosten voor het bouwen van de cloud applicatie, de infrastructuur inclusief de benodigde cloud services in kaart, maar ook de beheerkosten op lange termijn. Met die kosten kan de product owner of projectmanager een business case maken en deze voorleggen aan de stuurgroep.
  3. Overzicht applicatie in de back log maken
    Na akkoord leggen we samen met de product owner alle user stories vast in de product backlog. Zo’n backlog geeft een overzicht van alle benodigde functionaliteiten en beschrijft welke koppelingen met andere systemen nodig zijn. Deze gaan we vervolgens opdelen op basis van prioriteit.
  4. Prioriteiten bepalen
    De product owner bepaalt welke functionaliteiten prioriteit hebben. Dat bepaalt hij/zij op basis van risicoreductie, kostenbesparing of efficiëntie voor het bedrijfsproces. De product owner bepaalt welke functionaliteiten need to have en welke nice to have zijn voor de eerstvolgende sprint.
    Uit de back log stellen we zo een subset samen van 10 tot 15 user stories waar we mee aan de slag gaan.
OCS-scrumteam
  1. Bepalen van inhoud van de sprint: de pokersessie
    In deze stap bekijken onze ontwikkelaars hoe ze de user stories in functionaliteiten gaan invullen. Onderling overleggen ze hoe ze het zouden aanpakken en overleggen wat de beste manier is. Voor elke functionaliteit berekenen ze de benodigde ontwikkeltijd, die ze omrekenen in punten. Daarom wordt dit ook wel de pokersessie genoemd.
    Gezamenlijk komen ze op een gemiddeld aantal punten uit per functionaliteit. Daarmee maken ze een inschatting van wat er in de eerstvolgende sprint ontwikkeld wordt. De functionaliteiten waar geen tijd voor is, komen op een reservelijst. Uiteraard wordt de product owner hierover continu geïnformeerd.
  2. Ontwikkelen van functionaliteiten in een sprint
    Vervolgens gaan onze ontwikkelaars aan de slag met de afgesproken onderdelen. Als het ontwikkelen sneller gaat dan gepland, dan pakken ze de eerstgenoemde functionaliteit van de reservelijst.
    De eerste sprint is met name gevuld met het inrichten van de basis: een cloud omgeving, het koppelen van data, schermen bouwen, etc. In de sprints daarna worden steeds nieuwe functionaliteiten toegevoegd. Na elke sprint geven de ontwikkelaars samen met de product owner een demo aan alle belanghebbenden.
  3. Evaluatie en repeat
    In de laatste stap evalueren we de sprint en berekenen het gemiddeld aantal punten dat is ontwikkeld. Dat noemen ze de velocity van het team. Deze geven een goede inschatting hoeveel we in de volgende sprints kunnen ontwikkelen.
    Vervolgens herhaalt het proces zich en beginnen we weer met stap 4 voor de volgende sprint.
OCS meerdere sprints voor MVP

Starten in 2 tot 3 maanden

Na ongeveer 4 sprints (dus 2 tot 3 maanden) kunnen we al een eerste versie van het systeem live zetten. Dit noemen we het Minimal Viable Product (MVP). Vanuit de vraag: ‘Wat heeft de applicatie ten minste nodig bij eerste oplevering?’, heeft deze een minimum aan functionaliteiten om mee te starten. Het is dus als het ware een uitgeklede maar bruikbare versie van de uiteindelijke applicatie. Door de MVP los te laten in de praktijk en hier al mee te werken, krijgt de product owner nieuwe inzichten in prioriteiten. Er is nu eenmaal geen betere test dan de praktijk. Wat eerst belangrijk leek, kan in de praktijk minder belangrijk blijken. Ook komen er vaak weer nieuwe requirements naar voren uit de MVP.

Samenwerking business en IT

De scrum methode levert optimale resultaten voor de organisatie omdat de product owner zijn kennis en ervaring vanuit het bedrijf deelt met onze ontwikkelaars. Zij vertalen deze naar functionaliteiten. Omdat de product owner de applicatie mede heeft ontwikkeld, kan hij collega’s uitleggen hoe deze werkt. Zo ontstaat mede-eigenaarschap en draagvlak voor de applicatie. Het systeem is niet ‘opgelegd’ door IT. En dit is belangrijk, want het menselijke aspect – wie gaan uiteindelijk werken met de app in welke omstandigheden? – is één van de belangrijkste randvoorwaarden voor het slagen van een IT-aanpassing.

Voorsprong op de concurrent door flexibele applicaties

Met scrum kun je ook na oplevering snel functionaliteiten toevoegen of aanpassen. Omdat we dit doen vanuit onze beheerorganisatie gaat er geen tijd verloren. Dat is nodig om als bedrijf mee te (blijven) draaien in een wereld die steeds sneller verandert. Alleen door je snel en flexibel aan te passen aan de markt en vragen van de klant, blijf je de concurrentie voor.

Door te zorgen dat je applicaties je bedrijfsprocessen steeds optimaal ondersteunen, houd je het werk voor medewerkers zo efficiënt mogelijk en kom je tegemoet aan je klantwensen.

Omdat wij met een Continuous Integration / Continuous Delivery (CI/CD) omgeving werken, is het eenvoudig snel functionaliteiten toe te voegen. De omgeving controleert bovendien of alles in het systeem goed blijft functioneren na de wijziging. Zo zorgen we voor een snelle maar gecontroleerde doorvoer van nieuwe wensen.

 

Snel resultaat met scrum

We hopen dat je na het lezen van deze blog (beter) begrijpt hoe scrum werkt. Het beste is natuurlijk om het zelf te ervaren. Nu weet je hoe snel je al een applicatie kan laten ontwikkelen. Dus heb je een idee?  Laat het ons weten per mail of bel naar +31 40 30 41 330 om eens te sparren. We gaan graag voor je aan de slag. Het zal je verrassen wat er mogelijk is. Wij denken graag met je mee en geven proactief advies.

omslag-ebook-cloud

e-book

Ontsluit de mogelijkheden van de cloud met cloud-native applicaties

Meer artikelen

Veiligheid en kwetsbaarheden in de cloud – deel 2

Veiligheid en kwetsbaarheden in de cloud – deel 2

Wij vroegen onze collega en cloudexpert Tommy Menheere ons meer te vertellen over veiligheid en de belangrijkste kwetsbaarheden in de cloud. In het eerste deel van deze blogserie vertelde hij ons welke aspecten je in de gaten moet houden om veilig in de cloud te...

Presenteren van ingewikkelde technische materie: dat kun je leren

Presenteren van ingewikkelde technische materie: dat kun je leren

OCS vindt het belangrijk dat medewerkers zich blijven ontwikkelen. Niet alleen onze developers, maar ook onze projectmanagers. Daarom volgden een aantal van hen de driedaagse training Influencing with Visuals. Roel van Rijn, IT Project Manager bij OCS, vertelt waarom...

Veiligheid en kwetsbaarheden in de cloud – deel 1

Veiligheid en kwetsbaarheden in de cloud – deel 1

Steeds meer organisaties maken gebruik van de cloud. Niet alleen voor applicaties, maar ook voor dataopslag. De cloud maakt organisaties flexibeler, want het maakt niet meer uit waar medewerkers hun werk doen. Via de pc, smartphone of laptop. Op kantoor, onderweg en...

Nieuwsbrief

Meld je nu aan voor Open Circle Stories en krijg een verzameling artikelen, tips, nieuws en verdiepingen in je mailbox.

Pin It on Pinterest

Share This