The Agile Data (AD) method defines a collection of
strategies that IT professionals can apply in a wide variety of situations to
work together effectively on the data aspects of software systems.
This isn’t to say that AD is a “one size fits all” methodology.
Instead, consider AD as a collection of
philosophies that will enable IT
professionals within your organization to work together effectively when it
comes to the data aspects of software-based systems.
Modern software development processes - such as
Disciplined Agile Delivery (DAD),
Extreme Programming (XP), and Scrum -- are all iterative and
in nature. Every single one of them. Some modern approaches, in
particular XP and Scrum, are agile in nature (for the sake of simplicity, let's
define agile software development as a highly collaborative and evolutionary
approach). Traditional approaches to the data-oriented aspects of software
development, however, tend to be serial, not evolutionary and certainly not
agile, in nature. This is a serious problem.
Data has been an important aspect of every single business
application which I have ever built. Then again, so have business rules,
user interfaces, networks, and a slew of other issues. My experience is
that left to their own devices software developers will usually struggle to get
the data stuff right, and will often make questionable decisions from an
enterprise data point of view. My experience is also that many data
professionals are difficult to work with, often because they are stuck in their
"serial ways" but also because they have little or no experience following
modern software development techniques. These two observations reflect the
cultural impedance mismatch between the two groups, a problem which is often
over-shadowed by the
technical impedance mismatch between the two technologies (object-based and
relational) which the two groups work with.
Important Topics in Agile Data