Intercontinental Ballistic Teamwork — My Personal Homebrew Weapon

Do you have a team but don’t really know how to make it work? Well, here are some of my ramblings throughout the years!

Nadhif A. Prayoga
10 min readJun 5, 2021
Did you know that rockets used to travel at 5 km per hour?

Let’s take a service that we use everyday, Google for example. Try to think on how many services does google offer? Well, there’s Drive, Mail, Search Engine, Hangouts, Meets… you get it, a lot. Now try to imagine how many people needs to work on all of them.

In this field of computer science, there are many things you can’t achieve on your own, you would need, at the very least, a team. Not just any team though, but a good team. But what is a good team? What constitutes a good team and how do you make one?

I’m pretty sure that’s not how that works

Well, it just so happen that there’s a metric for that. Team Dynamics is defined as how a team interacts, communicates, and cooperate with one another on a task. How “good” your team is is defined as how well your team performs in each of those things.

Now, there’s all the guides out there to create a positive team dynamics and they generally can be applied to anyone. But, that’s not what I want to talk about here. What I want to talk about is my homebrew way of making my team the best team… well, in my own terms.

I knew all along

Introducing the Intercontinental Ballistic Teamwork! I totally just made up that name on the spot. The name comes from what kind of team I wanted to create, a fast, deadly, and effective team that can work from anywhere in the world and goes out with a bang.

Our teams have stood tall since the start of college, 3 years in the making. These are some of its components that I’ve come up throughout the years of being with the members.

Communication

This is the basic of the basic. A good team is a team that can communicate well. This is not to say that you have to be social or you have to great at talking to other people, no. In fact, those people might be a good talker, but a bad communicator. So how do we communicate well?

Have you ever heard of the mantra of Japanese business culture? Hou-Ren-Sou is the principle in which you have to report, inform, and consult whenever something happens.

We use this principle in our team, a modified one that is.

Inform, Consult, Confirm

Inform. Whenever we start, make progress on, or finish something we have to report what we did back to the group. This may be a myriad of things such as just finished research on how to implement a certain thing to have finally pushed the last commit of a feature.

Consult. If you ever find yourself stuck on something, not sure about an implementation, or just need a friend to work with, call someone. We encourage each of us to actively tag people and go on discord to have conversations, be it professional or casual.

Confirm. This one has a double meaning to the same process. We push seeking confirmation from others, be it on a certain topic or just which implementation is better. We also push giving feedback whenever a new development has finished

This system can be done in both rigid or flexible environment and it really boosts the team understanding of each other’s work and abilities.

We make use of discord always on voice channel feature as a way to hop in and out easily of conversations. This further increases engagement between team members as calls don’t have to end when the work ends. Sometimes it even expands with other friends.

Big discord party, ignore the channel name

Trust

A big part of what makes a good team is trust in each other. Of course there are multiple level of trust that you need to build. So how do we built trust on a professional level? There are 3 that I prioritize:

Clarity: Each team member must know what they must do and their roles. This is achieved by a clear division of work. This helps people know what others are working towards.

Transparency: Just like the previous section, this one deals with a matter of knowing. Each team member must know how others is doing their part. This motivates people into a more productive state.

Collaboration: Each member of the team must realize their own pros and cons and not be afraid to give or take from others. By this I mean to give on their pros and to receive help on their cons from the other members of the team. This helps members grow inside and outside of their fields.

While I was writing this article, someone asked me for help

So you might notice, what’s the connection of those with trust? How can they build trust? Well, it builds after the fact. Because you can see what they’re working on, their journey, and their stumbles, you will learn to appreciate the results they achieved and the people that helped to achieve them.

We achieved clarity through gitlab boards functionality, transparency through our previous Hou-Ren-Sou application, and collaboration with our frequent discord sessions.

Gitlab boards to see who’s working on what

Team Building

Now then, how to build trust non-professionally? We realize that a good team is a team that understand and close with one another. You can refer to my other article on how to build relationships with people, but I’m going to go more in-depth about our current team.

We make sure to do a few teambuilding exercises each week. One thing that we found to love is to watch something together, be it a series, a video, a movie, or anything in-between.

Watching White Album 2 together

Or game nights.

Anime Music Quiz

These activities help propel us into a good team not just because of the activities themselves, but also because of the conversations it spawns. For example, from playing a game of chess, I got to know other member’s thinking process. And from a watch session, I got to know their emotional values.

These may be minor things, but they stack up over the weeks, months, or years you might have to work with them. These activities build trust on each members because of the same principle before, it shows them your insecurities and well as your strengths. A good team is a team that understand each other’s weakness.

Constructive Conflict

Taken from this link. One thing that always arises in a team is conflict. Conflict happens when two people have differing opinions. Now you might think a good team won’t have any conflict. Well, you see, even the best of all git project have merge conflicts, so it’s just inevitable.

However, there is a good conflict and a bad conflict. A good conflict is differing opinions that may result in an even better solution than the ones proposed. A bad conflict is one that leaves everyone unhappy. As a team, you always want to promote good conflict.

What constitues what — https://distantjob.com/blog/constructive-conflict-remote/

But how do you promote good conflict, well, distantjob.com says that you should let everyone speak out what they disagree with and have the leader conduct an “efficient meeting”, more about leaders in the next section. But I think it goes way more than that.

A good conflict must first have the people in that group want to speak out their ideas without worry. So first, create an environment where conflict is welcome. This means that you have to establish a good relation between each member of the team first, then you can have members slowly open up.

So what I do is to start with myself openly disagreeing with people on certain issues. While it may have been better structured, it gathers a lot more engagement from the other members and promote a safe environment to speak up. Then when all the members actually opened up, you can start doing the more “formalized” method.

To get more speed however, you would need a leader.

Servant Leader

I mentioned in the last section having a leader that listens to each conflict and conduct good discussions. A good team has a good leader. And a good leader is a servant leader, well, not always. What’s a servant leader? A servant leader is someone who “serves” the team as an equal rather than someone from above.

A servant leader in scrum — https://letsscrumit.com/scrum-roles-3-scrum-master/

In this project the servant leader is the scrum master which listens to each member’s problems and helps them. But, what if the context is just your team that just happens to also be a peer group? Is it really worth to implement this “servant leader” type?

A study by Justin Worley shows that even in sports where one mind and togetherness is crucial, a servant leader have positive implications to their team. So yes, it is worth, but how do you exactly implement it?

A leader for life

Chances are you already know who the leader of your group is, even if they aren’t elected. So if you are the leader, then start being a servant leader! Do this by listening, helping, and feeling your members. I want to highlight a few really good points by this article by teamgantt though, such as:

Persuasion: Know how to wrap up a discussion and make a consensus. Make your discussions narrower so it doesn’t go on forever.

Conceptualization: Know where you want to end up before your team reaches there. You need to be able to visualize many good paths for your team without knowing how it will go next.

Foresight: Know what has been done in the past, never let the team repeat mistakes, apply successful steps and make them smoother.

If you want a speedy team, your leader needs to train those three attributes as their main thing. This is a ballistic teamwork after all, it should go fast.

Practical Stuff

Yes I know this article has been going on for too long for just random ramblings that I think up. So let’s end it with a few ways that you can apply practically!

  1. Make an easy way for the members to communicate. I heavily suggest discord due to its always on voice channels.
  2. Hou-Ren-Sou, just as I’ve talked before. Make sure everyone in the team is doing this, it can be hard to do at first but with peer checks, you can make it a habit in no time! Do this via discord or other messaging app where you can easily track it.
  3. Have both formal and informal team building sessions once every couple of week or so. Find something the team can enjoy like a movie or a game. Team building is important, you need to know each other before you can understand each other before you can appreciate each other.
  4. Never keep stuff in your heart, say it! It’s okay if you be the devil’s advocate, as long as you have a sound reason to say it. Don’t let your emotions take over by taking an emotional break in a heated argument.
  5. If you’re the leader, try being a servant leader. While a peer leader isn’t that bad of a prospect for a speedy development. This method makes it smoother for your member to grow even speedier. Do this by spending time with each member personally until they’re comfortable.

Conclusion

To be honest, I think it’s extremely hard to implement all of these correctly. This article is one that I really really wanted to make, but ended up being the most confused and conflicted about.

What a good team looks like

Team Dynamics is and has always been important. You’re only as strong as your weakest link, or so they say. A good basis of communication and trust, be it professionally or casually is needed to make a good team. You have to build your team inside and outside firmly.

While conflict may be bad, constructive conflict is always welcome. To get the most out of constructive conflict however, you also need a servant leader. The leader needs to learn how to manage both speed and growth of each member.

There’s one thing I want to add, and that is not forget that the most important of ingredient is time. Do not expect a result right away, let time pass, and your team can start accelerating into the sky.

--

--

Nadhif A. Prayoga

I am a computer science student at University of Indonesia. Writing certain stuff only