Friday, January 21, 2022

Can designers and developers really collaborate?

Designers and developers have very different tasks in the development process of an application. Effective and productive collaboration is not always easy. I think we can do better: my ideas based on twenty years of experience.

I started my career as a one man band. A digital designer, designing and developing everything all by myself. This gave me total control, but also made the projects I could handle rather limited. And it could be lonely sometimes. So I started dreaming. Dreaming about collaborating, and creating great products, together with other people.

Fast forward to 20 years later. I am part of a multidisciplinary team at a digital agency. Together with other strategists, designers and developers I am designing complex applications for various clients. But are we really collaborating? Pushing each other to great new heights? Or are we just pushing the project along, from one department to the next?

I feel we can do better. I feel there is room for improvement in the way designers and developers collaborate.

Collaboration is hard!

Digital products are created by designers and developers. Collaboration between them may seem evident. But it not always is. Here’s why:

A linear process

Usually, creating a new product is a linear process. It starts with research, moves on to design and based on that, the end product is coded. This linear process creates the danger of working in silos; working on your own little island. In this situation designers will just toss the design over to developers, and move on to the next project, leaving their design and the developers to their own devices.

Agency life

Working at an agency might increase the siloed approach. As much as I love the dynamics and variation of agency life, this also makes it harder to keep everyone involved in all phases of a project. Available time to spend on a project is always limited by a budget. People may need to be shifted to a different project to create a sound planning. People might be working on different projects at the same time, causing them to lose focus. Designers may have moved on to another project, while developers are trying to turn the designs into a working product.

1:6 ratio

Digital product creation typically has somewhere around a 1:6 ratio between design and development time spent. This means the development phase will be much longer than the design phase. And because design usually also takes place at the beginning of a project, development continues long after the design has been completed. So it takes a lot of extra commitment from designers to stay involved during the development phase, when they may feel that their work is already done and other projects are demanding their attention.

Developers are from Mars, designers are from Venus?

I can get along with developers just fine. But developers and designers are a different breed. And have different roles. I think this is great, and adds to the quality of the end result. But it does require some effort from everyone involved to see and respect each other’s views, and combine them in the right manner.

Abstract image depicting collaboration.Different perspectives add to the quality of the end result.

Collaborating is great!

If collaboration is such a struggle, why should we even bother? We’re still shipping products, so what’s the win?

Shared ownership

Better collaboration between designers and developers will lead to a shared ownership of the project they are working on. Developers will understand the considerations and decisions that lead to a particular design. Designers will understand the tradeoffs and decisions needed to develop a working product within time and budget. Designers, often responsible for the product vision, can also help to make the right decisions together, based on that vision.

Multiple perspectives

Multiple perspectives will improve the final product. In my experience any new perspective will do, but perspectives from designers or developers are extra valuable.

Involving developers in the design process can point the designer to new technical possibilities that might make the final product better. It also protects the designer from designing things that might be too difficult to implement. Involving designers in the development process will make sure the product vision will not be overlooked, and the designs are fully understood by the development team. It also makes it easier to adjust design details on the fly to speed up the development process.

Abstract image depicting a shared vision.Enabling true collaboration by creating a shared vision and process.

Enabling true collaboration

I think enabling true collaboration between designers and developers is all about creating the right starting point and process for them to collaborate.

Creating a shared product vision

It might be stating the obvious, but creating a great product starts with a clear vision. Often this is something strategists and designers define. By involving developers in this process, we can create a shared vision that helps us understand each other and collaborate better.

Where are we going?

Creating a roadmap at the start of a project adds to the shared product vision. By creating the roadmap with designers and developers, it is easier to weigh different features, and see their impact on different stages of the product development.

Focus on the end-user

Collaboration is about understanding each other. Designers seeing where developers come from, and visa versa. But what if you have different opinions and just don’t agree?

Guess what; your opinion doesn’t matter! Ultimately it comes down to the end user of the product you’re creating. By involving the end user in the creation process, for example through interviews or user testing (I really like the ideas about this in Continuous Discovery Habits), you can look beyond opinions and create a product that your end-user wants to use.

Product teams

Agencies still tend to think in design teams and development teams. This promotes a siloed working approach. From a collaboration point of view it would be better to have product teams instead. But in agency life this can be challenging. Since agencies are selling hours, it is tempting to push people around a lot between different projects to create the optimal planning. The optimal planning for writing hours on clients that is. Collaboration might get lost in that process.

A non linear process

Instead of creating a design first, and then tossing it to development and going on your merry design-way, why not design and develop at the same time? This would mean really working together, and being able to incorporate each other’s insights on the fly.

Developers happen to already use such a non-linear process; Scrum. What if we could integrate design into that process? As you probably know, in Scrum you divide a project into small pieces, called user stories. A user story is a part of the project that a member of the project team can complete on her own. Together, the team determines in which order the user stories will be worked on. Of course, they also use the insights they have gained from the user stories they have worked on before.

Designers could first create the design for a user story. When the design is ready, developers can pick up this user story and integrate it into the product. Meanwhile, designers are working on the next story. This way, designers do not work out (too) far ahead of development, but both processes remain close to each other. This makes it easier and more natural to give and process feedback on each other’s work.

The challenge here is that designing is fundamentally different from development. When a development team starts developing, at least the contours of the product need to be clear. This makes it possible to split the project into the user stories needed for the Scrum process.

Design is about creating these contours. Researching the problem, coming up with a solution, testing this solution, improving it, until there is something defined enough for development to start building. Certainly the start of this process is very hard to split in the user stories needed for Scrum.

A possible solution for this is introducing a sprint zero. In sprint zero the team does not work on user stories yet. Instead, the foundations for a product are created. For design this would mean creating the contours of the product as mentioned above. At the same time development is creating the technical contours of the product; things like choosing the right tech stack, setting up the development architecture and investigating possible integrations with existing client systems.

Conclusion

There are some practicalities that make collaboration between designers and developers difficult. But if we truly acknowledge the value of collaboration, these can be overcome. By creating and maintaining a shared project vision, and improving our processes.

Maybe designers are from Venus and developers are from Mars. But precisely because of their different points of view, I think collaboration between them can add a lot of value to digital product creation.

A Dutch version of this post can be found on Emerce.nl 👉 https://www.emerce.nl/opinie/hoe-designers-en-developers-echt-kunnen-samenwerken-ideeen-uit-de-praktijk