Agile Development
Methodologies For DBAs
Ever since an
old colleague of mine
mentioned that his
Oracle development team were
using
Scrum, an agile
development methodology, to
run and plan their projects,
I've been looking out for an
opportunity to use agile
methods in my line of work.
Interestingly, there's a new
article on OTN by Scott
Ambler entitled
"Agile Development and the
Developer/DBA Connection"
which looks like just the
ticket. According to the
article;
"Unlike modern
developers, who work in an
agile and evolutionary
(iterative and incremental)
manner, most DBAs tend to
work in a "serial" manner.
But with the potential of
service-oriented
applications (SOA) to change
the nature of software
development, DBAs will have
to change along with it.
The adoption of "agile"
software development
techniques can be a
significant factor in that
process. Not only are
developers already working
with new technologies such
as services, but they're
also adopting new
development techniques to
increase their efficiency.
These techniques--Extreme
Programming, Feature Driven
Development, Test-Driven
Development, and Agile
Modeling--vary in specifics,
but they share an emphasis
on the following:
-
A
cooperative working
style between developer
and DBA
-
Data
management techniques
that support agile
software development
(vs. traditional, serial
techniques, which do
not)
-
New,
flexible development
tools that reflect the
realities of modern
environments."
Of course, the added
complication when working on
consulting engagements is
that whilst agile methods
may suit the customer well
(in that requirements are
driven out iterativelty, and
development goes on as long
as value is being delivered)
the client also almost
always wants a fixed price,
and a fixed delivery date.
Certaintly, the situation
described in the article
(where a DBA is on call
anyway, and the question is
more about how best to spend
their time) is probably
better suited to agile
methods than when you're on
a fixed-price,
fixed-duration project for a
client. Interesting
nonetheless.