Elke werkdag behandelt Computable een onderwerp waarover lezers kunnen discussiëren. Vandaag over het fenomeen DevOps, waarbij developmentwerk en operationeel beheer samenkomen.
DevOps geniet groeiende populariteit. Het wordt wel gezien als de volgende stap na de trends van Agile-development en Scrum. DevOps is bedoeld om de kloof te overbruggen tussen de dynamisch geachte wereld van it-development en de als statisch geziene wereld van it-beheer (operations). Flexibiliteit en snelheid zijn sleutelwoorden, maar DevOps is ook onderhevig aan hype en vertroebeling. Het is een hydra die (dus) een eenduidige definitie mist. Wat vind jij?
Als je erover wilt kunnen praten, besluiten of ontwerpen, dan moet je weten waarover je het hebt. Dus Devops heeft een definite nodig. Waarbij op zijn minst de volgende elementen aan bod komen:
Wat is het doel/de ambitie
Wat zijn de belangrijkste processen
Wat zijn de belangrijkste vaardigheden van de mensen die devops bedrijven
Wat zijn de belangrijkste funcies van de ondersteunende IT systemen?
Wanneer moet je het zeker wel toe passen en wanneer moet je het zeker niet toepassen?
Zoals alle ‘hippe’ begrippen wordt DevOps vertroebeld door het te gebruiken omdat dat goed klinkt, zonder te begrijpen wat het is.
Dus managers, lees [http://radar.oreilly.com/2012/06/what-is-devops.html] voordat je roept dat je DevOps gaat doen.
Een gezamenlijke definitie over wat DevOps is, is handig maar niet noodzakelijk. Het komen tot een gezamenlijke en gedragen definitie kost tijd en er zijn veel mensen en organisaties die belang hebben bij een definitie.
Zoals Eric aangeeft is het wel van belang om in gesprekken en besluiten te weten waarover je hebt. Een definitie of beschrijving is dan noodzakelijk om de betrokken mensen en organisatie eenzelfde beeld te geven.
Belangrijker in mijn ogen is dat DevOps in welke definitie dan ook een oplossing kan zijn voor uitdagingen die we ervaren in IT en dat deze discussie gaat over de wijze waarop DevOps een oplossing is, in plaats van een discussie dat een oplossing niet aan de DevOps definitie voldoet en daarom geen oplossing mag of kan zijn. Als een organisatie besluit applicatie ontwikkelaars en beheerders in één team te plaatsen en dat DevOps noemt vind ik dat prima als dat de organisatie vooruit helpt. Datzelfde geldt als een andere organisatie applicatie en infra beheerders in één team zet.
Een andere uitdaging bij het definieren van DevOps is het uitwerken van processen, rollen, verantwooordelijkheden en contracten etc. Allemaal punten die in het Agile manifesto genoemd worden als ondergeschikt aan samenwerking, het kunnen reageren op veranderingen en het opleveren van werkende IT oplossingen. Op dat punt ben ik het eens dat DevOps een definitie nodig heeft: een DevOps manifesto die kernachtig weergeeft waar het voor staat.