|
For more on agile programming in general, see
"The New Methodology" by Martin Fowler, at
www.martinfowler.com/articles/newMethodology.html
Extreme Programming
Built around 12 basic practices ranging from pair programming
to frequent refactoring, this approach is more prescriptive than the others.
For more information, visit
www.extremeprogramming.org and
www.xprogramming.com
or read
Extreme Programming Explained: Embrace Change, by Kent Beck (Addison
Wesley Longman Inc., 1999).
Extreme
Programming on a single page
Balanced Agility
Mike Beedle's
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.
Scrum
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
www.controlchaos.com
or read
Agile Software Development with Scrum, by Ken Schwaber and Mike
Beedle (Prentice Hall PTR, 2001).
Another Scrum resource is the
Scrum Alliance
Scrum development on a
single page
Crystal
This approach empowers the team to define the development
process and refine it in subsequent iterations until it's stable. To learn
more, visit
crystalmethodologies.org or read
Agile Software Development: Software Through People, by Alistair
Cockburn (Addison Wesley Longman, 2001).
Adaptive
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
www.adaptivesd.com or
read
Adaptive Software Development: A Collaborative Approach to Managing Complex
Systems, by James A. Highsmith III (Dorset House Publishing, 2000).
Feature-Driven Development
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
PTR, 1999).
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
or read
DSDM: The Method in Practice, by Jennifer Stapleton (Addison Wesley
Longman, 1997) |