Back Arrow
From the blog

How can a team lead figure out a new project when nothing is clear?

Hello! My name is Maria, and I am a team lead and backend developer at ByteMinds. In this article, I will share my experience: I’ll explain how to understand a complex project, establish processes, and make it feel like "your own".

Maria Serebrovskaya

Team Lead

Life as a team lead would be easier if every new project started from scratch. But the reality is different: you often have to take on someone else's code, understand the old architecture, catch the elusive context, and organize chaos.

It becomes even more difficult when a project is handed over from another team – especially when documentation is fragmented, decisions are unclear, and dependencies are not obvious. So, how can you quickly get up to speed, avoid getting lost in uncertainty, and organize the process in a way that helps the team work productively?

How not to drown in a new project

Every new project comes with some (or a lot of) stress. But it becomes manageable if you know which strings to pull. Here are a few steps that can help:

Set the vector: why are we doing this? Understand why your project exists in the first place. Sales? Improving UX? Adding new functionality? A team lead cannot be effective if they don’t understand the end goal. Start by talking to the business or client to identify key success indicators, and then try to mentally” align these goals with your work. Clarify the main user scenarios.

Draw a map: architecture under a magnifying glass. You should have a clear diagram of how all the system components interact. Which services interact with which systems? What is data stored? Study the documentation if it exists; if it doesn’t, start gathering it yourself. Make sure that every team member has access to up-to-date information. Validate the existing data: work with the current team and the client to ensure that the data is still relevant and usable.

At the onboarding stage, you don't need to go into implementation details. You just need to understand how current the documentation is, how to set up the project, and what integrations, logging, and monitoring are in place. Pay special attention to sections where you’re unsure how to approach them.

Remove chaos: the access matrix. When a project involves many people and systems, access chaos is the first thing that needs to be sorted out. Create an access matrix: specify who should have access to which systems and who should not. This table will be a lifesaver when onboarding new employees and will save time. Simply walk new employees through the access matrix and quickly reach out to the client if any permissions are missing.

Handovers: secrets to successful knowledge transfer 

Handovers are sessions where the "old hands" of the project pass on essential knowledge to newcomers. Many people treat them as formalities, but that’s a huge mistake.

Focus: topic-specific sessions. Break handovers into distinct topics: architecture, deployment, QA, etc. This allows for better focus and preparation. Before each meeting, review any available documentation on the topic and prepare questions. Be sure to share these questions with the participants in advance to avoid wasting time on unnecessary discussions.

Ask uncomfortable questions.  Inquire about typical mistakes the old team made. What are the most difficult aspects of the project?  Are there important, non-obvious features that aren’t documented anywhere? What information is missing if you need to upload changes or run tests tomorrow? You can collect these questions in advance and send them to the client before the call – this will make the conversation more meaningful and allow everyone to focus on the essentials.

Don't lose information: record meetings. Record all handovers and keep the recordings publicly accessible. This will be useful if a new team member wants to quickly get up to speed. Even months later, you can refer back to these recordings to recall details. New team members can simply review the recordings instead of bombarding more experienced colleagues with endless questions in the chat. 

Plan wisely: tasks and priorities

How can you distribute tasks to make sure everything important gets done, without wasting resources? The keys are planning and auditing.

Understand the backlog. Review the current backlog. Which tasks are critical? Which ones can be postponed? For example, if you know the project will be redesigned in a year, then working on architectural updates may be unnecessary. Prioritize tasks based on the overall goals of the project.

Conduct an audit: this is your insurance. Even if the client doesn’t require an audit, do it for yourself. Evaluate the architecture, integrations, and technical debt. This will help identify weak points of the system and serve as your safety net if something goes wrong.

An audit helps you define the risks and limitations early on. If a client suddenly needs an implementation that the system cannot support, you’ll always have something to show them.  The biggest challenge here is usually the “blank slate” problem  – you don’t know how much time it will take or what should be done first. You can dig through the code endlessly, but there’s no point in doing so. Focus on key priorities. For example, look only at the issues to the current backlog and the feature closest to implementation. 

Sometimes you need to reassess an estimate – and this shouldn’t seem strange to you, the team, or the client. There are situations of uncertainty where it feels like the estimate might be way off. In such cases, make an estimate for research, not implementation. Clients will have realistic expectations – they’ll know what you are currently working on. Developers won’t be tied to false estimates, meaning they won’t have to work late or disappoint the client with incomplete tasks.

Experiment with Proof of Concept (PoC). If you’re unsure whether the chosen approach will work, create a PoC. This is a small-scale experiment to test if your idea will work. The key here is not to get bogged down in the details. Remember, the goal of PoC is to determine whether the idea can be implemented, not to produce a finished product.

Deployment without stress: setting up releases

Managing releases is another key aspect of a team lead’s role. Not everything that sounds simple turns out to be so in practice.

Automate where possible. Find out how the project pipelines are set up. Are there fully automated processes? If not, figure out which stages require manual intervention and work to optimize them.

Agree on release windows. Before each release, notify all stakeholders: the team, the client, and the users. Define fixed time windows for applying changes to minimize risks.

Always have a plan B. Keep a rollback plan somewhere "under your pillow". If a release causes problems, who will fix them and how? Create a step-by-step checklist for handling such situations.

Conclusion

Difficulties are opportunities for growth. The role of a team leader is a balance between technology, people, and processes. The key is not to fear uncertainty. A systematic approach, open communication, and attention to detail will help you overcome any challenges. Don’t forget: the team leader is the one who leads.

It's easy to start working with us. Just fill the brief or call us.

Find out more
White Arrow
From the blog
Related articles

How I Started Writing Unit Tests for Vue Components

Dmitry Simonov

In this article, we’ll take a look at how you can start testing Vue components.

Vue
vuejs

Inspecting raw database data in Xperience by Kentico

Dmitry Bastron

This article is a cheat sheet to inspect what's going on with the imported data by Xperience by Kentico Migration Toolkit, resolve some CI/CD issues and on many other occasions!

Kentico

Learnings from using Sitecore ADM

Anna Bastron

Let's try to understand how the ADM module works, its limitations and tactics for optimising its performance.

Sitecore

Your last migration to Xperience by Kentico

Dmitry Bastron

The more mature Xperience by Kentico product becomes, the more often I hear "How can we migrate there?”

Kentico

5 Key Software Architecture Principles for Starting Your Next Project

Andrey Stepanov

In this article, we will touch on where to start designing the architecture and how to make sure that you don’t have to redo it during the process.

Architecture
Software development

Assessing Algorithm Complexity in C#: Memory and Time Examples

Anton Vorotyncev

Today, we will talk about assessing algorithm complexity and clearly demonstrate how this complexity affects the performance of the code.

.NET

Top 8 B2B Client Service Trends to Watch in 2024

Tatiana Golovacheva

The development market today feels like a race - each lap is quicker, and one wrong move can cost you. In this race, excellent client service can either add extra points or lead to a loss dot to high competition.

Customer Service
Client Service

8 Non-Obvious Vulnerabilities in E-Commerce Projects Built with NextJS

Dmitry Bastron

Ensuring security during development is crucial, especially as online and e-commerce services become more complex. To mitigate risks, we train developers in web security basics and regularly perform third-party penetration testing before launch.

Next.js
Development

How personalisation works in Sitecore XM Cloud

Anna Bastron

In my previous article, I shared a comprehensive troubleshooting guide for Sitecore XM Cloud tracking and personalisation. This article visualises what happens behind the scenes when you enable personalisation and tracking in your Sitecore XM Cloud applications.

Sitecore

Server and client components in Next.js: when, how and why?

Sergei Pestov

All the text and examples in this article refer to Next.js 13.4 and newer versions, in which React Server Components have gained stable status and became the recommended approach for developing applications using Next.js.

Next.js

How to properly measure code speed in .NET

Anton Vorotyncev

Imagine you have a solution to a problem or a task, and now you need to evaluate the optimality of this solution from a performance perspective.

.NET

Formalizing API Workflow in .NET Microservices

Artyom Chernenko

Let's talk about how to organize the interaction of microservices in a large, long-lived product, both synchronously and asynchronously.

.NET

Hidden Aspects of TypeScript and How to Resolve Them

Dmitry Berdnikov

We suggest using a special editor to immediately check each example while reading the article. This editor is convenient because you can switch the TypeScript version in it.

TypeScript

Troubleshooting tracking and personalisation in Sitecore XM Cloud

Anna Gevel

One of the first things I tested in Sitecore XM Cloud was embedded tracking and personalisation capabilities. It has been really interesting to see what is available out-of-the-box, how much flexibility XM Cloud offers to marketing teams and what is required from developers to set it up.

Sitecore

Mastering advanced tracking with Kentico Xperience

Dmitry Bastron

We will take you on a journey through a real-life scenario of implementing advanced tracking and analytics using Kentico Xperience 13 DXP.

Kentico
Devtools

Why is Kentico of such significance to us?

Anastasia Medvedeva

Kentico stands as one of our principal development tools, we believe it would be fitting to address why we opt to work with Kentico and why we allocate substantial time to cultivating our experts in this DXP.

Kentico

Where to start learning Sitecore - An interview with Sitecore MVP Anna Gevel

Anna Gevel

As a software development company, we at Byteminds truly believe that learning and sharing knowledge is one of the best ways of growing technical expertise.

Sitecore

Sitecore replatforming and upgrades

Anastasia Medvedeva

Our expertise spans full-scale builds and support to upgrades and replatforming.

Sitecore

How we improved page load speed for Next.js ecommerce website by 50%

Sergei Pestov

How to stop declining of the performance indicators of your ecommerce website and perform optimising page load performance.

Next.js

Sitecore integration with Azure Active Directory B2C

Dmitry Bastron

We would like to share our experience of integrating Sitecore 9.3 with the Azure AD B2C (Azure Active Directory Business to Consumer) user management system.

Sitecore
Azure

Dynamic URL routing with Kontent.ai

We'll consider the top-to-bottom approach for modeling content relationships, as it is more user-friendly for content editors working in the Kontent.ai admin interface.

Kontent Ai

Headless CMS. Identifying Ideal Use Cases and Speeding Up Time-to-Market

Andrey Stepanov

All you need to know about Headless CMS. We also share the knowledge about benefits of Headless CMS, its pros and cons.

Headless CMS

Enterprise projects: what does a developer need to know?

Fedor Kiselev

Let's talk about what enterprise development is, what nuance enterprise projects may have, and which skills you need to acquire to successfully work within the .NET stack.

Development

Fixed Price, Time & Materials, and Retainer: How to Choose the Right Agreement for Your Project with Us

Andrey Stepanov

We will explain how these agreements differ from one another and what projects they are suitable for.

Customer success

Sitecore Personalize: tips & tricks for decision models and programmable nodes

Anna Gevel

We've collected various findings around decision models and programmable nodes working with Sitecore Personalize.

Sitecore

Umbraco replatforming and upgrades

Anastasia Medvedeva

Our team boasts several developers experienced in working with Umbraco, specialising in development, upgrading, and replatforming from other CMS to Umbraco.

Umbraco

Kentico replatforming and upgrades

Anastasia Medvedeva

Since 2015, we've been harnessing Kentico's capabilities well beyond its core CMS functions.

Kentico

Interesting features of devtools for QA

Egor Yaroslavcev

Chrome DevTools serves as a developer console, offering an array of in-browser tools for constructing and debugging websites and applications.

Devtools
QA

Activity logging with Xperience by Kentico

Dmitry Bastron

We'll dive into practical implementation in your Xperience by Kentico project. We'll guide you through setting up a custom activity type and show you how to log visitor activities effectively.

Kentico
This website uses cookies. View Privacy Policy.