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.
The success of Service-Oriented Architecture (SOA) has created the foundation for information
and service sharing across application and organizational boundaries. Through the use of SOA,
organizations are demanding solutions that provide vast scalability, increased reusability of
business services, and greater efficiency of computing resources. More importantly,
organizations need agile architectures that can adapt to rapidly changing business requirements
without the long development cycles that are typically associated with these efforts. Event-Driven
Architecture (EDA) has emerged to provide more sophisticated capabilities that address these
dynamic environments. EDA enables business agility by empowering software engineers with
complex processing techniques to develop substantial functionality in days or weeks rather than
months or years. As a result, EDA is positioned to enhance the business value of SOA.
The purpose of this white paper is to describe the approach employed to overcome the significant
technical challenges required to design a dynamic grid computing architecture for a US
government program. The program required optimization of the overall business process while
maximizing scalability to support dramatic increases in throughput. To realize this goal, an
architecture was developed to support the dynamic placement and removal of business services
across the enterprise.
C. Wild, K. Maly, C. Zhang, C. Roberts, D. Rosca, and T. Taylor. TENCON '94. IEEE Region 10's Ninth Annual International Conference. Theme: Frontiers of Computer Technology. Proceedings of 1994, (August 1994)