Experience Equation

Development methodology can be said to be selected based on perceived costs.

In XP the cost of change is considered to be low so there's no benefit from using any other strategy other than evolution/refactoring. There is some line where this equation is not used though, for example, a framework like smalltalk is not evolved rather it is adopted wholesale without question.

In large projects this assumption do not apply. The cost of getting changes through the system (management, documentation, manufacturing, support, retraining, QA, etc) is high so a different approach is required. The training aspect is often overlooked. If 100 hundred developers are used to doing something a certain way that is a lot of inertia. Refactoring this experience out of existence can be extremely expensive.

Now let's consider any project and let's consider cost and benefit. A properly done framework, which means one based on experience, which means one that has evolved over time on possibly many projects, has a favorable cost benefit ratio. The cost is low because the framework as been tried and has been found true. The benefit then is potentially very high because developers on project can use the framework and are very productive. Much like many XPers use the smalltalk framework and are very productive. The failure of most frameworks is when they are made by people on a new project who have no experience in the domain. How anyone would expect this to work is beyond me so it is considered a strawman argument against frameworks.

In our favorite logging example if you have not done a logging system before then the risk is high so that the XP assumptions rule. But if you have worked on several projects there is almost no risk at all. It will work. Certainty is 100% just like the SmalltalkFrameworkIsOk.

It seems irrational to use one strategy regardless of circumstance and used it inconsistently at that. When walking down a trail i don't have to take every path to know it's not my destination, sometimes i do know where i'm going and can pick the right path the first time.


EditText of this page (last edited May 5, 2005) or FindPage with title or text search