However I don't think this is the key point about agile
methods. Lack of documentation is a symptom of two much deeper
differences:
Agile methods are adaptive rather than predictive.
Engineering methods tend to try to plan out a large part of the software
process in great detail for a long span of time, this works well until
things change. So their nature is to resist change. The agile methods,
however, welcome change. They try to be processes that adapt and
thrive on change, even to the point of changing themselves.
Agile methods are people-oriented rather than
process-oriented. The goal of engineering methods is to define a
process that will work well whoever happens to be using it. Agile
methods assert that no process will ever make up the skill of the
development team, so the role of a process is to support the
development team in their work.In the following sections I'll explore these differences in
more detail, so that you can understand what an adaptive and
people-centered process is like, its benefits and drawbacks, and
whether it's something you should use: either as a developer or
customer of software.
Substitute a standard web services interface for a speaking tube, a business rules management system for his encyclopedic knowledge of policies and regulations, data mining or predictive analytics for his customer knowledge and adaptive control for his experimentation and you have Decision Management. The Answerer but on an industrial scale.