Agile Software Development

- JavaTouch

- Java SE Home
- Java EE Home
- Spring Framework Home
- Software Design Home
- Design Patterns Home




Agile software development is a conceptual framework for undertaking software engineering projects that embraces and promotes evolutionary change throughout the entire life-cycle of the project.

There are a number of agile software development methods, such as those espoused by The Agile Alliance. Most agile methods attempt to minimize risk by developing software in short timeboxes, called iterations, which typically last one to four weeks. Each iteration is like a miniature software project of its own, and includes all of the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation. While an iteration may not add enough functionality to warrant releasing the product, an agile software project intends to be capable of releasing new software at the end of every iteration. In many cases, software is released at the end of each iteration. This is particularly true when the software is web-based and can be released easily. Regardless, at the end of each iteration, the team reevaluates project priorities.

- Agile Alliance Home

Introductory Articles:
ABC: An Introduction to Agile Programming

- Article Library at Agile Alliance


Agile Modeling

- Agile Modeling Home 

Where to Start:
Read the following in order:
An Introduction to Agile Modeling
2. Agile Model Driven Development (AMDD)
3. Where Do I Start?
4. Frequently Asked Questions (FAQ)
5. Principles of AM
6. Practices of AM