Alex enjoys building, mentoring, growing teams and then lead them into deep water to tackle challenging problems 🚀 He is keen to experiment with ways of working and innovative technical approaches. It is important for Alex to be committed to highest standard in every initiative he is involved in 🧨
When entrepreneurs decide to hire or assemble a software team, they usually expect to get things done: fix the existing software product or build a new digital solution. Clear expectations and strict technical requirements seem to allow no potential for an extra impact such a team might bring.
In Team Brilliant, the impact we make is what we care about most.
Any decent software team can do what it is told to. The question is how to show that they’re best at what they do. And it's a different story in every single case. Extra steps might be done in how the risks are minimized, in the team velocity, in the multiple team collaboration, in the end, in the quality of the outcome.
Instead of reinventing the wheel with every new client, we've come up with the TAP system, a set of practices crafted specifically for effective software development. The system itself requires a separate post to be described properly. Here, we'd like to share only some of the practices that specifically help our software teams bring maximum impact to our clients' organizations.
But first, let's take a look at the typical roles in the software teams. You have all kinds of developers, usually united into delivery teams, senior developers, who usually have bigger responsibilities on the projects, and leaders, who manage all the projects at once and/or make the most important decisions. Here's how their domain expertise and influence in a common organization can be represented:
This graph shows that the higher the role of the member in the team, the bigger is their responsibility to bring impact to the organization. To bring sustainable impact, everyone should follow the practices below and act according to their status in the team.
Now, TAP stands for Team, Approach, and Process. Hence the division of the practices into three separate categories.
What makes the team effective is communication. So once a new member joins the team, senior developers perform a thorough interview to figure out their potential impact and the ways they can do the most of their skills at work.
For existing members, they practice coaching and mentoring for knowledge sharing and gaining a wider view of what everybody does.
The leader is responsible for the quality of the developers’ output. Although we're always limited by technical requirements and expectations, it's still up to us to decide how to reach the desired outcome. Finding the perfect balance between effort and speed is one part of the challenge. Another one is to adjust the product roadmap to our engineering principles to be sure the development process will be smooth and predictable and focus on other, less certain things on the project.
Of course, in addition to that, the delivery team is expected to improve their domain and industry knowledge with every new initative and understand the application's structure and architecture before making any changes to it.
First, the developer follows the next principles affecting their impact:
With these principles, it becomes possible for senior developers to define and follow a tech strategy within an organization. Having a technical strategy means we're able to make our own technical decisions, select the approach and architecture of the solutions, and drive items on a technology roadmap.
Finally, the leader is responsible to show and utilize the team’s technical excellence. For that, they use the next few practices:
From the general approaches let's proceed to day-to-day practices. First of all, we're talking about the basics of the Agile philosophy for developers:
Team Brilliant is a technological partner driven by innovations, so our senior developers take a proactive part in the processes involving new product initiatives, especially the inception stage, to make an impact on how that product is going to be shaped. And once the product is ready to go live, they help with phased launch and planning.
When our software development team works in the organization with the other teams, our team leaders adopt and promote the "We are one big team" mentality. It means practicing collaboration and knowledge sharing with other teams at all times to avoid blockers in our work and learn who to talk to in case we have questions.
So whatever is the project and its circumstances, there’s always a practice in the TAP system that allows us to adapt to it for the maximum impact.
In a software team, every member plays a vital role in achieving the project’s goal. And for every member, there’s a set of practices they need to follow for maximum impact. To help you get a grasp of all of them within one glance, here’s an infographic summing all said above:
It might be obvious that a developer, senior developer, and leader should contribute in different ways both individually and as a team to reach the desired outcome. But if you need a straightforward, battle-tested system of practices for delivery teams to reach maximum impact in the organization every single time, we described one exactly for that.