From NonlinearityOfXp :
[excerpted, and I don't know how best to deal with the duplication, but I think this page should exist...]
Ward talks about the book TheAthleticSkier
, where the authors suggest aggressive skiing be the norm, even among recreational skiers. Much of the book has to do with getting your boots and balance just right. They point out that being a little out of balance isn't much better than being a lot out of balance. In other words, you won't see much improvement from tweaking your boots until they are almost exactly right. Then small changes make a big difference.
This is the opposite of the EightyTwentyRule
that most of us live by much of the time. The best explanation I have is that in systems with controls that don't interact much, some are bound to be more important than others, and if you find the important controls and manipulate them you'll get great effects.
In a system governed by the TwentyEightyRule
, the controls all interact with each other, often in non-obvious and non-linear ways. In such a system, certain combinations of control settings give really good results, and lots of combinations don't work well. Hence, in the skiing example, there are lots of ways of skiing that don't work well (I know, I've tried many). But there a bunch of things that, if done together, give dramatic improvement. -- KentBeck
I'm right now helping a software company that lost almost all knowledge of its BestPractice
through recession and personnel turnover.
Bringing back ContinuousIntegration
only (just version control, really), had a huge impact on productivity and predictability. Bringing in UnitTest
s would have a similar impact. But first I plan to bring in the PlanningGame
, so there are at least milestones where learning can take place, and RefactorMercilessly
, through a light form of PeerReview
I'm certain that productivity in this software house will boost several hundred percent with just that, even though it is not 100% ExtremeProgramming
Maybe there is a EightyTwentyRule
by which you can get an 80% improvement by adopting 20% of the BestPractice
s. I'm reminded of BikeRiding?
: in both the initial effort is quite painful, but short, and the outcome great. That's another kind of NonLinearity?
As for the last 20% of XP adoption, well, yes, maybe the curve of adoption/productivity is exponential throughout.