I lead a team of five engineers. During sprint planning sessions, I collaborate with the team to create tasks aligned with our goals. Although the initial sprints were challenging, I now have a better grasp of the team's velocity. In the past, I frequently found myself directly involved in their tasks, providing boilerplates, due to their struggles with meeting the acceptance criteria. I am seeking strategies to maintain our pace without the need for constant updates or taking on the tasks myself, aiming to achieve our desired goals.
Our team is newly formed, and we will soon be involving consultants, whom the organization views simply as resources. However, understanding their skill set and velocity poses a significant challenge.
You seem like a nice person, but this carries a common leadership risk which I've personally ran into: Being too nice. Let me illustrate this in more detail.
Engineer you're leading: "I need help on this task."
You: "Here's a ton of very hands-on guidance to execute on this task."
Engineer you're leading: "I need help on this task."
You: "Given what you know so far, what's your initial instinct for tackling this task?"
Your goal with every engineer you're leading is to transition them from the "Before" state to the "After" state ASAP, ideally with 2-3 weeks unless they're a new grad junior engineer who literally knows almost nothing.
If you hand-hold engineers for too long, they will subconsciously expect that going forward and you become a crutch as Charlie mentioned. Slowly wean them off of your support and push them to fill in the gaps themselves to truly learn the concepts. And if they can't 100% get the picture, step in of course (you should never abandon them), but the important thing is that you aggressively lean them towards the true learning.
For more on the tactical side like hosting office hours, deep mentorship, and other strategies, check out this great playlist: [Taro Top 10] Effective Mentorship And Growing Others
I am seeking strategies to maintain our pace without the need for constant updates or taking on the tasks myself, aiming to achieve our desired goals.
Communication will be key. There's a good medium between constant updates and occasional updates. I do recommend standups, maybe twice a week, and maybe through chat where people post what they are working on and whether they have any blockers.
Make sure to really pay attention to the updates and really try to unblock people. You don't want to get into a zone where you are passively looking at the updates.
You want to be careful about jumping in to do the work for your team because you don't want to be a crutch for them. If they are new to the team and technologies, pair programming can be worthwhile to really accelerate their onboarding process.