If there’s one way to describe the agile development process to novices, it is this – agile is all about incrementally delivering software, bypassing unnecessary overheads, and working collaboratively towards the greater good of the project. Perfection is left out of the equation, as products can always be enhanced down the road. The actual process of creation takes the form of iterations – these are short, intense periods of production with minor, more attainable goals that get built iteratively in the near future. The Agile development process involves dividing the project into small, functional, shippable parts, and acting on each part really quickly.
Core principles of Agile Development
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
As flexible and collaborative Agile may be, it still cannot guarantee that it will consistently deliver truly engaging, impactful solutions. It does remain a very effective way of solving problems, but it can’t ensure that the right problem is being solved to begin with. This is why IT teams have been using Agile in conjunction with design expertise to extract optimum results out of the process.
Core principles of Design
- Design the system not the surface
- Design as evolutionary and user-driven
- There is no page, only pathways
- Rapid and iterative over final
- Simplicity over complexity
- Collaborative and open design
Once the real problem to be solved has been identified, the team can implement the Agile process to incrementally build the solution. Going the Agile way, the solution can be enhanced over time, based on user feedback and business needs.
Scott Ambler, the creator of agile modeling, described that “with an iterative approach to the development you work a bit on requirements, do a bit of analysis, do a bit of design, some coding, some testing, and iterate between these activities as needed. It is critical to think through how you’re going to build something, to actually design it, before you build it.”
Five Key Takeaways for Designers
There used to be a bygone era when developers and designers worked independently of each other albeit on the same project, only identifying issues at the end. But with Agile being collaborative, it has helped minimize last-minute surprises and allowed predicting timelines more efficiently. Here’s what designers can gain from participating in the Agile process.
1. Agile aims to deliver software quickly and handle change smoothly.
The Agile Manifesto prioritizes people and interactions over processes and tools. In the actual, this translates to frequent communication within teams and with the stakeholders. This also includes daily scrum meetings to ensure that the team members are on the same page. This helps designers to become better at timeboxing or setting time limits on activities. Daily standup meetings no longer transform into endless discussions; they can only center around that day’s work updates and tasks assigned. Designers can get better at being concise and sticking to the agenda. They can gain a newfound understanding and appreciation for the time-bound aspect of the Agile process.
2. Letting go of perfection to produce rapid, iterative work.
Rapid iterations have been an integral part of the design process, but now the rest of the team is iterating quickly too. While being a part of the Agile process, designers get to make iterations with development partners who can help them with informal (and rapid) usability testing and feedback sessions. What designers specifically need to keep in mind is to focus on rapid iterations instead of just the process of iteration. Partnering with a developer pushes the designer to move away from the rut of perfection and quickly test the feasibility of the design in terms of coding. This way, changes can be made then and there, which saves on time and enhances the final output.
3. Being tuned-in to the big picture.
A key challenge of working in the agile environment is dealing with small pieces of the project which can lead to a lack of continuity. In this case, the UX professional on the team has to be responsible for keeping the big picture in mind – consider what has already been built and what is yet to be created, and ensuring those pieces come together as a cohesive experience.
4. Research must be lightweight, and also less meticulous.
While Agile stresses on the importance of validating designs, the reality could be far from that. Most teams fail to conduct user research consistently, citing hovering deadlines and staff crunch difficulties. However, the design professionals can always suggest discount usability methods such as heuristic evaluations, testing with a small batch of users, or paper prototyping which suit shorter timelines. A better way would be that instead of trying to cram everything in the same sprints, research sprints can be separate and precede design and development sprints. Ideally, research would have to take precedence, working with the product owners, users/customers, and come up with recommendations on the initiatives that should be prioritized.
5. Becoming proactive instead of reactive.
This involves planning activities before the sprint begins. As a designer, you could be familiar with working head down for extended periods, but this may not fit in with the Agile process. Agile thrives on the collaboration of cross-functional teams and encourages transparency which leads to issues being identified early on. Cross-functional in this context refers to collaborating with research teams on one side, development teams on the other, and stakeholders as well as users. It involves planning, staying in sync, and maintain the big picture while working on specifics. Therefore, as a designer, you have to perhaps get out of your shell and become involved in all aspects of the design process, share your ideas, show what you are working on, and contribute to discussions.
Agile is suitable for projects where there are evolving requirements, changing priorities, flexible deliverables, and so on. That said, the users only get to experience the final UX. They’re not concerned with the methods used or the expertise of the team involved. Therefore, the ultimate product should manage to tick all the boxes on the usability criteria.