Bisherige Ansätze in der Softwaretechnik sind vor allem mit Blick auf das Extrahieren und Experimentieren unzureichend. Ein klassisches Entwicklungsmodell in der Informatik ist das Wasserfallmodell (Royce 1970), in dem bestimmte Phasen wie Anforderungserhebung, Systementwurf und Implementierung lediglich einmal durchlaufen werden. Dieses Modell ist vor allem für solche Entwicklungen geeignet, die bereits existente Prozesse digitalisieren sollen. Wenn jedoch neue digitale Prozesse entwickelt werden sollen, wirkt sich bei diesem Modell nachteilig aus, dass Fehlentwicklungen erst am Ende des Prozesses sichtbar werden, also erst dann, wenn die Software als Ganzes bereits fertig ist. Um schneller auf sich ändernde Anforderungen reagieren zu können, wurden deshalb agile Methoden entwickelt, deren Rahmen mithilfe des agilen Manifest (<ref xmlns="http://www.tei-c.org/ns/1.0" target="http://agilemanifesto.org">Beck et al. 2001</ref>) definiert werden. Zur Grundidee der agilen Softwareentwicklung gehören kurze, feste Iterationen mit de m Ziel, möglichst frühzeitig lauffähige Produktinkremente auszuliefern. So können öfter Rückmeldungen vom Kunden eingeholt und Fehlentwicklungen frühzeitig erkannt werden. Vor allem aber ist dieser Prozess auch transparenter für den Kunden, da er regelmäßig Fortschritte sieht. Da dieser Ansatz davon ausgeht, dass man zwangsläufig ‚scheitern‘ wird, soll das Scheitern im Kleinen stattfinden, um so Potenzierungseffekte zu minimieren. Die agilen Methoden haben jedoch den Nachteil, dass sie lediglich einen Rahmen bilden und keine Spezifika bieten, wie z. B. konkret experimentiert werden kann oder soll. Als Anforderungen werden im agilen Ansatz Scrum User Stories verwendet, die aus Nutzersicht die gewünschten Funktionalitäten beschreiben. Um eine gute Produktqualität zu erreichen, muss Scrum (Sutherland / Schwaber 2007) mit klassischen Ansätzen kombiniert werden.