Agile Development User Experience (UX) topic overview/definition


Agile Development: Concept Definition

Agile development is a software development process whereby software is developed in iterative and incremental work cycles. Where traditional (waterfall) methods try to plan the development process and outcome at the beginning of, or even before, development, agile development is a flexible process that allows developers to change direction during the project and quickly respond to changing circumstances.

Agile development stems from a manifesto from 2001 that sets out the four principles of Agile development (http://agilemanifesto.org/):

  • Individuals and Interactions over processes and tools
  • Working Software over comprehensive documentation
  • Customer Collaboration over contract negotiation
  • Responding to Change over following a plan

Scrum is one of the most widespread Agile development processes. In Scrum, developer teams work in short sprints based on a predetermined duration, often between a week and a month. Each sprint starts with sprint planning, where the team determines the scope of the work to be done by the end of the sprint. On each day of the sprint, the team meets briefly and all members describe what they did the day before, what they plan to do that day, and any problems they are experiencing. In this way, emerging difficulties will not have time to snowball and threaten to derail the project, as the team can address them within a relatively short time frame. At the end of a sprint, the team members log the progress they have made so far and review their development process. The iterative sprint cycle continues until the product is ready to be released, and—in some cases—it will continue after the release so as to optimize their work.

For your convenience, we’ve collected all UX literature that deals with Agile Development. Here’s the full list: