Build the Process for the People

Agile methods recognize the humanity at the core of software
development. Agile methods are built around people, not machines.
Working effectively requires an understanding deeper than the surface
mechanics of how people interact or who makes decisions.

One aspect of humanity is that we’re fallible. We make mistakes,
forget important practices, and obstinately refuse to do things that
are good for us—especially when we’re tired or under stress.

We have strengths, too. We are creative, playful, and—under the
right circumstances—passionate and driven to succeed. No machine can
match these characteristics.

As you modify your agile method, work with these essential
strengths and weaknesses. Don’t require perfection; instead, build
your process to identify and fix mistakes quickly.
Do take advantage of your team’s creativity. If a
task is boring and repetitive, automate it.

Have fun, too. Software development may be big business, but the
best developers I know love their jobs. They’re passionate about their
projects, and they also joke and play. The great teams I know
socialize outside of work. There’s no way for your agile method to
enforce this, but you can create the conditions for it to happen by
identifying and eliminating the barriers to natural social
interaction.

In Practice

XP’s demand for self-discipline seems to violate this principle of understanding human weakness. People aren’t good at being self-disciplined all the time, so how can XP succeed? ...

The best content for your career. Discover unlimited learning
on demand for around $1/day.