How to lead a successful IT team
To build a successful team, you need a successful leadership. Denis Karović, Tech Lead of Bild Outsourcing team, reveals his ways of building a team made of different experts and personalities. We also talked about how to maintain the continuity and at the same time increase their individual and group performance.
Denis Karović is a part of a Bild Studio agency since 2010. In the beginnings of his Bild Studio career, he was on the position of PHP developer, and later he held the position of Software Developer and System Administrator. Given his experience as a leader of the IT team, we talked about his recipe for the successful leadership.
- Denis, you are leading Bild Studio outsourcing team for more than a year, can you tell me what that exactly means?
Bild Studio outsourcing sector is a team composed mainly of software developers involved in the development of ITSM (IT Service Management) software for a company from Sweden. During this project, the team specializes in the use of the Microsoft programs, and other development tools and workspace.
- How many of you are on the team? What type of professional personnel is involved in this project?
The team includes 1 software architect, 10 developers, and one software tester. In addition, our colleagues from the UX and UI team are also engaged in the development of this project. From a total of 10 developers, there are 6 on the senior and 4 on the junior position, who are divided into frontend and backend part of the team.
- Is it difficult to establish a cooperation and continuous communication, when you’re working with different characters? Are there any specific practical methods and knowledge that you use to achieve it?
I would not say that this is a completed process, rather ongoing one. Therefore it is a continuous learning process of how to establish a successful working atmosphere with quality communication, both personal and professional.
- How do you organize your average working day?
The first hour is reserved for waking up with a cup of coffee and at least three cigarettes. :) After that, if it’s needed, I organize a small scrum meeting with the frontend and backend leaders, where we talk about the previous day, duties of other developers and, if there are any, we discuss and solve all kinds of problems. After that, I spend the rest of the day coordinating with developers, testers, architects and UX team, and with colleagues from Sweden. The rest of my working time is specifically dedicated to my programming assignments.
- Have you developed a special way for exchanging of the ideas? How you communicate on an everyday level?
We communicate by e-mail. Skype, of course, is an indispensable tool in the whole company. In addition to e-mail and Skype, we also use Trello. It is a very useful tool with a simple interface, that we use for the elaboration of those possible problems that I have mentioned earlier, assigning unplanned tasks and bugs to developers and communicating in relation to development tasks. Recently, we examine also Slack platform integrated with Trello. Of course, official way of communication with the team from Sweden is the Microsoft Team Foundation server, where we track time working on tasks and exchange code between developers.
- How much time and mental energy do you need to invest in building a team that you now lead?
Team is building constantly. :) It takes a lot of mental energy, even more than the time :). I’m kidding of course, but there were difficult moments, that we’ve successfully overcome it.
- You have not always been in a role of a team leader. Although you are an integral part of the team, each position within carries a different experience. What is the difference between the previous and current working experience? What role suits you better and why?
Now I have less time for myself and some professional research. I have to spend more time on an organization of almost every task and, consequently, of the workday of each team member in order to fulfill the goal as a team. I’m not sure which role suits me better, but I’m learning to deal with the challenges of both.
- So far you’ve worked on a number of projects, what is the difference between previous short-term projects and the current one? Has this transition led you to the adopt additional skills and knowledge, or you went through additional training specifically for a new position?
I was not a leader or project manager in previous projects, and this new position makes a big difference. This project is being developed for a long time and does not have any deadline for the completion, it only has milestones in which we deliver new functionalities and fix the old ones. Thus, the project I’m working on now requires a more agile approach to planning and implementation, in comparison to previous projects.
- What qualities and skills someone needs to possess in order to become part of your team?
The most important thing is to have basic humane qualities. After that, every other quality is easy to achieve. Also, it is necessary to have a thirst for knowledge, hard working skills and perseverance, and the will for progress through constant reading and learning.
- Bild Studio is turning to a new educational form. Professional training is organized through practical work. Are there any interns in your team?
Yes, colleague Dragan Dubljević is in our team more than eight months. He’s part of the programme implemented by the Government of Montenegro through the National Employment Service. Internship program in Bild Studio is organized through practical learning, through making various kinds of software, from simple web applications to applications for facial recognition. During this internship period, apart from a practical knowledge, I believe that Dragan also gained knowledge that is necessary for every successful software developer.
- Where there many changes in a team since its formation? Was it difficult to include a new person in a developed?
The team grew from 4 developers at the beginning to 11 developers for a year and a few months. So things have changed a lot. The setup has changed, as well as the capacity of frontend and backend part of what is natural and should be reflected on the project and the team.
Given that, we use an agile approach for development and planning of the project, and we are trying to split the whole project into multiple tasks so that we can work on simpler tasks as possible. Although the system that we are developing is a complex application, I think that a new developer can fit into the team and the project relatively quickly (approximately 3 months). Also, with the use of modern tools and programming solutions, we find simpler programming procedures that accelerate developer’s work. And of course, we share the knowledge A LOT. :)
- Have you ever had a crisis situation on your team? If so, could you explain to me what was the main problem and how you overcame it?
Given the nature of the work, crisis situations usually come when the deadline for a certain feature or package of applications for a new client is near. We had such situations in our team, but we have taken preventive measures in the form of better communication, ease of operation, better programming solutions and better and more accurate planning.
- How to share the responsibility within a team? You come forward individually for each success or failure, or you have chosen the principle of “all for one, one for all”?
It depends on what day is it. :) Just kidding, but really we are trying to nurture and develop a nice team spirit, which we do not give up on even out of the office. :) We are working together and moving towards the one common goal.
- Surely you’ve had situations where every team member is not up to the task? How do you motivate someone in that case?
Depending on the situation, but I try to be tolerant and patient as much as I can. Of course, the conversation about a problem and a solution with a fellow colleague is a must. I’m trying to unload a colleague from some of the more difficult tasks, so that he could have an “easier iteration” :), to give the day off or some bonus. :)
- What parameters are you taking into consideration when you analyze the level of success of your team and plan next steps?
Deadlines, quality of the code, number of bugs in the code, the time spent on making a feature, a colleague satisfaction – these are the parameters that I give priority.
- What was the biggest challenge for you in the role of a leader of an IT team?
I was a little worried if my colleagues would accept me as a team leader. I spent a year working with them before I became their leader. So, I had a fear that they will begin to look at me just as a supervisor, and not as their fellow colleague. However, to my surprise, they reacted positively to this change and made a transition to a new job position easier for me.
- Good team organization is a key to success for every StartUp business on the market. Do you have some extra practical advice or maybe a secret for a successful leadership?
A startup is a popular way of doing business, but in my opinion, it can be a harder way, as well. It requires a huge commitment and founder’s sacrifice, which is followed by a great risk. This type of commitment is required from all of the team members, which is usually not a large number. A startup is based on the realization of an idea, so I think it is necessary for the whole team to believe in that idea and to build confidence in the team which will lead them to the accomplishment of the main goal.