Software development methodologies

Understanding the two main software development methodologies, waterfall and agile, will give more context to how the two main UX approaches, Lean UX and Agile UX, are related to each other, and the benefits of each.

  • The waterfall methodology, a traditional project management approach to the process, focuses on sequential phases within software development. One step must be done before the next step can be started, hence the waterfall reference. This approach focuses on software developers first collecting the entire project's requirements before building the architecture, after which the design is done, followed by the development step and, finally, testing for deployment. With the waterfall approach, there is no room for iteration or improvement. When a step has passed, you cannot go back to make changes. This methodology that has been used for years is very rigid and does not allow for improvement, which contradicts the core essence of UX, which is iteration, testing, and improvement.
  • The agile methodology is the modern software development approach that combines several iterative-focused practices to create a repetitive development cycle within the project life cycle. The development cycle consists of the same steps as the waterfall approach; the difference is that this development cycle will start from the first step as soon as the last step is done. This allows the different teams involved in the creation of the website to work on specific features (smaller parts within the bigger picture) and release it live for users to access. These features can be tested, and improvements can be made in future development cycles. In this context, the development cycle is done within a set period of time called a sprint. Depending on the company and project, this period of time can vary from one week to up to three weeks, in which a cross-functional team of specialists have to finish a specific set of development tasks for release. After the completion of these developments tasks, the quality assurance (QA) team will test and sign off for deployment.