Integrating Agile and Design: Challenges and Solutions
Tags: agile, webdev
Published: 2020-06-18 07:39:11

Many teams are embracing [agile project management](https://hygger.io/blog/why-agile-is-so-popular-in-project-management/) to work faster and more efficiently. Agile practices are typically applied to software development. However, you can use agile project development with a variety of projects and project aspects. Agile design practices are one aspect that you can incorporate into your projects.

Including design processes in your agile projects can help you ensure a unified vision and excellent user experience. Successfully including design requires adapting your current design and development processes to ensure that teams work collaboratively. In this article, you’ll learn some of the challenges faced by agile project managers incorporating design and how to solve issues that arise.
## What Is Agile Project Management?
Agile is a methodology originating from lean manufacturing, which emphasizes work that is focused on user requirements, light on planning and specifications, and broken down into small iterations. 

Agile projects are broken down into sprints, with each sprint focused on a limited number of “user stories”, which represent specific customer needs that need to be addressed by the project team. These user stories must be brought to completion, in such a way that they provide value to the customer, by the end of the sprint. 

As issues are discovered or customer needs change, future sprints are adapted to meet these new needs. The agile team coordinates sprint tasks, to respond to change, and release progressively better products in each iteration. This is typically managed using one or more [task management tools](https://project-management.com/task-management-software/).
## What Is Agile Design?
Agile design is typically integrated with agile development through one of three options:

An initial Design Sprint that takes place before the development sprints begin
A Design Sprint that runs concurrently to a development sprint
An Integrated sprint in which design and dev teams work together

Design Sprints were pioneered by Google, and their goal is to help design teams clearly define goals and deliverables. They are modeled on the Design Thinking framework, which helps teams bring user needs, technological ability, and economic feasibility. 

A Design Sprint works as follows:

* **Understand**—teams discuss the goal or problem of the sprint. 
* **Define**—teams use experience gained previous phases to determine a design focus
* **Sketch**—designers generate and share ideas, which are refined and submitted to the entire team for feedback.
* **Decide**—the team evaluates options and determines a final sprint design.
* **Prototype**—the team creates a prototype based on the selected design, which works well enough to validate with testing. 
* **Validate**—real users test the prototype and return feedback, shedding light on whether stakeholder concerns were addressed, and whether the concept is technically feasible.

## Challenges and Solutions
Below are some of the most common issues project managers and teams face when integrating design into agile workflows.

### Communication Challenges
Designers and developers each have separate goals and processes, which can lead to gaps in communication. This presents a major issue for agile project managers.

**Solutions**
If you find that communication is an issue, work with your team to determine their perspective on the issue and ask for suggestions as to how to improve communication. You can focus on some of these areas:

* What needs to be communicated?
* What is not being communicated? 
* Which methods of communication are more effective and which are less so?
* Are there specific obstacles hampering communication between team members?
* What is the best way to give and receive constructive feedback?
### Planning Challenges
If you run design sprints parallel to or before your development sprints, you need to plan and manage two separate sprints. If you have design and development members collaborate in a single sprint, your process has more moving parts.

Sprints require features and user stories to be broken into smaller chunks. This granularity can make design more difficult. It is difficult to create and ensure a coherent design if you cannot see the project as a whole. Additionally, the short timing of a sprint makes it more difficult for a designer to fully understand user needs and brainstorm ideas.

If you are running two sprints in parallel, you also have two backlogs to manage. You need to ensure that tasks are prioritized in a way that prevents bottlenecks, because one sprint can move forward faster, but get stuck because it is dependent on a task from the other sprint. Prevent scope creep from adding unneeded tasks to each of the sprints. 

**Solutions**
Running a pre-project design sprint, called sprint zero, can assist with planning challenges. A sprint zero provides flexibility that gives designers the time they need to research and come up with a plan for a unified design. This design can be broken down into smaller pieces for refinement in your project sprints. Having some design guidance beforehand also provides developers a rough guideline for their work.

When planning sprint tasks, keep in mind how your planning will affect the next sprint. Developer tasks should address design elements from the previous sprint to provide feedback for designers, letting them prepare design specs for the next sprint.

### Prototype Challenges
It is not uncommon that designers or stakeholders want to create and approve a high-fidelity prototype. A high-fidelity or hi-fi prototype is an interactive prototype that closely resembles a final product.

Hi-fi prototypes are fine for waterfall projects but not for agile projects. In agile projects, scope often changes along the way and issues may only become apparent in later iterations. If these issues and changes occur, your high-fidelity design may amount to wasted effort or unrealistic expectations. While hi-fi prototypes are often “prettier”, effort is wasted if a functional project can’t be made from the prototype.

**Solutions**
When possible, stick to lo-fi prototypes that get the idea across while still allowing flexibility. The point of the prototype isn’t to fully demonstrate or predict the finished project, it’s to solicit feedback and verify concepts. 

If you still want or need a semi-functional design to present or work from, there are several options. Doing mockups in low-code development platforms, such as Axure or iRise, is one solution. These platforms enable designers to create mockups with limited programming skills. Many platforms also integrate into tools your development team may be using, such as Jira, as well as with various [project management solutions](https://technologyadvice.com/project-management/).

Another option is to have prototypes double as design specs. Design specs are documents that provide information about design details, including measurements, workflow, behavior, color scheme, and functionality. When your prototypes serve as design specs, designers can spend more time refining without changing project timelines. 

### Challenges Created by the Lack of a Dedicated Designer
Commonly, designers work for multiple teams at once or design processes are outsourced. This can make it very difficult to successfully implement agile design. 

When a designer is only present for parts of sprints, it can prevent the development of team trust and collaboration. The designer can’t be fully involved and isn't available to provide or receive feedback. It can also create the perception that designers are less accountable for their work.

**Solutions**
One possible solution for this issue is to have a dedicated designer in your team. You might be able to have the overall design research and planning done by an outside team. However, there should always be a designer on the team as a representative for that work. 

Having a designer present ensures that relevant tasks are included and prioritized correctly. It also promotes skill sharing as design and development team members can collaborate in real-time.

Another solution is to have a [Digital Asset Management](https://cloudinary.com/dam-guide/dam-systems/) (DAM) system support the design process.  DAM is a centralized work tool that stores and keeps track of all your digital assets. This tool also works for project management, and collaboration between teams.
## Challenges Due to Lack of Cross-Over Skills
Lack of cross-over skills makes communication more difficult and limits the ability of team members to help each other. It can also create bottlenecks if a team member with a needed skill is unable to work. 

For designers, lack of technical knowledge limits their ability to design to greatest effectiveness. For developers, lack of design knowledge prevents them from contributing to design solutions. It can also prevent a developer from successfully interpreting and applying design mockups.

**Solutions**
If your team lacks cross-over skills, start with training. You can hold short sessions, during which team members teach each other the basics of their skill sets. You can also support independent learning through webinars or online courses.

Creating guidelines for goals and capabilities can help you create reference tools. You can then use these tools to build knowledge and understanding. In particular, you can have your team create design guidelines. For example, you can create a package of HTML, CSS, and JavaScript templates. 

Templates can include aspects like color schemes, parameters for responsive design, and text styling. These templates can be used as a base by developers and project managers for mockups that designers can work to refine.
## Conclusion
Including agile design in your projects can help you ensure the creation of a high-quality project. The integration of design and development can reduce sacrifices made in a project’s functionality and usability. It can also reinforce the customer-centric focus of agile projects. 

Unfortunately, the integration of design and development isn’t always smooth. Hopefully, this article helped you understand what challenges you may face in managing this integration. Using the tips provided here, you can address these challenges and even work to prevent issues from arising in the first place.