The Agile Data (AD) Method

Agile Data Logo

The purpose of the Agile Data Method is to share proven agile and lean strategies for data initiatives.

Data has been an important aspect of every single system which I have ever built. Then again, so have business rules, user interfaces, telecommunications, and a slew of other issues. My experience is that:

  1. Software developers will usually struggle to get the data stuff right, and will often make questionable decisions from an enterprise data point of view.
  2. Data professionals will usually struggle to work in an agile manner, which to say is collaborative, evolutionary, and quality-focused in nature.
  3. There is a cultural impedance mismatch between the two groups which exacerbates these problems.

I believe that we need to find ways to work together effectively, and that there are five fundamental tasks that IT organizations must undertake:

  1. Adopt a new philosophical foundation. The Agile Data Method, and the supporting agile database techniques, describe an approach that has a chance at succeeding because it describes ways that people actually work in practice. It’s not just a collection of academic theories that sound great. The heart of the Agile Data method is in its philosophies and its roles. The philosophies sound simple yet in practice have significant implications when you act on them: my experience is that rethinking your approach to software development and reworking your organization’s culture to succeed at the software development game will prove to be difficult in practice.
  2. Help both developers and data professionals need to adopt evolutionary, if not agile, database techniques. This includes agile data modelingdatabase refactoringdatabase regression testingtest-driven development (TDD), and encapsulating database access appropriately. We must all recognize we need to become more agile, that we can take an agile approach to modeling and documentation, that data models don’t drive object models (and vice versa), that we need new tools, and that we should work in our our separate development sandboxes. Adopting common agile database core practices is also a very good idea.
  3. Help developers learn fundamental data techniques. This includes data modelingmapping objects to RDBs (O/R mapping), and working with legacy data. Developers should also understand how to choose a primary key strategy for a tablerelational database fundamentalsreferential integrity and shared business logichow to retrieve objects from an RDBhow to implement reportssecurity access controltransaction control, and concurrency control.
  4. Help data professionals to learn fundamental development techniques.
  5. Take an agile approach to enterprise efforts. Your enterprise architecture and enterprise administration (including operational data administration) groups need to become more agile to succeed in modern IT environments. It’s not only possible to take an agile enterprise approach, I believe it’s preferable to traditional traditional techniques because it’s more responsive to the actual needs of your organization.

In short, this site is dedicated to sharing effective practices, not questionable theories.

 

Recommended Reading

Choose Your WoW! 2nd Edition
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.