For more on agile programming in general, see
"The New Methodology" by Martin Fowler, at
Built around 12 basic practices ranging from pair programming
to frequent refactoring, this approach is more prescriptive than the others.
For more information, visit
Extreme Programming Explained: Embrace Change, by Kent Beck (Addison
Wesley Longman Inc., 1999).
Programming on a single page
Balanced Agility is not a framework. It requires fewer engineering
practices than XP. It is NOT OPTIMAL or BEST; instead it is MINIMAL but
SUFFICIENT, engineering-wise. It is also EASIER and somewhat SAFE. Balanced
Agility has some of its roots in the
Living Metaphor, which merges
patterns of life, computer systems, and human organizations. As a physicists
by training this topic is right on the edge of rationality, so I take the
Living Metaphor with a grain of salt.
Based on the empirical process control model, Scrum
programming relies on self-directed teams and dispenses with much advanced
planning, task definition and management reporting. To learn more, visit
Agile Software Development with Scrum, by Ken Schwaber and Mike
Beedle (Prentice Hall PTR, 2001).
Another Scrum resource is the
Scrum development on a
This approach empowers the team to define the development
process and refine it in subsequent iterations until it's stable. To learn
crystalmethodologies.org or read
Agile Software Development: Software Through People, by Alistair
Cockburn (Addison Wesley Longman, 2001).
Based on adaptive rather than deterministic theories, this
approach offers a series of frameworks to apply adaptive principles and
encourage collaboration. For more information, visit
Adaptive Software Development: A Collaborative Approach to Managing Complex
Systems, by James A. Highsmith III (Dorset House Publishing, 2000).
This model-driven, short-iteration process is built around
the feature, a unit of work that has meaning for the client and
developer and is small enough to be completed quickly. To learn more, read
Java Modeling Color With UML: Enterprise Components and Process
(with CD-ROM), by Peter Coad, Eric Lefebvre and Jeff De Luca (Prentice Hall
Dynamic Systems Development Method
Conceived as a methodology for rapid application development,
DSDM relies on a set of principles that include empowered teams, frequent
deliverables, incremental development and integrated testing. For more
information, visit www.dsdm.org
DSDM: The Method in Practice, by Jennifer Stapleton (Addison Wesley