Whether it’s properly estimating a project scope, setting up the right team, or finding the perfect balance between management and programming, Software Development Team Leaders are full of challenges. In our attempt to understand more about this topic, we reached out to our Delivery Manager, Francisco Vonscheidt.
What’s the importance of having a clear project scope, in software development?
It’s super important. Absolutely! Most of the issues that appear during the latter stages of the software development phase are often related to unclear project scopes.
Typically, we assume that things will go the way we want and work out in the end. But when you leave things unplanned in software development, that’s never the case. The development cycle is affected by a myriad of variables, which makes proper estimation and execution very challenging.
Unlike other industries where you’ve got production lines or automated processes, here we’re constantly dealing with people. And not surprisingly, talent retention is one of the most challenging factors in guaranteeing the success of projects. That’s one of the biggest hurdles that team leaders face day in and out. Our task is to constantly think about the career development paths of our team members and how to keep engagement and commitment levels as high as possible.
On average, how long does it take to establish a team of software developers for a new project?
It depends on the project scope, the bench resources, and the times. Overall, it could take several days or even a few weeks.
It’s key to understand that you’re not just filling up vacancies, but building up a functional team! Even when you have available resources that could fit the open positions, you’re always going to try to prioritize people that work well with each other. Team cohesion is essential, and as a team leader, you’ve to consider profiles carefully, assessing their strengths and weaknesses.
In the end, you should end up with a group that’s not going to waste time discussing which Star Wars movie was the best or which is the proper way to write an algorithm. That way, you’ll be able to get the project done on time and on budget.
Should you involve the end-user in the design phase of the project? If so, how?
That’s an easy one! Yes, of course. The customer (end-user) is one of the main stakeholders in a project and needs to be committed to it. Plus, there has to be open and fluid communication between the members of the team and the customer.
Involvement may vary from customer to customer and project to project, but we always try to invite our clients to participate in planning meetings, sprint reviews, and demos – the traditional ceremonies in an agile workflow.
Is team synergy as critical as technical skills?
They are both important! But yes, synergy is a must-have if you want to establish a high-impact development team.
Let’s say you have a very talented developer, but if that person doesn’t know how to share their knowledge and lead the team, then it’s very likely that you won’t leverage all the potential in that team. The team must work as an entity that’s fully committed to delivering quality and excellence to the client.
Besides that, there are 4 major variables that any team must consider:
- Objectives to be achieved
- The tasks to be carried out
- The functions to be performed
- The roles to be performed
The team will be only able to achieve the desired performance when these 4 variables are completely aligned. But you’ve got to remember that these variables are managed and influenced by people, so their attitude towards them is fundamental.
And as we all know, relationships between people are not always easy and do not respond to rational criteria. Among other important aspects (motivation, level of training, etc.), it depends a lot on the personality of each one of them. Having a good climate is proven to have a positive impact on results.
Main risks of projects with changing scopes?
In short words: keeping the team and customer comfortable.
Big changes during the development stage of a product are often not very well received by the team. So, on one side, you’ll have to motivate and negotiate with your team to keep the level of performance up. They need to see the big picture and remember that whatever they are creating is more than just code.
On the other side, you have to be clear with the customer and explain the consequences of introducing change at certain stages. It’s all about setting the right expectations with clear communication. That’s crucial to having a good relationship.
Francisco Vonscheidt – Delivery Manager
With more than 13 years of experience in the IT & Software Industry, Francisco is a certified Project Manager and Scrum Master. He is a natural entrepreneur and technology geek that spends his free time playing video games, 3-D printing, or doing sports.