Change is the reality of software development. You can't anticipate everything,
no matter how much you plan. Traditional approaches to software development
force you to climb an asymptotic cost of change curve. The only way to produce
good software, and to stay sane, is to use a flatter curve.
If you want to win, you've got to flatten the curve and keep it flat. XP focuses
on living in the self-fulfilling reality of a flatter curve, and it gives you tools to get
there.
Developing software is a challenge, no matter how you go about it. But XP
proposes that we apply four values consistently to give ourselves a better chance to
succeed:
Simplicity
Communication
Feedback
Courage
The fundamental premise of XP is that application of these values via consistent
principles and practices will flatten the curve. Those principles and practices accept
reality. Requirements change. Scope creeps. Two people working together are
simply more productive than the same two people working alone. Not every
programmer is Einstein. Some things are out of your control. Stuff happens. Accept
it and get going.
XP is no silver bullet. There are still forces outside our control (competitors,
human fallibility, etc.). But if the curve is flat, you can walk instead of climbing.
That way, you can observe the scenery instead of trying not to fall.
XP also isn't just spin on undisciplined hacking. Applying the principles and
practices takes discipline. It takes discipline to write tests first, to integrate often, to
get all the tests to run before moving on, to pair program. In fact, the one lesson we
should draw from "hard" engineering is that discipline is important.
The difference between the discipline needed for XP and the discipline needed
for civil software engineering is in the results. XP gets you reliable, flexible software
on a daily basis. You can win with that, whether or not you have the diagrams.
When XP is given a fair shot, both programmers and business people enjoy it.
And why wouldn't it be? Fighting uphill battles is tiring. The flatter the terrain, the
less fatiguing the battle. In fact, it often doesn't even fill like a battle, especially to
those who are used to fighting on a slope.
No comments:
Post a Comment
Your comments are welcome!