Agile
in a Flash by Jeff Langr and Tim Ottinger (card #40)
> Continuous integration (CI)
> Test-Driven Development
(TDD)
> Constant design improvement
> Coding standard
> Collective code ownership
> Simple design
> System metaphor
> Pair programming
--
Agile programmers use these eight
practices that derive from Extreme Programming (see Extreme Programming
Explained, First Edition) to improve their software development practice. The
practices can work individually but have a profound synergy when used together.
A coding standard (see Card 35,
Coding Standards) is foundational for working as a team that collectively owns
the code. Continuous integration ensures the system is always in working order.
You know the system works because it has been built by pairs of programmers
reviewing the other person’s work and using TDD (plus automated acceptance
tests) to verify that it works. You know the system has a quality design,
because the programmers use TDD to continually improve the design (refactor)
using simple design concepts.
You communicate these system
ideas with your whole team—which includes the business and other nontechnical
folks—through use of a metaphor. A metaphor is a shared system vision and
language that simplifies decision making and reduces the need for deep-code
spelunking. The shopping cart is a common metaphor; you talk about “carts,
items, and checkout.” You might end up with what’s
known as the naïve metaphor:
“This is a purchasing system, with orders, inventory items, and submissions.”
Boring but effective enough!
"Don't practice until you get it right.
Practice until you can't get it wrong.” - Unknown
No comments:
Post a Comment