Build your Continuous Integration Pipeline with Google Cloud Platform

In this blog we demonstrate the creation of a Continuous Integration pipeline based on Google Cloud Platform. The blog includes a video showing the step-by-step setup from scratch.

Continuous Integration is one of the corner stones of the Continuous Delivery 3.0 pipeline. Continuous Integration needs orchestration to perform a number of actions: fetch the source code from the repository, build the code, do code quality checks, run unit tests and store the target files in a component repository.

The video below shows how the orchestrator is installed on Google Cloud Platform. Google Cloud offers IaaS and PaaS as cloud solution for the pipeline.

In the video the following steps are processed:
1. Login onto https://cloud.google.com
2. Start compute engine
3. Create the Linux based Virtual Machine, accessed by open SSH
4. Install the Java Runtime Environment : sudo apt-get install default-jre
5. Install jenkins
    wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
    sudo apt-get update
    sudo apt-get install jenkins
    sudo /etc/init.d/jenkins start
6. After installation a few check commands
    curl -vvv jenkins:8080
    curl -vvv <public ip>:8080
    browser <public ip>:8080

The video was shot once in real-time, so without editing and fuzz:

 

 

 



Kijk voor cursusinformatie op de cursuspagina

Snelstart gastspreker op start cursus Continuous Delivery 3.0

27 september 2017 is een belangrijk moment op de campus van Universiteit Utrecht . De start van de post-doctorale najaarscursus Continuous Delivery 3.0.

In de cursus leer je hoe je een state-of-the-art Continuous Delivery 3.0 pipeline opzet. Een Agile platform om software in hoog tempo te ontwikkelen. Een platform met een mix van open-source producten en cloud-platformen. Een platform dat het gebruik analyseert en rapporteert, voor bijvoorbeeld Product Owners, zodat IT teams de juiste software gaan ontwikkelen.

In bijna elk cursusdeel hebben we een uitstekende gastspreker uit de software-industrie. De gastspreker in het eerste cursusdeel is de software architect van SnelStart. SnelStart is een prachtig Nederlands bedrijf dat op een zeer Agile wijze software ontwikkelt met een ver ontwikkeld Continuous Delivery 3.0 platform.

We kijken uit naar de komst en danken onze collega's in de industrie.

 
Henry_Been_ContinuousDelivery.jpg
 
"Namens SnelStart zal ik vertellen over onze groei en de bijbehorende verbeterslagen door de IT-afdeling. In die jaren hebben wij een "continu leveren" cultuur gerealiseerd. In korte cycli, van soms minder dan een dag, gaan we van "idee" naar "geleverd". Intussen werken we al aan het plannen van de volgende wijziging. Plannen, leveren, testen en daarvan leren lopen vol-continue, parallel aan elkaar en er is een constante feedback loop tussen alle activiteiten.
In een uur zal ik de deelnemers inspireren met de reis van SnelStart. Daarbij komen ook de onderwerpen continuous planning en continuous intelligence uitgebreid aan de orde. Dit zijn de onderwerpen welke het niet gewoon continuous delivery... maar continuous delivery 3.0 make. Het zijn precies de onderwerpen die op dit moment vol onze aandacht hebben."

Meer informatie over de cursus is hier te vinden. Inschrijven is nog mogelijk.



Kijk voor cursusinformatie op de cursuspagina

Continuous Intelligence: ook zonder Cookies inzicht in het gebruik van je software

Continuous Intelligence is een van de vijf pijlers van Continuous Delivery 3.0. Continuous Intelligence geeft je inzicht in het gebruik van je software. 

Bij Continuous Intelligence doorloop je telkens drie stappen. Stap 1: het verzamelen van gegevens over het gebruik van de software, Stap 2: het uitvoeren van intelligente analyses op de gegevens. Stap 3: het maken van overzichtelijke rapportages voor de Product Owner of Software Product Manager.

 
 

Verzamelen van gegevens
Een van de bekende manieren is het verzamelen van IP-adressen; welke IP-adressen maakt gebruik van de software. Daarnaast worden Cookies nog steeds veel gebruikt. Een Cookie is een klein tekstbestandje dat door de software wordt opgeslagen bij de webcliënt (lees: webbrowser).  Hierdoor ziet de software of een webcliënt terugkeert. En kan de software bij het tweede bezoek andere informatie tonen. Een webcliënt kan ook worden gevraagd om gegevens over de cliënt (lees: device) te sturen. Hiermee kan de software voor dat device de presentatie optimaliseren.

Combineren van gegevensbronnen
Als gegevensverzamelingen gecombineerd worden, dan nemen de mogelijkheden exponentieel toe. Bijvoorbeeld met het combineren van Facebook, nieuwsbrieven en log-files kan je conversie meten over leeftijd en geografie. Zo bouw je een veel nauwkeuriger beeld op van het gebruik van je software.

Selecteren van gegevens
Weet wat je wilt weten en rapporteren. Op basis daarvan kun je de juiste gegevens verzamelen, analyseren en rapporteren. Het kan bijvoorbeeld zinvol zijn om te analyseren hoe gebruikers de frond-end gebruiken. Hiertoe worden met een script muisbewegingen verzameld. Het programma Hotjar geeft zo in een heatmap weer langs welke paden de muis over het scherm beweegt. Hieronder zie je een voorbeeld hiervan:

Samenvattend
Met Continuous Intelligence kan informatie online, verzameld, geanalyseerd en gerapporteerd worden. Product Owners of Software Product Managers houden zo overzicht over waar het Agile team het beste aan kan werken. Als je meer wilt weten over Continuous Intelligence dan is de Continuous Intelligence sessie van de cursus Continuous Delivery 3.0 van het NISI een goede optie. Hier leer je analyse-technieken te integreren in je eigen software, zodat je niet afhankelijk bent van gegevens die bij een derde-partij worden opgeslagen.

Je leest regelmatig meer over Continuous Delivery en Continuous Intelligence op het blog.

 



Kijk voor cursusinformatie op de cursuspagina

Overwin de beperkingen van Continuous Delivery

Met Continuous Delivery kun je software geautomatiseerd opleveren, in plaats van handmatig. Continuous Delivery stelt Agile development teams in staat om software kort-cyclisch te leveren. Maar als je maximale waarde aan je klanten wilt leveren dan vul je Continuous Delivery aan met Continuous Intelligence en Continuous Planning.

Waaruit bestaat Continuous Delivery?
Continuous Delivery kun je indelen in drie hoofdgebieden,

  • Continuous Integration
  • Continuous Testing
  • Continuous Deployment

Continuous Integration betreft het continue integreren van source code onderdelen in de code base. Continuous Testing omvat het continue testen van de code, componenten en systemen. Continuous Deployment is het continue uitrollen (lees: installeren) van code, componenten en systemen op (virtuele) omgevingen. Samen vormen het de Continuous Delivery pipeline. Hieronder zie je een plaatje van zo'n Continuous Delivery pipeline:

 
 

Breidt Continuous Delivery uit met Continuous Intelligence & Planning!
Eigenlijk is Continuous Delivery maar de helft van het verhaal. De drie gebieden ondersteunen immers alleen het proces van coderen tot en met uitrol. Automatiseren van het werk voorafgaand aan coderen ontbreekt. Toevoegen van Continuous Intelligence en Continuous Planning vult dit gat. Samen vormt het dan de vijf hoofdgebieden van Continuous Delivery 3.0. Hieronder zie je de vijf gebieden dat het Agile team ondersteunt grafisch weergegeven:

 
 

Noot: recent is de term Continuous Tracking vervangen door Continuous Intelligence omdat Intelligence de lading van het concept beter dekt.

Wat levert Continuous Delivery 3.0 op?
Continuous Delivery 3.0 automatiseert de lifecycle van concept tot cash. Vanaf inzicht in het gebruik van de software t/m de uitrol van nieuwe softwareversies. Met Continuous Intelligence creer je dit inzicht en met Continuous Planning kies je de functies die de meeste klantwaarde toevoegen. Het team ontwikkelt functionaliteit dat de meeste waarde toevoegt voor de gebruiker. Het team wordt kosten-effectiever en krijgt een hogere klantwaardering.

Continuous Delivery 3.0 platform
Bij het NISI is begin 2017 een Continuous Delivery 3.0 platform ontwikkelt waarmee demonstraties worden gegeven. Ook wordt dit platform gebruikt om inzicht te krijgen in het gebruik van onze dienstverlening. Zo hebben we een App ontwikkeld om realtime te rapporteren over het gebruik van de website.

Samenvatting
In deze blog hebben we inzicht gegeven in de vijf hoofdgebieden van Continuous Delivery 3.0. Vind je deze informatie waardevol? De vijf gebieden hanteren we als basis bij de cursus Continuous Delivery 3.0 gegeven door het Nederlands Instituut voor de Software Industrie. Deze praktische cursussen geven je handvatten die je direct in de praktijk kunt toepassen, zo geven onze vorige cursisten veelvuldig aan. En ook de Continuous Delivery 3.0 workshops bij NederlandICT zijn een leuke manier om kennis te maken met Continuous Delivery 3.0. 



Kijk voor cursusinformatie op de cursuspagina

De 5 uitdagingen van een Product Owner in het scrum team

Auteur: Jan Vlietland

Werken met scrum is al lang niet meer beperkt tot de IT afdeling. De methode bracht explosieve groei teweeg bij software start-ups en vond zo zijn weg binnen het hele bedrijfsleven. Met de toename van scrum in traditionele organisaties en andere disciplines dan ICT, groeit ook het aantal teleurstellingen. Scrum blijkt niet altijd de Heilige Graal te zijn waar iedereen op hoopt. De key to success of falen ligt vaak in handen van de Product Owner.

De 5 uitdagingen van de Product Owner

  1. Inzicht in de markt
  2. Productkennis
  3. Planning
  4. Het politieke speelveld
  5. Prioriteren

Inzicht in de markt

Onvoldoende inzicht in de markt. Een goede Product Owner ontwikkelt een visie op zijn markt. Als hij zich hierin onvoldoende verdiept, ontbreekt een goede basis om de juiste keuzes te maken. ‘Zonder inzicht geen uitzicht’.

Productkennis

Om goede prioriteiten te stellen is het belangrijk het product tot op detailniveau te kennen. Je moet immers weten waar het product nu staat en waar je het naar toe wil brengen. Ook is inhoudelijke kennis vereist om de haalbaarheid van de sprints te bediscussiëren met het team. Dan is een verregaande productkennis geen overbodige luxe.

Planning

Een ander veelvoorkomend probleem is het verdrinken in de waan van alledag. Een meeting hier, een standup daar, het specificeren van de user stories of het prioriteren van de backlog. Het speelveld van de Product Owner is breed. Hoe urgent sommige activiteiten ook lijken, de markt mag niet uit het oog worden verloren. Dit is de basis waarop de Product Owner functioneert. Een goede PO maakt dus tijd vrij voor marktanalyse.

Het politieke speelveld

Tot slot is er het probleem van verschillende belangen in de organisatie. De Product Owner bevindt zich in een lastig politiek speelveld. Hij fungeert als spil tussen de klant, het management en zijn scrumteam, waarbij hij als beslisser optreedt over wat prioriteit heeft. Een voorbeeld: al maandenlang is er die ene productbug. De doorn in het oog van de IT afdeling. Vanuit die kant groeit de druk om dit in de volgende sprint aan te pakken. Tegelijkertijd komen er alarmerende berichten vanuit de marketingafdeling; de klant lijkt een heel ander soort product te willen. Wat krijgt voorrang?

Prioriteren

Het navigeren in tegengestelde belangen speelt niet alleen bij verschillende disciplines, maar ook bij lijnmanagers en projectmanagers. In veel bedrijven is Agile werken nog niet in alle lagen van de organisatie geïmplementeerd, waardoor Agile en waterval methodes naast elkaar lopen. Vaak zien we dat Agile is geïmplementeerd op operationeel niveau, terwijl op tactisch niveau wordt gewerkt met lange-termijn planning. Deze ‘traditionele’ project- en lijnmanagers hebben te maken met harde deadlines en bijbehorend budget. Als er meerdere verzoeken binnenkomen en je kunt als scrumteam nog maar één project aanpakken, waar kies je dan voor? Uiteraard wil iedere partij zijn eigen belangen voor laten gaan. Wijs navigeren tussen deze (soms dwingende) belangen is een sleuteleigenschap van een goede Product Owner.

Product Ownership verder ontwikkelen?

De Product Owner is niet per definitie een technisch ingewikkelde rol. Maar hij heeft wel te maken met een breed speelveld en een complex, politiek krachtenveld. Het NISI organiseert in het najaar weer een 5-delige cursus Agile product ownership and product management voor Product Owners die zicht verder willen ontwikkelen in hun rol als Product Owner.



Kijk voor cursusinformatie op de cursuspagina

Even voorstellen Sjaak Brinkkemper

Professor Sjaak Brinkkemper is hoogleraar Organisatie en Informatie aan de Universiteit Utrecht en één van de oprichters van het NISI.

Op welke manier ben je betrokken bij het NISI?

Het idee voor een kennisplatform voor de software-industrie en wetenschap speelde al een tijd. Ik ben blij dat we door een krachtenbundeling van het bedrijfsleven en de universiteit het NISI nu hebben opgericht. Als wetenschappers hebben we de industrie hard nodig om goed onderwijs te kunnen geven en goed onderzoek te kunnen doen. En anderzijds willen we onze kennis graag in de maatschappij inzetten. Via cursussen, certificering en congressen kunnen we nieuwe kennis beschikbaar maken.


Je bekleedt sinds 2004 de leerstoel Organisatie en Informatie aan de Universiteit Utrecht. Wat houdt deze leerstoel precies in?

Ik leg met name de focus op softwareproductie: het maken en leveren van standaardsoftware aan een brede markt.
Voor ons onderzoek kijken we zowel naar softwareontwikkeling op nationaal niveau als wereldwijd. Publicaties zijn hierdoor altijd Engelstalig. Ook onderhouden we informele samenwerkingsverbanden met andere software onderzoekscentra in bijvoorbeeld Italië, Spanje en Zweden.


In jouw carrière heb je een combinatie van ervaring in het bedrijfsleven en de wetenschap. Vind je dit een voordeel in je huidige functie?

De inspiratie voor mijn onderzoek, heb ik gehaald uit mijn industriële carrière. Ik heb gewerkt bij Baan en in die periode ben ik altijd blijven publiceren.  Ik zie ook nog vele witte vlekken op de kaart als het gaat over softwareproductie. Er is weinig bekend over de wijze hoe, op industriële schaal, software wordt ontwikkeld. Zowel qua product, maar ook wat betreft het proces. En het wordt nog interessanter door de huidige ontwikkelingen van software in de cloud en allerlei apps op smartphones en tablets.
 

Welke onderzoeken vinden op dit moment plaats om dat onontgonnen gebied beter in kaart te brengen?

Als manager van de onderzoeksgroep zijn er ongeveer 35 medewerkers en promovendi binnen ons vakgebied bezig om verschillende aspecten van softwareproductie te onderzoeken. Bijvoorbeeld loopt er een promotieonderzoek naar user stories door Garm Lucassen. Het gaat hierbij om hoe je op een zo effectieve en efficiënte manier de verscheidenheid aan wensen van de klanten kunt verwoorden en omzetten naar taken die door software engineers worden opgepakt.

Een ander voorbeeld is het onderzoek naar energie consumptie door software. Hierover kregen we een specifieke vraag uit het bedrijfsleven: gebruikt software minder energie wanneer je het in the cloud plaatst of op eigen apparatuur? Dat hebben we zo goed als ontrafeld.

Hoezeer is de Nederlandse industrie betrokken bij je werk en de onderzoeken?

In tegenstelling tot andere wetenschappers hebben we geen lab om stellingen te testen. We zijn dus in grote mate afhankelijk van samenwerking met het bedrijfsleven voor het verrichten van bijvoorbeeld metingen in hun datacenter of onderzoek naar user stories in de praktijk. Zonder die data kunnen we simpelweg niets publiceren. Net zoals de medische wetenschap moet een theorie of therapie uiteindelijk getest worden met echte patiënten. Dit geldt ook exact zo voor ons onderzoek.

Gelukkig komt het initiatief voor samenwerking vaak van beide kanten. Vanuit de universiteit zelf komen ideeën, maar een concrete vraag van een bedrijf kan ook aanleiding zijn voor onderzoek.  Het onderzoek naar energie consumptie van software word bijvoorbeeld gefinancierd door Centric.

freemodeling-NISI

Welke trends zie je de komende jaren in de software industrie, waar zowel de wetenschap als het bedrijfsleven baat bij hebben?

Continuous architecting vind ik een belangrijk onderwerp voor de komende jaren. Om de kennis en basisconstructie van software te waarborgen doen we onderzoek naar een functioneel architectuurmodel. De architectuur van software is vaak complex en om dit in één tekening te vatten is niet mogelijk. Daarom zijn we nu bezig dit dynamisch weer te geven op een groot scherm, een videowall van 2 bij 1 meter. Als we op goede manier de software-architect weten te ondersteunen kunnen we echt een belangrijke bijdrage leveren aan de software industrie.



Kijk voor cursusinformatie op de cursuspagina

The Google vision on No-Ops platform

Last week Google gave a presentation and demonstration during the NISI Continuous Delivery 3.0 course. In this update we summarize the brief highlights.

Even with a PaaS based Continuous Delivery 3.0 platform server maintenance work is required to keep the platform up and running. Google shared their vision to move to a Serverless / NoOps  platform

One of the key topics is the Google Container Engine (GKE), with Kubernetes (K8s)
 

google-container-engine.jpg

Continuous Integration and Continuous Deployment is then achieved as presented in the following slide

continuous-delivery-container

Next week we move from Continuous Delivery to Continuous Delivery 3.0 by covering Continuous Tracking of users. We help the course participants to advance their data collection, data analytics and reporting techniques.

Interested in the Continuous Delivery 3.0 course? See more information about the course and the next available dates.



Kijk voor cursusinformatie op de cursuspagina

Continuous Delivery 3.0. platform

Tijdens de cursus Continuous Delivery 3.0 wordt gebruik gemaakt van een Continuous Delivery 3.0 platform. Het platform is ontwikkeld vanuit een samenwerkingsverband van het NISI, Search4Solutions en Universiteit Utrecht. Alle elementen van Continuous Delivery 3.0 zijn verwerkt in het platform. Ewan Klomp studeert informatiekunde aan de Universiteit Utrecht en is tevens software developer bij het NISI. Hij is de drijvende kracht achter het Continuous Delivery 3.0 platform.

Welke functie vervult het Continuous Delivery Platform?

De belangrijkste processen van het continue integreren, testen en uitrollen van software. Daarnaast bevat het platform morgelijkheden om gebruikersfeedback te verzamelen, te analyseren en te rapporteren. Ook bevat het platform mogelijkheden om de resultaten te verwerken in Agile planningen en roadmaps.

Wat leren cursisten over Continuous Delivery tijdens de cursus?

Tijdens de cursus Continuous Delivery (CD) 3.0 leren cursisten wat een Continuous Delivery 3.0 platform is en hoe je dit opzet en verder ontwikkelt. Daarbij leren ze hoe je gebruikersfeedback genereert en hoe je dit verwerkt in Agile roadmaps.

Na de cursus kunnen cursisten zelf een Continuous Delivery pipeline ontwikkelen en implementeren, passend bij het IT landschap van het bedrijf waarin ze werken. Tijdens CD 3.0 demonstraties laten we zien hoe je dit zelf doet.

Wat wordt er behandelt tijdens de demonstratie?

Het demonstratie platform bestaat uit 2 delen, de front-end (app) en de backend (webapplicatie). Het normale Continuous delivery traject wordt behandeld in de demo aan de hand van de webapplicatie. Met name het tracken en plannen wordt behandeld door middel van een Mobile App.

Bekijk de korte video’s met demo van de Front end pipeline in Xamarin

Welke tools zijn er gebruikt voor het Continuous Delivery 3.0 platform?

Er is vooral gebruik gemaakt van open source software. Meerdere. Jenkins instances worden gebruikt voor de orchestratie van het Continuous Delivery proces. De webapplicatie is geschreven in Java en maakt gebruik van Spring Boot voor de REST API. Maven wordt gebruikt om de applicatie te bouwen. De Spotify plugin zorgt voor het aanmaken van de Docker images. De uitgerolde Docker images vormen de backend voor de Mobile Apps. De Mobile App worden geschreven in Xamarin, een omgeving om Apps mee te ontwikkelen in Visual Studio en C#. Deze Apps worden vervolgens gepubliceerd via de bekende Google en Apple Mobile App stores.

Bekijk de korte video van de User Acceptance test

Cursus Continuous Delivery 3.0

De cursus Continuous Delivery 3.0 wordt in het najaar herhaald. De achtdelige cursus is ontwikkeld in samenwerking met de Universiteit Utrecht. De lessen worden voor een deel verzorgt door sprekers van softwarebedrijven zoals Google en Microsoft. Lees meer informatie over de cursus of stuur een mail om op de hoogte te blijven van nieuwe cursusdata.



Kijk voor cursusinformatie op de cursuspagina

Even voorstellen Slinger Jansen

Slinger Jansen is docent onderzoeker aan de Universiteit Utrecht en één van de oprichters van het NISI. In 5 vragen stellen we Slinger aan u voor.

1. Wat is jouw specialisme als onderzoeker aan de Universiteit Utrecht?

Als docent onderzoeker verricht ik onderzoek naar de software-industrie en met name naar appstores van platformen zoals iOS, Google Play, Amazon, Facebook, en Exact online.
Mijn proefschrift ging over de toenemende mate van samenwerking tussen softwarebedrijven en vandaar uit heb ik me verder gespecialiseerd op dit onderwerp. Tegenwoordig zijn er duizenden softwarebouwers die samenwerken om software te leveren aan de gebruiker, terwijl dit vroeger slechts op kleine schaal gebeurde, met hooguit drie producenten gezamenlijk. Die samenwerkingsverbanden zijn vaak interessant en leiden tot innovatie. 

"Het laboratorium voor software onderzoek is het bedrijfsleven" 
- Slinger Jansen

2. Je bent één van de oprichters van het NISI. Hoe is het idee voor NISI ontstaan?

Ik werk op de Universiteit in het team van professor Sjaak Brinkkemper. We hadden allebei behoefte aan een uitbreiding van onze academische activiteiten naar de software-industrie. Het NISI is samen met mensen uit het bedrijfsleven opgericht om de kennisuitwisseling binnen de Nederlandse softwaresector en de wetenschap te stimuleren. 

3. Wat verwacht je in de toekomst met het NISI te kunnen bereiken?

Het NISI is bedoeld als platform om academische kennis beter in de praktijk te brengen, naast het opleiden van studenten. Het is ook een plek voor het bedrijfsleven om kennis te brengen en een bijdrage te leveren aan de wetenschap. We werken veel samen met professionals en doen onderzoek in samenwerking met het bedrijfsleven, bijvoorbeeld met Exact en AFAS. Ons laboratorium bevindt zich niet binnen de muren van de universiteit, maar is voor ons het bedrijfsleven. 

4. Welke onderzoeken houdt je je mee bezig?

In samenwerking met AFAS werken we aan een onderzoek om hun 1 miljoen gebruikers nog sneller en dynamischer te bedienen. Het belangrijkste aspect daarbij is dat software nooit meer downtime heeft. Zelfs met 100 updates per week of per dag. We onderzoeken als het ware hoe je de motor van en rijdende auto kunt aanpassen, terwijl de bestuurder er niks van merkt. 

5. Tot slot, waar zie je jezelf over 5 jaar?

Over vijf jaar ben ik hopelijk hoogleraar appstores  en geef ik les en begeleid ik onderzoek naar het bouwen van platforms. De centrale vraag voor apps in de toekomst is wat mij betreft veiligheid. Hoe weet je dat iets een veilige app is of niet? Vertrouwen en veiligheid zijn twee belangrijke aspecten voor samenwerking in de software-industrie in de toekomst.

Meer over Slinger Jansen
Slinger Jansen organiseert bij het NISI o.a. de training Business development voor managers van productsoftware bedrijven en de cursus Agile Software Architecture. Meer informatie over de cursus AMDE
 



Kijk voor cursusinformatie op de cursuspagina

Continuous Delivery 3.0 platform

Deze week is bij het NISI de cursus Continuous Delivery 3.0 van start gegaan. Deze cursus leidt professionals op tot Continuous Delivery experts. Cursisten zijn na het afronden van de cursus in staat om zelf een Continuous Delivery pipeline te ontwikkelen, passend bij het IT landschap van het bedrijf waarin de professional opereert.

Tijdens de cursus wordt er regelmatig gebruik gemaakt van een Continuous Delivery 3.0 platform. Het platform is ontwikkeld door een samenwerkingsverband van het NISI, Search4Solutions en Universiteit Utrecht. Alle elementen van Continuous Delivery 3.0 zijn verwerkt in het platform. Het platform is gebaseerd op (veelal Open Source) componenten, zoals: Jira, Jenkins, Xamarin,(VS), Nexus, Docker, Sonarqube, Maven, Google Analytics, MS Build, NUnit, JUnit. Het platform bevat een pipeline voor zowel front-end als back-end development.

Wil je meer weten over ons Continuous Delivery 3.0 platform of ben je geïnteresseerd in een demonstratie? Mail dan naar info@nisi.nl

nisi-cursus-continuous-delivery.jpg



Kijk voor cursusinformatie op de cursuspagina

Waarom ieder software bedrijf de transitie naar Continuous Delivery zou moeten maken

Binnen softwareontwikkeling heeft Continuous Delivery zich al ruimschoots bewezen en is het bij veel bedrijven een goed ingevoerde methodiek. Er zijn echter nog altijd bedrijven die de methodiek nog niet hebben omarmd en de traditionele waterval methode toepassen. Een gemiste kans want wanneer Continuous Delivery goed wordt geïmplementeerd heeft deze ontwikkelmethode volgens ons alleen maar winnaars. 

Continuous Delivery voor de klant

Als klant krijg je niet alleen de features die je echt wilt gebruiken, het uitleveren van nieuwe onderdelen of verbetering gebeurt ook op een gebruiksvriendelijke manier. Feedback van gebruikers leidt tot betere software producten en creëert een dialoog tussen gebruikers en de producent. Gebruikers krijgen het gevoel dat het bedrijf echt luistert naar hun wensen. Zo zorgt Continuous Delivery voor meer verbondenheid met de doelgroep.

Efficiëntie voor het bedrijf

Met behulp van Continuous Delivery brengen bedrijven hun product snel en efficiënt in productie. Door de verminderde ontwikkeltijd kun je beter inspelen op wensen in de markt. Hierdoor lever je betere software die een grotere omzet levert. Door feedback van gebruikers is de kans op ‘waste’ kleiner. Je levert minder software die klanten niet gebruiken waardoor de winstmarge verbetert.

Uitdaging en waardering voor softwareontwikkelaars

Doordat een groot deel van het proces geautomatiseerd verloopt zijn er minder handmatige en repeterende acties te verrichten. Daardoor kunnen ontwikkelaars zich richten op het werk waar ze goed in zijn en enthousiast van worden, software ontwikkelen. Ook de directe terugkoppeling van je klant is een voordeel voor softwareontwikkelaars. Een product ontwikkelen waar je klanten echt wat aan hebben geeft een goed gevoel.

De transitie van waterval-methode naar Continuous Delivery vergt de nodige inspanning en niet alleen binnen een ontwikkelafdeling. De omschakeling naar Continuous Delivery brengt software ontwikkeling letterlijk in een stroomversnelling waar veel partijen voordeel bij hebben. Niet in de laatste plaats de software gebruikers. 

Cursus Continuous Delivery 3.0

Het NISI start op 22 februari met een 8-delige cursus Continuous Delivey 3.0. Tijdens de cursus wordt in acht blokken de opbouw en werking van een Continuous Delivery pipeline behandeld. Gastsprekers van Microsoft en Google delen hun ervaring en kennis uit de praktijk. 
>>Lees meer over de cursus of meld u direct aan. 



Kijk voor cursusinformatie op de cursuspagina

De 7 belangrijkste kwaliteiten van een goede Product Owner

Door: Jan Wognum

Product Owner is geen gemakkelijke rol binnen het scrum team. Toch wordt deze functie het meest onderschat. Meer dan eens zie ik dat, in de transitie naar Agile werken, bestaande Product Managers automatisch benoemd worden tot Product Owners. Soms pakt dat geweldig uit, maar in andere gevallen heeft het dramatische gevolgen. Dan is de PO onvoldoende voorbereid op de multidisciplinaire uitdagingen in zijn functie. Hoe kun je dit omzeilen? Door te letten op de zeven cruciale eigenschappen die een goede Product Owner maken:

1. Visie op product en markt
 De Product Owner is iemand met product- en marktkennis. Hij staat in contact met alle stakeholders en focust zijn blik steeds op waar de meeste toegevoegde waarde te behalen is. Dit kan alleen als hij een sterke visie heeft op het product en de markt. Waar ligt de behoefte in de markt op korte en lange termijn? Welke mogelijkheden zijn er in de ontwikkeling van het product? En hoe haal ik de meeste waarde uit het scrumteam? Een goede Product Owner is kritisch en moet dus ook regelmatig ‘nee’ durven te verkopen.

2. Operationeel inzicht: de vertaling van visie naar concrete acties (de product backlog)
Het formuleren van een visie alleen is niet genoeg. Als Product Owner moet je de vertaalslag kunnen maken van de ‘abstracte’ visie naar uitvoerbare ‘brokken’.  Hoe dichter bij de uitvoering, hoe meer verfijnd de product backlog is. De magie in de backlog zit in de prioritering: op het juiste moment aan het juiste onderdeel werken. De Product Owner creëert eerst kleine experimenten voordat grote onderdelen worden opgepakt. Ervaring op operationeel niveau is van belang om de capaciteit van het team te kunnen inschatten.  Op basis hiervan kan hij de product backlog slim invullen en aanpassen.

3. Alles is Agile
Agile = wendbaar en dat geldt ook voor de Product Owner. Hij moet kunnen schakelen tussen alle stakeholders en facetten, van klant, management en team tot product, markt, organisatie en eigen visie. Hij kan zich op dezelfde dag bezighouden met klantbevraging, team stand-ups, strategisch management overleg en het manoeuvreren tussen de belangen van stakeholders in de organisatie. Het is aan de Product Owner om te bepalen wat op dat moment voorrang heeft. Een strikte houding kan succesvol schakelen dan behoorlijk in de weg staan.

4. Prioriteiten stellen
De Product Owner is altijd op zoek naar de hoogst mogelijke waarde voor de klant. Telkens opnieuw beslissingen nemen over de hoogste prioriteit van dat moment. Wanneer is het bijvoorbeeld tijd voor innovatie en wanneer voor het opruimen van brokken werk die zijn blijven liggen (zgn. legacy)? Wanneer je nooit iets doet aan legacy, dreigt er een opstapeling van werk, maar zonder voldoende innovatie blijf je stilstaan. De balans en prioritering is dus belangrijk.

5. Een teamspeler
De Product Owner werkt met een breed scala aan type mensen. Op tactisch niveau overlegt hij met politieke stakeholders en op operationeel niveau met alle mensen in het scrumteam, zoals IT’ers, business developers en marketeers. Al deze groepen mensen vragen een andere manier van communiceren. De Product Owner moet over voldoende sociale vaardigheden bezitten om effectief samen te werken met verschillende groepen mensen binnen en buiten de organisatie. Kortom; de Product Owner is een echte teamplayer.

6. Motiverend leiderschap
Verschillende groepen mensen hebben verschillende belangen. De PO is de spil is tussen deze belangen en moet mensen mee kunnen krijgen in zijn beslissingen. Bijvoorbeeld het scrumteam. Meningen over wat er in een sprints moet worden opgepakt kunnen verschillen, maar uiteindelijk neemt de PO de beslissing. Hiervoor moet hij voldoende gezag en respect van zijn teamgenoten hebben en hen kunnen stimuleren volop in de sprint te gaan.
Omdat een scrumteam zelf organiserend is, is de belangrijkste leiderschapskwaliteit voor een PO om te inspireren. Het top-down voorschrijven aan een team wat ze moeten doen, werkt niet in een Agile omgeving. Op die manier haal je een stuk autonomie weg die hard nodig is voor het laten slagen van zelforganiserende teams. De beste manier om het meeste uit je team te halen? Empowerment. Dit betekent dat je als leider goed moet luisteren naar je team, openstaan voor suggesties en makkelijk benaderbaar moet zijn.

7. Ken uzelf
Een Product Owner zit dus in dynamisch vaarwater. De druk is hoog en het aantal stakeholders groot: een vruchtbare grond voor het ontstaan van conflicten. Dit kan zijn weerslag hebben op de Product Owner als persoon. De PO moet zichzelf, en zijn grenzen, goed kennen om de druk en conflicten niet in de weg te laten staan van gedegen beslissingen en creatieve oplossingen.
Hét sleutelbegrip hierbij is: durf hulp te vragen. Hulp van bijvoorbeeld het team, klanten, marketeers, trendsetters of user interface bouwers. Bijvoorbeeld: je wil het uitproberen van een nieuw product opknippen in verschillende brokken werk. Het kan je ontbreken aan specifieke technische kennis om dit op de juiste manier te doen. Zoek dan de persoon die hier wel alle ins & outs van weet. Faciliteer deze persoon in het opknippen van het project in de juiste brokken. De PO kan niet alles weten; hij moet dus voortdurend op zoek zijn naar waarheden.
Tip: hulp van een ervaren Agile coach kan heel waardevol zijn voor de Product Owner. Iemand die de PO kan spiegelen en helpen met het doseren van zijn energie op het juiste moment.

Tot slot: de Product Owner als alleskunner
Deze opsomming van kwaliteiten maakt duidelijk dat de Product Owner rol er geen is voor on the side. Het is een drukke baan die toewijding vraagt. Het is belangrijk dat dit ook wordt erkend door het management. Werving van een goede Product Owner is belangrijk en kost tijd. Gezien zijn spil-in-het-web functie staat een niet functionerende PO het innovatieve succes van de organisatie immers in de weg. Kortom: een verantwoordelijke taak voor de HR afdeling.

Cursus Product Ownership en Agile Product Management
Het NISI start op 14 maart met een 5-delige cursus Product Ownership en Agile Product Management. Tijdens de cursus wordt in vijf blokken de aspecten van Agile Product Ownership uiteengezet, zijnde Product Management, Backlog Management en Stakeholder Management. 
>>Lees meer over de cursus of meld u direct aan. 



Kijk voor cursusinformatie op de cursuspagina

Lancering Nederlands Instituut voor de Software Industrie

Recent heeft de Universiteit Utrecht het initiatief genomen tot de oprichting van het Nederlands Instituut voor de Software Industrie (NISI). Het NISI zal door middel van cursussen, consultancy en netwerken toegepast wetenschappelijk onderzoek financieren.

Waarom het NISI?

De Nederlandse software industrie floreert. Meer dan 1% van onze export bestaan uit software en er zijn meer dan 300.000 mensen werkzaam in de sector. Die mensen ontwikkelen innovatieve producten, nieuwe markten in Nederland en ver daarbuiten. Bedrijven zoals TomTom, Unit4, Planon en Exact laten de potentie zien van de innovatiekracht verpakt in software producten.  

Een kennisnetwerk is onontbeerlijk in zo'n kennisintensieve sector. Dat terwijl softwarebedrijven voor de software industrie vaak onzichtbaar en geïsoleerd werken zonder actief industrieel netwerk. Het Nederlands Instituut voor de Software Industrie wil dat veranderen.

Wie zijn de oprichters?

De oprichters van het NISI zijn Prof. Sjaak Brinkkemper, Dr. Jan Vlietland en Dr. Slinger Jansen. Daarnaast zijn promovendi zoals Garm Lucassen betrokken.

Wat is de doelstelling van het NISI?

De doelstelling van het NISI is om kennis aan te bieden die uniek is voor de software industrie, en niet ergens anders voorhanden is. Dus geen standaard projectmanagement, scrum, of automatisch testen, maar software product management, product portfolio management en security & encryptie programmeren. 

De oprichters zeggen daarover, “We geven al jarenlang succesvol cursussen Software Product Management aan de software industrie. Met het NISI bouwen we dit uit tot een kennisinstituut dat specifiek is voor de software industrie in Nederland met opleiding, innovatie en netwerking.

Meer informatie kun je vinden op de website van het NISI, www.nisi.nl, of neem direct contact op met
Dr. Jan Vlietland via 06-20411834.



Kijk voor cursusinformatie op de cursuspagina

20 september start cursus software product management

Voor de zestiende keer op rij biedt de Universiteit Utrecht de cursus software product management aan. Na afloop van deze cursus zijn de deelnemers in staat de functie ‘software-productmanager’ succesvol binnen de organisatie uit te rollen. Onderwerpen die aan bod komen zijn onder andere het veranderproces van een maatwerksoftware-bedrijf naar een écht productsoftware-bedrijf, het maken van een product roadmap die bestendig is tegen veranderingen en het internationaliseren van je product.

Meer informatie over de cursus vind je op de NISI cursuspagina, of op de specifiek ingerichte cursuswebsite. Hier vind je onder andere de datum en inhoud van de bijeenkomsten, alsmede welke gastsprekers de verbinding komen leggen tussen theorie en praktijk. De cursus bestaat uit tien achtereenvolgende bijeenkomsten en vindt plaats van 20 september t/m 22 november 2016.

Neem voor meer informatie contact op met Jan Vlietland door te mailen naar j.vlietland@nisi.nl

 



Kijk voor cursusinformatie op de cursuspagina