Data Quality Strategies
There are many potential data quality strategies for you to adopt:
- Agile master data management. An evolutionary and highly collaborative approach to Master Data Management (MDM).
- Continuous database integration. Continuous integration is a development practice where developers integrate their work frequently, at least daily, where the integration is verified by an automated build. The build includes regression testing and possibly static analysis of the code. Continuous database integration is the act of performing continuous integration on your database assets. Database builds may include the creation of the database schema from scratch, something that you would only do for development and test databases, as well as database regression testing and potential static analysis of the database contents.
- Database refactoring. A process by which an existing database schema is evolved in a safe and effective manner through the application of database refactorings. A database refactoring is a simple change to a database schema, such as renaming a table or splitting a column, which improves the quality of the design without changing the semantics (in a practical manner). There are 60+ proven database refactorings.
- Database regression testing . Database testing is the validation of functionality implemented within, and the data values contained within, a database. Database regression testing is database testing done in a regular manner throughout the system development lifecycle, often as part of your continuous integration efforts.
- Extract transform load (ETL). Data is extracted (read) from a legacy data source, transformed so as to improve it’s quality, and then loaded into another data source.
- Lean data governance. It is possible to take a lean/agile approach to data governance.
- Agile/Lean Data Governance Core Practices
- Logical data modeling (LDM). LDMs are used to explore the domain concepts, and their relationships, of your problem domain. This could be done for the scope of a single initiative or for your entire enterprise. LDMs depict the logical entity types, typically referred to simply as entity types, the data attributes describing those entities, and the relationships between the entities. LDMs are rarely used on teams taking an object-oriented (OO) or Agile approach although often are on traditional teams.
- Master data management (MDM). The primary goals of Master Data Management (MDM) are to promote a shared foundation of common data definitions within your organization, to reduce data inconsistency within your organization, and to improve overall return on your IT investment. MDM, when it is done effectively, is an important supporting activity for service oriented architecture (SOA) at the enterprise level, for enterprise architecture in general, for business intelligence (BI) efforts, and for software development teams in general.
- Model reviews. A model review, also called a model walkthrough or a model inspection, is a validation technique in which your modeling efforts are examined critically by a group of your peers. The basic idea is that a group of qualified people, often both technical staff and stakeholders, get together in a room to evaluate a model or document.
- Non-solo work. An approach to working where two or more people actively collaborate to fulfill a task. Agile examples include the practices of pair programming and modeling with others.
- Traditional data governance. A command-and-control approach to data governance.
Potential related strategies include:
- Agile architecture envisioning. Initial, high-level modeling performed at the beginning of an initiative (or programme, or enterprise architecture effort) to identify a viable technical direction for the effort. The goal is to do just enough modeling to drive to the technical vision/strategy, not to create extensive models or detailed documentation. Typically performed in parallel to agile requirements envisioning.
- Agile data modeling. An evolutionary (iterative and incremental) and highly collaborative approach to modeling data. Agile data modeling is the act of exploring data-oriented structures in an iterative, incremental, and highly collaborative manner. Your data assets should be modeled, via an Agile Model Driven Development (AMDD) approach, along with all other aspects of what you are developing.
- Agile enterprise architecture. An evolutionary and highly collaborative approach to modeling, documenting, communicating, and governing architecture for an organization.
- Enterprise data modeling (EDM). Data modeling performed at a cross-system, enterprise/organization-wide level.
- Physical data modeling (PDM). PDMs are used to design the internal schema of a database, depicting the data tables, the data columns of those tables, and the relationships between the tables. PDMs often prove to be useful on both Agile and traditional teams.
- Traditional architecture modeling.
- Traditional enterprise architecture.
Related Resources
- The Agile Database Techniques Stack
- Assessing Data Quality Techniques
- Clean Database Design
- Configuration management
- Comparing Data Quality Techniques
- Continuous Database Integration (CDI)
- Data Quality in an Agile World
- Data Technical Debt
- Database refactoring
- Database testing
- Introduction to DataOps: Bringing Databases Into DevOps
- Test-Driven Development (TDD)
Recommended Reading
This book, Choose Your WoW! A Disciplined Agile Approach to Optimizing Your Way of Working (WoW) – Second Edition, is an indispensable guide for agile coaches and practitioners. It overviews key aspects of the Disciplined Agile® (DA™) tool kit. Hundreds of organizations around the world have already benefited from DA, which is the only comprehensive tool kit available for guidance on building high-performance agile teams and optimizing your WoW. As a hybrid of the leading agile, lean, and traditional approaches, DA provides hundreds of strategies to help you make better decisions within your agile teams, balancing self-organization with the realities and constraints of your unique enterprise context.
I also maintain an agile database books page which overviews many books you will find interesting.