Making agile work in software development with team synergy
By Thoughtworks
Developing a social contract within the team can make agile software development a fun-filled collaborative team sport – but team synergy does not come prepackaged, said Thoughtworks leaders at STACK Developer Conference 2024.
In a lightning talk at STACK Developer Conference 2024, Thoughtworks leader shared tips for nurturing synergy within software development teams. Image: GovTech Singapore
While agile software development emphasizes adaptability and flexibility, its implementation often faces hurdles, such as a lack of collaboration and resistance to change.
Thoughtworks’ Thao Dang and Nouman Memon shared best practices on how to nurture synergy within agile development teams at this year’s GovTech Singapore’s biennial STACK Developer Conference, during one of the lightning talks on November 6.
Team agility for business agility
Agile software development thrives on teamwork, but “we continue to see challenges across industries,” the two leaders observed.
Thao Dang, Thoughtworks APAC Head of Enterprise Modernisation, Platforms, and Cloud, emphasized that business agility starts with team agility. “The team has to move together as one with the same mindset, upholding the same set of values, the same principles, and practise the same things”.
Thoughtworks Technical Director, Memon, introduced the effort-output-outcome-impact framework as a simple mental model to explain how agile software engineering creates value.
“While a lot goes into building the solution (output), the way it is done could many times lead to undesirable outcomes that the team or business did not anticipate; outcomes such as customer disengagement or team burnout while chasing deadlines,” he said.
To subscribe to the GovInsider bulletin click here.
Teams do not come out-of-the-box
Dang stressed that teams are not created out-of-the-box. “You don't get the best people and expect them to perform. There are many problems and blockers that get in the way.”
To solve this, the first thing to do is to look at the individuals that make up the team, she said.
“You might have people from different partners, and they might come with their own ways of working. You may have new joiners coming in with their own context, but not getting a good onboarding experience into the project,” Dang said.
In many cases, misalignments happen because team members do not know what they need to be doing and what to expect of themselves and each other, this can impact team performance, she added.
Outlining other potential barriers, she said there could be a hierarchical culture where “I have an idea to improve customer experience and I raise it but three months later nothing happens because it’s stuck somewhere for approval”.
Other contributors to poor team performance could be a top down culture where the team does not have a say in how they do things, or a blame culture where teams are afraid to try new things for fear of mistakes.
All these can erode trust, prevent teams from collaborating, stifle autonomy, choking innovation and agility.
Team social contract needed
Memon noted that the solution lies in building synergy within the team and nurturing it over time.
“The foundation of such synergy starts with building a team social contract. These are a set of agreements on how the team will work with each other and how the group will work overall,” he noted.
This, he added, starts by having a shared understanding of expectations from various roles within the team and every member understands their accountability and takes the ownership.
Memon said: “It's fine to adopt the agile framework that suits your situation, but it's the team's accountability to ensure that they make this explicit in the contract on how the team plan to leverage the terminology and the practices, and how does it translate into the value, and not just blindly follow it as a prescription”.
He added that there is a need for a healthy and collaborative setup that allows teams to work together, share, learn and have fun.
To subscribe to the GovInsider bulletin click here.
Goals and objectives
Memon said “It’s important the team have a shared understanding of goals and objectives of the product or initiative they are on. How their work is prioritised and how it would create value for the product or initiative”.
Blindly chasing deadlines and continuously accepting more work without negotiating is one major reason of undesirable outcomes, he noted.
Engineering culture
A culture that prioritises certain foundational principles needs to be set up, Memon said.
“Practices are not meant to be mandated or followed blindly as process - Every member in the team understands the value of each practice and the team continuously reflects if the practice is no longer providing value," he said.
Quality is one of the key foundational principles that is important to achieving desired outcomes. Memon said, “It's a teams responsibility and not limited to certain roles within team such as testers or quality analyst”.
“Quality spans across dimensions of software engineering such as requirement analysis, quality of user stories, quality of code, quality of test coverage, quality of documentation," Memon said.
Measure, improve and repeat the process
Dang added that once a good team contract and good practices have been put in place, the next question is how to sustain this. “The answer is measure, improve, and repeat that process.”
Teams can measure performance by outcomes such as business metrics, DORA metrics or team health and other metrics that are important to the team. These can be baselined and then monitored continuously, acting as goals to orient the team’s practices so that they can be optimised. It is important to note that these metrics should be examined collectively, and teams should not optimise themselves for just one set of metrics.
“You measure these, and you see what practices contribute to helping you to improve these metrics. And you work out what needs to be changed in your practices, and then you examine the impact and see if that helps,” she said.
Dang noted that a key takeaway was that team synergy is the foundation for high performing teams Before implementing all practices and rituals, first look at the outcomes as a team, then align on the practices to help you get there and continuously improve.
“What are the improvements that you would want to do or put in place in your team to help you get to that outcome? And how do you work together as a team to get to the outcome?” she said.
To watch the full lightning talk, click here.