Gebruikerservaring
Een betere gebruikerservaring is vaak een onverwacht effect van DevOps. Voor veel SaaS ontwikkelaars was het verbeteren van de implementatie en integratie namelijk de aanleiding om DevOps in te voeren. Een verbetering van de gebruikerservaring was daarbij nog niet in beeld.
DevOps brengt een nieuwe, meer holistische filosofie voor SaaS ontwikkeling. Aanvullend op de Agile-methode voor het snel en iteratief leveren van SaaS applicaties, omvat DevOps ook aandacht voor de systeem-requirements. Dit bovendien inclusief alles wat nodig is om de nieuwe functies op een productiesysteem te kunnen verwerken.
Er is al veel geschreven over de positieve gevolgen van het gebruik van DevOps. Vooral vanuit proces- en strategieperspectief verbetert DevOps de SaaS-ontwikkelingscultuur. Dankzij DevOps bouwen we SaaS applicaties met een lange termijn strategie. Daarbij besteden we tevens tijd aan het besparen van kosten, tijd en verlies van concurrentieflexibiliteit in de toekomst.
In theorie zal iedereen het eens zijn met deze strategie. In de praktijk is de verleiding bij product owners echter groot om zich te beperken tot de belangrijkste systeem requirements. Denk daarbij aan:
Niet-technische managers stellen functievereisten vaak boven systeemvereisten. Dit komt waarschijnlijk doordat we prioriteit geven aan een snelle waarde verhoging voor de eindgebruiker boven een lange termijn systeemstrategie.
Hoewel dit een beperkt gezichtspunt is, is dit niet verwonderlijk. In de meeste SaaS applicaties sluiten functies namelijk aan op de manier waarop we onze klanten tevreden willen stellen. Bovendien zijn softwarefuncties veel tastbaarder voor niet-technische mensen. Ze kunnen immers ze daadwerkelijk visualiseren, beoordelen en testen. Daarom trekt een nieuwe functie de aandacht en opwinding van niet-technische stakeholders. Ons marketingteam en C-level-executives begrijpen echter vaak niet wat er nodig is om SaaS applicaties vanuit een systeemperspectief te implementeren.
Opdrachtgevers moeten daarom leren om prioriteit aan systeemrequirements te geven. Softwarefuncties die we starten zonder het systeem zorgvuldig te analyseren kunnen namelijk leiden tot slechte gebruikerservaringen. Door echter de systeemrequirements te negeren, kunnen goed geteste prototypen, die in productie worden genomen, vertragen of crashen. Ook krijgen we zonder analyse niet helder of de lancering een succes was. Als zo’n SaaS applicatie succesvol blijkt of moet worden verbeterd, ontstaan er meer problemen bij toekomstige releases.
DevOps houdt een Agile-lancering van een SaaS applicatie echter niet tegen. Integendeel, de bredere scope van DevOps zorgt ervoor dat we de SaaS applicatie met een lager risico kunnen lanceren en deze zal werken zoals bedoeld. Een hoogwaardige gebruikerservaring vraagt dus ook om een betrouwbaar lanceerplatform. Een platform dat bovendien gemakkelijk aan te leren is, waarbij we testen gemakkelijk kunnen herhalen. Met zo’n platform moeten we geweldige documentatie voor ontwikkelaars kunnen maken en het moet schaalbaar zijn op systeem niveau.
Volgens verschillende onderzoeken geven veel SaaS leveranciers echter nog steeds prioriteit aan klantgerichte softwarefuncties boven strategische infrastructuurverbeteringen. Ze kiezen ervoor om te investeren in data verzamelen voor marketingdoeleinden en apps voor mobiele gebruikers. Hoe kunnen we ervoor echter zorgen dat onze kwaliteitscriteria niet in het gedrang komen en hoe kunnen we een betere gebruikerservaring creëren?
In de eerste plaats blijkt dat men nog steeds vast houdt aan niet-Agile en niet-DevOps omgevingen. Dat betekent dat de app-ontwikkeling veel te langzaam is voor een snelle time-to-market.
Dit moeten de prioriteiten zijn voor het ontwikkelteam. Er zijn bovendien aanzienlijke verschillen van acceptatie tussen de Agile-methodologie en de DevOps-cultuur bij SaaS leveranciers. Als het gaat om het testen en ontwikkelen van mobiele apps, kunnen SaaS leveranciers overwegen om hun interne ontwikkeling en operationele middelen te integreren met een cloud omgeving.
Dit is de reden waarom de DevOps-cultuur het hele ontwikkeltraject heeft gestroomlijnd en ervoor heeft gezorgd dat SaaS applicaties sneller bruikbaar zijn.
In plaats van het traditionele 4-fases – plannen, ontwikkelen en testen, en invoeren – zijn er eigenlijk meer activiteiten. Vooral als het gaat om het overwegen van welke gereedschappen en technieken we zullen gebruiken, hoe deze in elkaar passen en een naadloze tool flow mogelijk maken. Testautomatisering is zonder twijfel een cruciaal onderdeel van deze flow en maakt het proces bovendien iteratief, herhaalbaar en robuust. Automatisering van dit proces is eigenlijk een enabler voor continu alles, in elke stap van het ontwikkelen.
Mobiele SaaS ontwikkeling en levering zijn complexe processen. Daarvoor moeten we een onafhankelijke services op een gecoördineerde, betrouwbare en efficiënte manier leveren. Alle DevOps teams moeten op deze manieren streven naar voortdurende verbetering:
Daarom omarmen we continue integratie, continue testen, snelle feedback en continue levering. Het automatiseren van dit proces verhoogt bovendien de betrouwbaarheid, en de kwaliteit en zorgt ervoor dat we de apps daadwerkelijk opleveren.
Continu testen is het moeilijkste onderdeel van de levenscyclus van een SaaS applicatie. Het levert echter het hoogste rendement op in termen van gebruik en stabiliteit van de applicatie.
De opkomst van mobiel brengt grote veranderingen met zich mee in traditionele ontwikkelingsmethoden. IT moet de manier waarop het SaaS-releases beheert aanpassen, aangezien de cadans van mobiele releasecycli sneller is. Kortom we kunnen een mobiel ontwikkelingsproject niet op dezelfde manier benaderen zoals we in het verleden traditionele ontwikkelingsprojecten benaderden. Efficiënte en klantvriendelijke mobiele SaaS apps en bovenal de ontwikkeling daarvan vereisen behendigheid. Maar het vereist ook kortere releasecycli.
Mogelijk is dit een vertaling van Google Translate en kan fouten bevatten. Klik hier om mee te helpen met het verbeteren van vertalingen.