icon

How Team Brilliant Brings Maximum Impact In Your Organization

Icon

Alex Kurkin

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.

How We Bring Sustainable Impact

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:

picture

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.

Team-based Practices For Better Collaboration

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.

Approach-Based Practices to Demonstrate Excellence

First, the developer follows the next principles affecting their impact:

  1. Work in small batches. This way, it's easier for us to change the development course quickly or make urgent changes to the product.
  2. Work on the riskiest things upfront. They bring the most uncertainty regarding the required effort and time, so addressing them first allows us to proceed to the tasks that are more predictable, crisp, and allow for a predictable impact in the organization.
  3. Deploy as soon as a new feature is ready. Such delivery transparency doesn't affect the development processes much but helps the organization to see our effectiveness and speed.
  4. Decouple code deployment from feature release. There's no impact in updating the product only when the next feature is ready. The sooner you update the product with the new code, the easier it is to maintain that product and catch bugs early.
  5. Take an automation-first approach. Covering the code with automated tests is a great way to minimize the risks of bugs and deliver the expected output without any accidents.
  6. Embrace accountability and ownership. This one might seem obvious, but it's the consequence of the mentality adopted in Team Brilliant: if you want to make an impact, you need to take the responsibility for everything you do.

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:

  1. A leader proactively reviews the team’s current approaches for further improvement. Because there's always room for a bigger impact.
  2. They suggest process and technology improvements. Usually, it means the possibility for the organization to save money and/or reach the desired outcome faster, so such suggestions are always met with enthusiasm.
  3. They introduce best practices to improve the existing solution. Doing more than expected is what makes us brilliant at consulting and development.

Process-Oriented Practices to Make Impact Continuously

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:

  1. Daily standups to sync the team on the current tasks and avoid any blockers
  2. Backlog grooming to move fast and limit the amount of decisions a developer has to make during the execution stage
  3. Sprint reviews to see if what has been done needs additional changes
  4. Sprint planning to figure out what to do next
  5. Sprint retrospective to see if any processes can be improved
  6. Slack etiquette to make sure the communication in chat helps everybody stay productive

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.

Bottom line

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:

picture

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.