Continuous Optimization

ContinuousOptimization is a process or attitude where you're never satisfied with how well things are going and are always looking to make them better. If you're doing ContinuousOptimization you're only really doing one of two things:

  1. You are currently doing the best thing you possibly can to solve the problem at hand.
  2. You're reviewing what you're currently doing and changing it as soon as it is no longer the best thing you can possibly do.

I think XP is a methodology that takes ContinuousOptimization to heart. Take the four values:

and choose some development practices and principles that support/embody these values. Now embark on a process of ContinuousOptimization such that they become better fitted for the problem currently at hand (where 'better' == more in harmony with the values and producing more value for the customer).

-- PaulDyson & KentBeck


Some organizations need measures to prove to itself the need for improvement. Think about MeasuresToJustifyEarlyFeedback for example.


No balls, man.

Are you saying I have no balls, or are you saying: "No. Balls, man."?? :-)

Try this. Take ANY set of development practices. Now embark... Will this process always converge to XP?


No. Take a development culture that 'values' bureaucracy and covering your arse and you will get better at being bureaucratic and shifting blame. Don't laugh, I've worked in local government where people have built a 20 year career through getting better at these things whilst having very little talent for the job they're actually employed to do.

The development practices you use are almost irrelevant in the face of the values you have. If you have the above four values then I think (the same may not be true for others who have a lot more experience of XP than me) that you are doing XP and, given a team of 8-12, in a flexible environment, with buy-in from the management and customers, you will end up doing more or less the practices described elsewhere on the Wiki. If you have a radically different environment than this (one person, 60 people, geographically dispersed development teams and/or customers, ...) then you will probably end up using a different set of practices that have some similarities to 'vanilla XP' but represent your adherence to these values in your environment.

But if you have different values, you are unlikely to converge to XP practices. If you start with a random set of practices, and no values, it's completely unclear what you'd end up with - probably a mess.

-- PaulDyson


EditText of this page (last edited April 6, 2004) or FindPage with title or text search