DevOps
Tegenwoordig zijn er ontzettend veel applicaties en verschillende versies van software. De code van deze software moet natuurlijk ontworpen, ontwikkeld en onderhouden worden. Voordat een software code gepubliceerd mag worden, gaat het via verschillende omgevingen in een bedrijf. Denk aan ontwikkeling, business analyse, design, architectuur, code generatie, testing enzovoorts.
DevOps staat voor Development (Dev) en Operations (Ops). DevOps gaat verder dan de integratie van ontwikkeling en beheer, oftewel Agile. Het gaat bij DevOps om de samenwerking tussen softwareontwikkeling en productiebeheer. Beide teams zijn verantwoordelijk voor het eindresultaat van de software en de code. DevOps integreert dus ontwikkelaars en operationele teams om samenwerking en productiviteit te verbeteren. Dit wordt gedaan door het automatiseren van de infrastructuur, het automatiseren van werkstromen en het continu meten van de prestaties van applicaties. Om DevOps volledig te kunnen gebruiken, is het handig om eerst te weten wat Scrum, Continuous Integration en Continuous Delivery is.
Scrum
Agile is een manier van software ontwikkeling. Dit wordt ingezet om software te ontwikkelen, maar dan in teamverband. De Agile methode stelt projectteams in staat om projecten aan te passen aan de individuele behoeften van een project. De Scrum methode is een vorm van Agile werken. Het is een flexibele manier van werken in teams om software te ontwikkelen met projectmanagement. Er wordt gewerkt in korte vaste sprints van één tot vier weken. Deze teams bestaan uit experts van verschillende disciplines van het werk. Het team wordt begeleid door een ‘Scrum Master’, deze houdt de voortgang van het project in de gaten. In elke sprint wordt een werkend product opgeleverd. Zo een prototype wordt met iedere sprint weer aangepast aan de specifieke behoeften en wensen van de opdrachtgever.
Om te beginnen worden er voor elk project User Stories geschreven. Deze bevatten de ‘wat’ en ‘waarom’ er iets wordt gemaakt. In de Product Backlog worden alle (resterende) taken van het project bijgehouden. Er wordt ook meteen een Definition of Done (DoD) beschreven, dus aan welke eisen het resultaat moet voldoen. Tijdens de Sprint Planning wordt de ‘hoe’ van de vraag beschreven en worden de taken ingepland voor de aankomende sprint. Hierbij wordt de feedback van de vorige sprint verwerkt, dit is dus een iteratief proces. Tijdens de sprint wordt er elke dag een Daily Scrum gehouden om het proces zo effectief mogelijk te houden. Simpelweg kan er gezegd worden dat Agile Scrum het plannen, het maken van de code en het bouwen daarvan bevat.