Softwares projects are often considered pale due to inability to cater to changing user requirements.
Iteration:
Modern software methodologies encourage using shorter iterations, an iteration is a single development cycle that delivers a limited set of features which is usually done in 1-2 weeks.
Agile software methodologies:
A group of software methodologies and practices that enable to accommodate frequent changes in user requirements during the project time period. They are based on iterative and incremental development.
Examples: Scrum Dynamic systems development method Feature driven development
Agile software methodologies:
Accepting changes in requirements anytime Customer centric software development Light weight software development (less prominence to documentation) Good for small teams of experts
Agile manifesto
Manifesto site Agile manifesto is a formal declaration of 4 key values and 12 principles to guide an iterative an people centric approach to software development
4 key values of Agile
Individuals and interactions are valued over processes and tools Working software is valued over detailed documentation Customer collaboration is valued over a contract negotiation Responding to change is valued over following a preset plan
Extreme Programming (XP)
An agile methodology which is intended to improve software quality and responsiveness to changing customer requirements.
XP specialised in quality, XP specialised to adapt to change
Risks of XP:
Schedule slips
Business changes
Staff turnovers
New technologies
4 control variables of XP projects:
Scope Resources Time Quality
External parties (clients, managers etc) can decide the