In my last article about functional UX for apps, I wrote about the importance of teams working together on every stage of creating an app. Teams, in which everyone understands the role of other members and sees the app not only from the perspective or his field but as an entire product and team effort. In this article, I’d like to share some thoughts on working with this kind of team.
Cross-functional teams are something we’re still perfecting here at Untitled Kingdom. I wouldn’t say we achieved it fully, but it’s a process we’re still learning and trying to implement. Even if sometimes things do not go as smoothly as intended, we believe this is the right direction and natural way our software house should evolve. And we are getting better at it!
What are cross-functional teams?
When thinking about crucial roles in app development process, a developer is naturally a first person that comes to our mind. A designer, product manager, or marketing specialist, usually come later in the process of app development or even long after it’s done and published in the App Store. A cross-functional team approach is about getting people from different fields to work with a product altogether. Different points of view, sources of knowledge and expertise of all team members should meet at one point and towards one goal.
The idea of cross-functional teams comes from agile methodology. Does it work?
Benefits of cross-functional team in app development:
- Different points of view — this is probably the most significant benefit of the cross-functional team. It would be great if we could have all the knowledge in the world, but we don’t. Some of us are better in some fields, some of us have experience that others lack. A developer may be amazing in writing crystal-clear code, but he may not have a good understanding of designing the flow that’s understandable for the user. We all have a different point of view on a product.
When only one person works on a product, it only reflects his/her experience. But when we get together with our partners, we confront our points of view until we work out a final solution which satisfies everyone.
Just imagine a designer who creates beautiful wireframes just to learn it’s impossible to code it and even if it was possible, users wouldn’t understand it. That can be avoided if everyone works together on every stage of product development.
- Teamwork — I can’t stress enough how much working together as a team brings us closer, and how much better our communication gets when we meet every day to talk through the issues, ask questions and brainstorm together.
Communication between team members is ALWAYS a must. When we work together as a team during the entire project, we increase the mutual trust and learn a lot of respect towards each other. It’s natural that we like some people over others, but personal likings shouldn’t influence our work. That’s why it’s so important to build respect and trust, even if you’re not going to hang out together after work.
If you ever worked in a team, you probably know how important it is to stay focused on the same goal. As a team. Besides, working together is just way more fun than playing solo. We’re herd animals — we need to interact.
- Keeping updated with what’s going on in projects — This is a huge issue. We all just need to know who’s working on what at the moment and what are the current problems.
Work doesn’t always go according to the plan. So yes, sometimes we need to refine the plan to get the best result. And this is just possible when we know what other team members are working on right now.
- Faster reaction — When we’re all up to date with the product and we work on it simultaneously instead of focusing exclusively on our fields, there is no situation where only one person tests an app.
In cross-functional teams, we not only spot bugs, but we also flag issues that may cause friction for users. Then we can just think about the solution and implement it right away — no need to wait for fixes until you already build the product.
Of course, in a perfect world, first designs would consider every edge case, and solutions would already be there even before developers start working on them. But actually, in the real world, some issues can be spotted only when using an app.
- Retrospectives — Yes, we can always say “Hey, that’s not the right approach” to each other, but imagine how much easier it is when we work together as one team on a daily basis. We can easily stop and rethink everything before we get too far. It really helps to get together and talk about the problems, mistakes and what can be improved next time. Constant information flow between all members makes it way more smooth than if it was just once-a-week meeting.
- Iteration — as I said above, thanks to keeping on track with all the issues, we can iterate our designs and the code before the product is done. It frequently happens that, although the code is clear and designs are pixel-perfect, things just could be better from the point of view of growth engineer.
If a person responsible for app growth joined the team after the product was done, the fixes would probably require changing the design and at least some part of code.
To avoid this, we can iterate the product on the spot and save a lot of work, time and money. It’s always better to build something right than to fix it afterwards, right?
- Better final product — the final product is (or at least should be) a result of deep understanding of its purpose and the very process of creating it. Every part of the product should be consulted with all team members. As a result, they not only get the job done — but get it done right from all perspectives (code quality, user experience, design, growth, etc.).
Cross-functional or dis-functional?
The general idea of a cross-functional team is just awesome. As you can see, working in this kind of team is beneficial both for the team and for the final result. However, as always, there are some challenging parts of this approach, and it’s good to have them in mind when working in a cross-functional team:
- Coordination and focus — yes, we all have our tasks. Sometimes, however, being involved in the whole project, we may find it difficult to stay focused on what we should do. This isn’t a problem if the project is planned well from the start but, just like in any other way of working on a project, no plan can cause issues that may be even more severe in cross-functional teams, for example waiting for others to finish their part in order to start something, instead of using this time to work on something else that doesn’t require results from other team members. It’s always crucial to have a good plan and strong focus, keep that in mind when forming a cross-functional team.
- Choosing ideas — sometimes things are possible because we don’t know they aren’t. In a cross-functional team, it is easy to give up on your idea when other members consider it wrong. On the one hand, it’s good. We can work more efficiently thanks to letting go something that’s just too complicated. On the other hand, it’s easy to let your good ideas slip, just because they’re different or difficult to imagine. This is where scrum methodology comes in and without it, cross-functional teams may encounter some problems.
- Leadership — It happens that there’s no clear leader in the project, especially if it’s a self-organising team. No leader may make your goals slip away. Long meetings without conclusions, discussing details just to discuss them and arguments that bring no solutions…. nobody wants that. If there’s no leader, it’s also easy to start listening to the person with the strongest personality. It’s natural for every group of people to pick their leader without even thinking about it but just because someone is a natural-born leader, doesn’t always mean that’s the person with most knowledge and best organisational skills for this particular project. Self-organising teams should be something natural when working in SCRUM but it isn’t always as easy as one may think when reading about it. We are mastering our approach, learning how to be more flexible and respectful towards others and how not to get lost without a leader.
It may be difficult to keep the cross-functional team focused and organised but it’s also the best way I’ve ever worked on the product. It’s better for the team, it gives better results and -if done right- it saves tons on time and money, and it’s simply more fun.