IT-organisaties hebben vaak te maken met twee werelden. De ene wereld is development; zij houden zich bezig met het veranderen van de it-producten, werken vaak aan nieuwe ideeën en vinden het leuk dingen uit te proberen. Stilstaan is een taboe, want stilstaan is achteruitgang. De andere wereld, operations, is vooral bezig om de situatie zo stabiel mogelijk te houden. Gebruikers moeten altijd kunnen werken, zij willen niet te veel risico lopen en willen zorgen voor constante evenwichtige ondersteuning. Veranderen is een taboe, want dat kan er toe leiden dat de stabiele situatie omvalt.

Een voorbeeld uit de praktijk


Op donderdag belooft de developer (Dev) nog een kleine update in de software aan de gebruiker die nog wat laatste tests aan het uitvoeren is. Het lijkt prettiger om een duidelijke omschrijving te tonen bij de code die moet worden ingevoerd. "Kan deze aanpassing meteen meegenomen worden als we maandag live gaan?”, vraagt de gebruiker.  "Geen probleem” zegt de developer die een extra tabelletje met omschrijvingen aanmaakt en klaarzet voor deployment.

Op vrijdag zit de software developer samen met operations (Ops) om de overdracht van de vernieuwde software te bespreken. Komend weekend gaat alles live en maandag kan iedereen weer werken. De nieuwe software en de aangepaste tabellen staan klaar en daarbij aangeleverd is de beschrijving van het complete set. Er staat tevens in wat er moet gebeuren als er iets fout gaat bij deployment, precies zoals operations dat altijd wil. "Succes dit weekend” zegt de developer tegen operations, "ik ga dit weekend lekker van mijn welverdiende rust genieten op mijn boot”.

Op zaterdag start operations de software die zij hebben overgezet in de productionele omgeving nog even kort op om te kijken of alles werkt. Er verschijnt een errormelding in beeld: ERROR LOADING TABLE ‘CodeOmschrijving’. In de documentatie staat niets over een tabel met deze naam….De developer krijgen ze niet te pakken want hij heeft op zijn boot geen mobiel bereik. "Het is ook altijd hetzelfde met die developers, ze laten ons de puinhoop die ze creëren in het weekend oplossen. We draaien deze hele update gewoon terug naar de oude situatie”, besluiten ze operations.


Op maandag staat de boze gebruiker, in eerste instantie bij operations. Er is geen nieuwe versie van de software. Uiteraard krijgt de developer de schuld omdat hij "zoals gewoonlijk de nieuwe spullen gewoon over de schutting heeft gegooid”.

DevOps

Bij DevOps draait het om de samenwerking tussen ontwikkeling en beheer. Daar komt de naam ook vandaan: Dev staat voor Development en Ops voor Operations: DevOps. Beide werelden maken gebruik van methodieken, processen, best-practices en standaard gedragingen. Als de twee werelden niet goed samenwerken kan dit leiden tot veel frustratie in de organisatie. De verbetervoorstellen die met alle goede bedoelingen door development worden ingezet worden ontvangen als bommetjes door de medewerkers van operations. Andersom gebeurt er precies het zelfde.

Het is daarom goed om de twee werelden dezelfde taal te laten spreken. DevOps leert beide werelden samenwerken. Gedrag, methodieken, organisatie en processen vormen de kern van deze nieuwe samenwerking.
De onderdelen die door DevOps aan elkaar worden geknoopt zijn:

DevOps zorgt dus voor een soepele samenwerking tussen personen in een organisatie die moeten samenwerken, maar verschillende doelen hebben.