Het schrijven van correcte programma’s, die onder alle omstandigheden doen wat ze moeten doen, is minder eenvoudig dan het lijkt. Dit is een ervaring van vrijwel elke programmeur. Je hebt je programma klaar, je hebt er heel goed over nagedacht, je hebt het uitvoerig getest en dan blijken er later toch nog fouten in te zitten! Dat gebeurt vooral zodra anderen je programma gaan gebruiken. Bovendien zijn de gevolgen nog veel groter als het aantal gebruikers groot is. De vraag hoe je betrouwbare software moet maken, heeft geleid tot een heel eigen vakgebied, namelijk Software Engineering.
Voor het ontwikkelen van goede software kunnen verschillende methoden worden gehanteerd. Tegenwoordig is Scrum erg populair. Scrum wordt behalve voor het maken van software ook voor andere doeleinden gebruikt. In deze module laten we zien wat Scrum is en hoe Scrum toegepast kan worden. Scrum biedt oplossingen voor een aantal problemen, maar niet voor alles. Scrum schrijft bijvoorbeeld niet voor in welke taal er geprogrammeerd moet worden. Scrum lost ook het probleem van correctheid van software niet op. Scrum zorgt wel voor oplossingen voor communicatieproblemen. En voor problemen die ontstaan als meerdere mensen met elkaar moeten samenwerken. Daar is bij de ontwikkeling van grote programma’s vaak sprake van.