Agile software development
These notes provide an introduction to the principles and techniques of agile software development. Since its inception in 2001, the agile approach has been refined and developed into several related methodological frameworks. These notes do not attempt to cover any one agile methodology in particular; instead, they take a generic approach and draw on different methodologies for examples. Discussions of particular techniques include practical guidance on how they can be implemented in a generic fashion using readily-available software tools. This will be useful for example for student projects, but professional teams are more likely to make use of toolsets specifically designed to support their chosen methodology.