UX project life cycles — is linear or iterative better?
It’s the battle of project management methodologies.
Waterfall versus Agile — image by DALL-E
Introduction
User experience (UX) design doesn’t happen by magic. You need a process. A methodology.
Design and software development projects have life cycles — which span from the project conception to completion. And the two most common types of life cycle are linear and iterative.
Linear projects are sequenced into distinct phases, from development of the initial concept to deployment.Iterative projects are much more flexible, with activities like researching, designing, development and testing happening almost simultaneously in repeated cycles.
But which is best? What are the pros and cons of each? And does it all depend on the context of your project?
Let’s pit linear and iterative life cycles head-to-head by looking at two methods of applying each one in practice: waterfall and agile.
What is waterfall?
Typical project meeting set-up — image by Paymo
A typical waterfall UX design project includes the following stages:
Requirements — A business analysis phase to elicit, analyse, prioritise, document and validate the projects requirements.Design — In this stage the product design is carried out and signed off by project decision makers.Development — Following handoff from the designers, programmers will code the product ready for testing.Testing — A phase of user acceptance testing (UAT) is carried out to ensure the product passes the requirements’ acceptance criteria.Implementation — The software is released, the project is closed and the product enters operational use.
Waterfall gets its name as each stage flows down into the next. In the traditional waterfall approach, the stages must be completed in sequence — it’s not possible to go backwards.
The waterfall process — image by author
Pros of waterfall
Simplicity — Linear projects are structured and organised in intuitive stages with clear milestones, making it easy for everyone involved in the project to understand how it works.Ease of implementation — Linear life cycles can be managed by a single waterfall-qualified project manager. There’s no need for anyone else on the project team to have special training or certificates in a framework like PRINCE2.Predictability — The requirements and priorities are fixed early, and everyone involved in the project has a clear vision of the end-product meaning there’s less potential for scope creep.Control — Linear life cycles usually feature extensive documentation, with a tightly managed process for things like change requests and user acceptance testing, minimising quality assurance issues.
Cons of waterfall
Lack of flexibility — Requirements are fixed and difficult to change once the project has moved onto another stage.Limited user input — In waterfall projects customers are not brought on board for testing or feedback until late in the life cycle.Risk of failure — Major changes to requirements, design or development needed late in the cycle following UAT will be complicated and costly, meaning the project may easily miss its deadline or go over budget.Longer timeline — Linear projects take a significant amount of time due to the need for upfront planning, managing documentation and each stage being completed in sequence.
What is agile?
Agile project working — image by UX Indonesia
Agile projects are composed of several iterative phases.
Compared to waterfall, agile projects are conceptualised as more cyclical than linear.
Unlike waterfall, does not separate requirements, design, development, testing and implementation into standalone individual stages. Instead, these activities take place together in each iterative phase.
Agile software development — image by Krusche & Company
Iterative UX design is usually carried out using a specific type of agile project management methodology, like Scrum or Kanban. While there are subtle differences between these frameworks, both are champions of agile principles.
Agile working requires small, multi-disciplined teams of UX researchers, user interface (UI) designers, developers and other specialists to work collaboratively.
In each iterative phase, called time-boxes or sprints, the project team elicits requirements, designs prototypes and collects feedback to work towards a minimum viable product (MVP) that might meet user and business needs.
Pros of agile
High flexibility — It’s easy to add and change requirements and priorities with iterative life cycles, making them suitable for projects starting with unclear user or business needs.Early delivery — There’s less need for planning with iterative life cycles. Agile projects can start quickly as requirements can be elicited as part of the iterative prototyping process, and working software can be produced at the end of an iteration.Lower risk — Iterative projects are less likely to fail, as users can test prototypes early and highlight any critical issues. This allows the project team to discard ideas that don’t work and avoid expensive, time-consuming redesigns or redevelopment later in the project life cycle.Less documentation — Agile favours working software over comprehensive documentation, meaning less time is wasted on project administration that may not add value to the end-product.
Cons of agile
Difficulty to implement — Agile working can be hard to embed in practice. Agile requires a multi-disciplined project team to work naturally and flawlessly across departments, and for the whole organisation to be aligned to the iterative philosophy.Less predictability — Iterative projects start with a less clear vision of the final product and project timeline, and include many dependencies such as reliance on consistent user availability for testing.Lack of documentation — Due to the focus on software over documentation in agile, things may get lost through each stage and iteration.Potential for scope creep — Due to the lack of control over re-prioritisation and requirement change, the project scope can easily creep without the time or budget to accommodate it.
Hybrid approaches
Sometimes a project mashup is needed — image by Jason Goodman
Some UX design projects fuse together elements from different methodologies to create a new model.
The most common hybrid approach is to merge waterfall and agile. There are several reasons you might want to combine them, but a big motivation is often to utilise the biggest advantage of agile: feedback loops to design, test and improve.
For example, you could plan using waterfall and deliver with agile. In practice this would mean doing requirements engineering, planning and budgeting sequentially, but designing, developing, testing and deploying iteratively.
Example of possibly hybrid approach — image by authorNote: An alternative to waterfall-agile fusion is to follow a relatively linear framework like the Five Planes of User Experience that doesn’t insist that every stage has to be completed before the next can start. This might allow for enough flexibility without going fully iterative.
Pros of hybrid
Best of both worlds — Effective application of both waterfall and agile methodologies allows project managers to be flexible, adaptable and tailor the approach to the needs of the project.Allows for transition — Agile can be hard to implement, so a hybrid approach can act as a stepping stone for an organisation to learn and adjust.
Cons of hybrid
Poor execution — Linear/iterative hybrids can often be ineffectively implemented in practice; they aren’t a perfect marriage, and require an extremely skilful project manager with knowledge of both approaches.Communication gaps — Mixing multiple methodologies can result in lack of understanding about which approach is being followed.Lack of control — Fusing a documentation-heavy approach with a light-touch management style can lead to unclear deliverables, deadlines and change processes.
Constraints
Before we can answer the question of whether linear, iterative or a hybrid of the two is best, we need to talk about the concept of project constraints. Why? Because it sets the context for choosing the right life cycle.
The most appropriate UX design project management methodology depends heavily on your project constraints.
All projects are bound by constraints, such as scope, quality, schedule, costs and resource.
The classic constraints — image by authorScope — Projects are constrained to delivering requirements, which define what’s in and out of scope.Quality — Projects are constrained by quality acceptance criteria, which provides a ‘definition of done’ for requirements.Schedule — Projects are constrained by time; they’re temporary by definition, and so must have a start and end point.Costs — All projects are constrained by their budget, which is (theoretically) finite.Resource — Every project is constrained by the resources available to deliver it, including both technology (software / hardware) and people (size of project team and variety of skillsets).
To apply constraints to project life cycles and methodologies, we need to talk about the concept of the triple constraint — also known by the Game of Thrones-y sounding label ‘The Iron Triangle’.
The Iron Triangle
The triple constraint of scope, cost and time (schedule) is crucial when selecting the right project management approach.
How does the Iron Triangle work for each methodology?
Waterfall — the project scope is fixed, but time and cost are flexibleAgile — the project scope is flexible, but time and cost are fixed
It’s much easier to see this concept visualised in a diagram:
The Iron Triangle — image by author
You’ll often see tech or gaming companies following an iterative/agile approach because it suits their industry. In a competitive marketplace, costs and schedules are important to meet release cycles. However, features can be treated more flexibly to deliver the maximum possible impact and value by the deadline.
By contrast, a lot of public sector software projects will follow a linear/waterfall approach. In an environment like government or healthcare, the most critical thing is that a comprehensive set of product specifications is delivered. So requirements are locked down, but tolerance is built into costs and schedules so that the project can go over budget and past the deadline if needed.
So which is the best approach?
In a nutshell: different UX project life cycles — and management methodologies — are suitable for different types of project.
Whether you opt for a linear approach like waterfall or an iterative approach like agile will depend on your industry, organisational culture and the context of your project.
Waterfall is best when:
the scope can be fixed and is unlikely to changethere’s high certainty over the end productthere’s a predictable project and business environmentrigorous control, testing and documentation is neededthere’s tolerance for going over budget and schedule
Agile is best when:
the scope is unclear and likely to changeprojects need to deliver on time and on budgetthere’s an unpredictable project and business environmentcross-functional working is feasiblethere’s buy-in for iterative, flexible management of requirements
Hybrid projects have the potential to achieve the best of both worlds, but be careful that there’s clear control and communication or you’ll end up with the UX equivalent of a Frankenstein’s monster.
Sources
Association for Project Management (2019) APM body of knowledge. 7th edn. Princes Risborough, Buckinghamshire: Association for Project Management.
Project Management Institute (2017) A guide to the project management body of knowledge (PMBOK guide). 6th edn. Newtown Square, Pennsylvania: Project Management Institute, Inc.
About the author
Andrew Tipp is a lead content designer and digital UX professional. He works in local government for Suffolk County Council, where he manages a content design team. You can follow him on Medium and connect on LinkedIn.
UX project life cycles — is linear or iterative better? was originally published in UX Planet on Medium, where people are continuing the conversation by highlighting and responding to this story.