Data, the way that we process it and store it, is one of many important aspects of software-based solutions. Data is the lifeblood of our organizations, supporting real-time business processes and decision making. It is crucial to the success of software development, and to our organization as a whole, that we apply agile and lean strategies to data-oriented activities. Yet for many organizations their data sources prove to be less than trustworthy and their data-oriented development efforts little more than productivity sinkholes. We can, and must, do better.
This presentation begins with a collection of agile principles for data professionals and of data principles for agile developers - the first step in crossing the cultural divide is to understand and appreciate the priorities and strengths of the people that we work with. Our focus is on a collection of practices - the "agile database techniques stack" - that enables development teams to easily and safely evolve databases. These techniques include vertical slicing, clean architecture and design, agile data modelling, database refactoring, database regression testing, continuous database integration, and configuration management. We then show how this technique stack enables agile data warehousing, agile data management, and lean data governance.