4 Essential Elements to Forming Successful Agile Teams
Over the past few years, I’ve been predominantly working in the financial services industry, more specifically in the investment banking area. Banking being one of the most challenging environments to push the boundaries of great user experience, is largely the reason for this decision.
I believe retail, corporate and investment banking are way behind other businesses when it comes to good customer experience practices, mostly due to the reluctance to let go of legacy business practices and technologies.
Software development in this industry has been heavily waterfall model driven and is likely the main cause for compromised ideas that never develop to their full potential. The sequential development process in this model made documentation move back and forth between different teams, delaying work as the business team reviewed and signed off documents.
But nowadays business loves a new way of collaborating with other teams, and it’s called Agile.
How can we help new teams embrace Agile processes?
In many companies, teams rely on one another in order to complete a feature or component. They can’t adjust in real time due to a large backlog and tight deadlines that don’t allow room for reprioritization. The dependencies between teams are kept in place mostly due to systems that are costly to redesign and the workarounds necessary to evolve those systems leave very little time for innovation.
In order to fix this issue, many well-established companies created their own innovation centers that act like digital playgrounds. Here, teams are encouraged to put the customer’s needs at the heart of the design process and not depend on legacy systems. These innovation labs adhere to a lean startup type of thinking, they are self sufficient and cross-functional.
Now what do I mean by cross-functional? In a traditional team, the developers code, the designers design, and QA does the testing. However, in an Agile team that has a clear goal, sometimes the development team needs to help out with the requirement gathering, and the designer needs to also test the system; there are many scenarios in which team members will have to step in and help fulfil the overall needs of the team. Therefore, the team should be formed of individuals that have shared skill sets in order to help each other produce working features, components or whole products.
One might say that this is the recipe for success: gathering a team of specialists with both shared and complementary skills in a room and then giving them the tools they need to create great products for the bank’s customers.
But, the reality is that simply applying an ‘Agile badge’ to a new team doesn’t really create an Agile team.
Even if the cross-functionality aspect is addressed straight from the beginning due to a good recruitment process, and even if the team is self-sufficient in that environment, the foundation that a team is built on needs to be solid.
In 1965, Bruce Tuckman proposed a model for team development, a model that consists of four phases that are inevitable in order for a team to grow and deliver good results:
- The forming phase: where a higher degree of guidance is needed from the product owner as the team members are not familiar with the existing issues and objectives. The roles are not clear yet and the process is not established.
- The storming phase: starting when the purpose and process is clearer, but the relationships between team members are still blurry. In this phase, disagreements on approaches and personality clashes are frequent and need to be solved before moving on to the next phase.
- The norming phase: starting when the dependencies and responsibilities are clear and well understood, and the teams start to optimize the process. In this phase, team members accept each other’s flaws and work towards the success of the team’s goals.
- The final phase is the performing phase: where teams start to perform well and are able to agree on an action point without any oversight from management. They’re focused and constantly improve performance with each new sprint.
These phases are inevitable when forming a new Agile team. A team’s ability to quickly identify, build, and test its way to success depends on how fast they can reach the performing phase.
How can we optimize the phases of the team’s development?
Communicating effectively is key to optimizing the phases of a team’s development. It’s also important to note that communication doesn’t just happen by chance, especially in teams that don’t have history in developing software together. Agile practices emphasize on verbal communication and interaction rather than documentation, helping members of the team understand each other better.
Now I won’t detail this aspect more as communication is thoroughly covered in many other articles, but what I want to emphasize is communication is the glue that keeps the whole Agile process stable throughout each phase.
The 4 key elements essential to forming new Agile teams:
An Agile team should be formed out of individuals that have both shared and complementary skill sets in order to help each other produce working features, components or whole products.
At the beginning of the project, the team members are new to each others’ skills and as the individual roles in the project are not yet clear, moments of friction will appear.
Therefore allow time for the team to reach maturity and keep the team together through a whole project. This allows individuals to learn beyond their skills and provide better estimations as the individual and common responsibilities are well understood.
As dependencies on external teams create unnecessary interruptions in the process, team independence is crucial to the success of the project. New teams should see an increase in velocity as the team optimizes relationships and processes, but if they aren’t self-sufficient in their environment, the team’s performance won’t be consistent.
The fundamental principles of Agile development stress the importance of communication between the team members. We have “Close, daily cooperation between business people and developers”, “Face-to-face conversation is the best form of communication” and “Regularly, the team reflects on how to become more effective, and adjusts accordingly”, three principles that enforce the need for effective communication.
All these key elements are necessary for the team to grow, to handle project pressure and to solve challenges. But expect new Agile teams to make mistakes before starting to deliver good results. Even if all the above boxes are checked.