Cross-functional teams are focused on optimization of internal and external communications, therefore, they are aligned as much as possible and simplify the hierarchy both inside and in interaction with external divisions. Creating a similar team, the company must be ready to abandon gradually the strict hierarchy of management and formation of departments.
Where to start
First, the company must be ready to abandon its previous structure.
Secondly, it is necessary to determine which powers will be transferred to the team for decision-making. This may apply, for example, to technical equipment – which technologies participants will choose for software development. Or what approaches will be applied to achieve the ultimate goal.
Thirdly, you will have to abandon the usual division of projects into stages. Cross-functional teams often work with flexible methodologies, therefore, non-standard development management models may arise.
Since the team focuses more on the final result and continuous workflow optimization, individual “waterfall” steps can simply be excluded or be invisible from the outside.
What surprises may arise
Cross-functional teams in conjunction with flexible methodologies have a number of requirements and limitations. For example, in the number of participants – effective teams contain not more than 20 people. This is due to the quantity of communications that can be maintained by one participant without loss of quality of work. The more specialists work on one project, the more lines of communication and the less efficiency we have.
Attempts to apply cross-functionality to any tasks in development may fail. Incorrectly selected approach to managing a product or project will create many problems and give rise to a grain of doubt: are cross-functional teams so effective and is there any value in flexible methodology at all. Therefore, they only need to be used in those projects where they are really required.
It is necessary to evaluate correctly the restrictions around the project, for example: scope of documentation or mandatory participation of certain roles with other set of privileges. Such nuances will not allow a flexible approach to development. It is important to be able at the entrance to the project to evaluate the possibility of engaging a cross-functional team because any instrument if not used correctly is likely to produce the wrong result that was not expected.
Identify roles, set goals for performance evaluation
Software development, as a rule, is greatly assisted by frameworks and methodologies. For example, Scrum clearly captures a set of roles in a team. Key ones will be product owner, scrum master, and scrum team developer. Therefore, I recommend to build on practices that have become de facto industry standards, adapting them to a specific project.
Cross-functional teams in IT today are not only responsible for the release of new features, but also for the integration and operational part of software development. The principle of “who developed, he supports” is very common. Therefore the boundaries of responsibility for the team will be uniform, outlined by a set of original powers. After all, the tasks for the participants are set common, therefore, the responsibility for their achievement is collective.
To assess the effectiveness of the team at the start of the project, it is necessary to record the targets for which it is formed. It could be a release of new product or generating ideas for it, hypothesis testing and development of functionalities.
Assessing the contribution of each participant is a very laborious task, as usually specialists in cross-functional teams go beyond their usual responsibilities, helping to solve problems in related areas. For example, Java developer can also take part in writing tests and formalization of requirements.
The general level of culture of participants and the same rules for everybody will help avoid conflicts. An important requirement for any cross-functional team is openness to change and communication. Since the concept of hierarchy disappears, all participants have the right to vote, and they must be ready to hear each other.
Formation of conflict-free environment is enabled by:
- working with a culture of communication;
- an explanation of how the team works;
- focusing the team on solving the tasks and achieving the goals of the project.
The scrum master also helps to solve controversial points. He’s not so much operations manager, but rather coach or team coach who “softens rough edges at the moment of acommodation” and brings colleagues to the desired level of culture.
Support motivation and remain engaged
I recommend constantly returning to the agile manifesto and tasks that were set during the formation of a cross-functional team. It is necessary to focus participants on goals, emphasizing the importance of daily work. This should be leitmotif through most group communications inside the team.
Cross-functional teams make it possible quite easily to change the type of employment of employees as part of work on the project. Change of familiar responsibilities for some employees will be motivation because they will be able to gain new competencies and grow professionally. In addition, rotation is an opportunity to take a breath after tasks of the same type or complex tasks.
Achievement of not only big goals, but also small ones can motivate. Therefore, it is also important to emphasize such moments regularly. Small victories, for example issuing a release on time or solving an old problem within the framework of technical debt, is good motivation for the whole team.
Adding new members could be a key challenge for cross-functional teams, since an established team has already developed internal culture. It is important to be able to bring quickly a new participant at least to the same level of understanding that others have.
This is the challenge task for the scrum wizard. The main way to solve it is to create immersion courses in the project, materials and methods for further training new employees in a specific team.
A project focused around one goal also risks becoming problem – specialists who need to gain new knowledge and growing constantly, may consider it not developing their skills, and they will quickly lose motivation. In this case, a change in functional responsibilities of participants in the course of work on the project will be effective.
Another challenge is scaling flexible methodologies as you zoom in the number of teams working on the project. To solve the problem, I recommend to apply separate frameworks and technologies. Fortunately, a sufficient number of frameworks suitable for the use of flexible methodologies by a large number of teams is already formalized. We need to rely on these practices, as most of them are based on the extensive experience of other companies.
Implementing IT solutions for work
Support services are most important for cross-functional teams’ communication, both internal and external – with customers or product users.
It is important to choose modern chat platforms and VСС systems that help communicate effectively across all channels.
Tools to bring DevOps practices are also needed, and namely: continuous delivery, integration and automation for the written code. Today, this is actually a mandatory requirement for cross-functional teams, since in addition to optimizing communication, you also need to optimize the development process itself, striving for maximum automation. Ultimately, this provides an opportunity to withstand the pace of delivering changes to users.
Another important element are interactive, multi-user whiteboards. They enable effective work without any losses with distributed cross-functional team in online format, with the same ways of displaying information, the same picture and ability to interact with it.
Control systems for tasks, backlogs, or roadmaps are used as auxiliary solutions. Key quality criterion is the speed of users’ work.
All this software must be configured according to the team in order not to turn creation of any artifact or performing an ordinary operation to revise the backlog into a struggle with the functionality of the system, but to make it as convenient as possible for the participants.
How all these processes are built here
A cross-functional team is not a panacea or a tool that must be used in all cases. We have different projects, and not all of them apply a flexible approach due to certain limitations. Cross-functional teams in our company are formed mainly in product development.
First, these are projects where we feel freer managing a road map for their development.
Secondly, we can flexibly, without external restrictions, form a composition of team members, because not all employees with different competencies, put together, form an effective cross-function team. Even if you assign the desired roles using a framework.
First of all, we select people who share values in the formation of such teams and flexible methodologies in general. The general level of culture and knowledge in this area is generally influenced by learning or experience gained.
Forming a cross-functional team is an extremely important task, and it has certain requirements for participants. If they are respected and based on key rules, then the likelihood of successful implementation of the project will be very high.
By Andrey Kuzminov, Head of Software Development Practice at iFellow