One of the main events in the software industry at the beginning of the new century is the appearance of the agile methodologies for software development. Most of the companies today are using these methodologies to manage their projects. They radically changed the landscape of the development methods.
The agile methods are based on a set of new principals of design and build – different from the principals used before. However to understand the agile methodologies first of all we need to understand the reason of their appearance. Thus we’ve to first understand the traditional methods of software development – their features, their pros and cons, and nevertheless we’ve to understand their relevance.
Features of the Traditional Methods
The so called traditional approaches, also known as “engineering” approaches, are defined at the very beginning of the software sciences. Of course the software development process need to be controlled somehow. To do so the software engineers came along with the well known engineering methods of controlling the processes. These methods are applying a disciplined approach where the stages of design and build are well predictable. Detailed stages of analysis and design precede the stage of building the software.
These methodologies are well documented and thus are quite complex to apply. Of course this is the main reason when we talk about their disadvantages. One of the main disadvantages is that these traditional methodologies are very bureaucratic. In practice the high level of detail in a methodology leads to a high level of complexity. Actually the work of managing the methodology itself is more than the work on the software product.
to be continued …