Edited June 24, 2024: dead links, light re-editing, new closing paragraph.
Like many, when I first encountered the term “agile software development,” I
thought it was an excuse for a cowboy culture: low planning, low documentation,
run as fast as you can and assume that each person’s brilliance will take care
of everything. Since it came up in the context of a very large client asking us
about our methodology (“what’s a software development methodology?” I asked
myself), I thought I should dig into a little more. Integrating Agile
Development in the Real
World,
by Peter Schuh, quickly showed me it is not that simple. Agile development is,
in fact, all about fostering a systematic, right-sized, just-in-time development
process. For me, being “agile” means embracing change instead of being locked
into preconceived notions (requirements). But don’t throw everything out the
window either.