Engineering Management

How to help your new team start performing sooner

Photo by Nicholas Swanson on Unsplash

Managers of newly formed teams want them to start performing as soon as possible. A theoretical model that can help achieve that was proposed by psychologist Bruce Tuckman in 1965. It describes four distinct stages in team development: Forming, Storming, Norming, and Performing. Managers and teams familiar with that model can effectively address the challenges at each stage and reach the Performing Stage faster and with less drama along the way. Let’s look at what exactly can be done at each stage.

1. Forming Stage

When a new team is created, its members are unsure about its purpose. They don’t know what needs…


Engineering Management

Developer-friendly practices to keep the business and the engineers happy

Photo by Danial Igdery on Unsplash

At some point during the growth stage, startups realise they no longer can afford to move fast and break things along the way. Their customers become demanding and their numbers grow. As a result, broken functionality and outages result in lost revenue, lost customers, and reputational damage for the business.

This is when the engineering management may decide to set up an on-call process in their teams to respond to alerts, manage incidents, and promptly fix broken functionality. They start wondering how to introduce the process efficiently? Where to start? How have other teams approached that? What tools should they…


Career

Use pair programming, code reviews, feedback, and meetings efficiently to grow faster into your next role

Photo by You X Ventures on Unsplash

Ambitious junior and mid-level developers invest time into professional growth to level up and move to more challenging and rewarding projects: they read books, articles, do courses and tutorials.

However, they often overlook some of the development opportunities that are available in their current team and role. That is common among developers at the early stages of their career — they don’t have enough experience to recognise all available opportunities. As a result, they lose precious time which could have been spent on upskilling to move to a new role sooner.

Such developers usually work in teams with more experienced…


Engineering Management

A brief guide for pragmatic software engineering managers

Photo by You X Ventures on Unsplash

Managers know that to build a high-performing team they need to create a strong teamwork culture. Unfortunately, few of them know how to achieve that in practice.

Let’s look at a few techniques that, when applied consistently, may help a software development team to improve cooperation and collaboration and develop the habit of working together on most tasks.

We’ll start with the techniques that improve team cooperation by creating situations where developers have to work together to achieve a shared goal.

Then we’ll look at the techniques for improving team collaboration. Such techniques involve team members into interactive activities like…


Engineering Management

Simple things most managers can do to build a cohesive team of software engineers

Image of team rowing a boat.
Image of team rowing a boat.
Photo by Quino Al on Unsplash

Even first-time managers know that to build a high-performing team they need to improve engagement and encourage collaboration between the team members. Sadly, not every manager knows how to achieve that, even though that shouldn’t be particularly difficult unless their team is completely dysfunctional.

To create a cohesive software development team a manager needs to set the team’s goals, define its purpose, create a collaborative environment, and strengthen relationships between the team members.

Setting Team Goals

Goal setting is one of the key management responsibilities. Team goals should be meaningful, challenging, and achievable for the team members. Goals should be set for the…


Engineering Management

Free up time for critical tasks and coach future leaders by strategically delegating responsibilities

Photo by Annie Spratt on Unsplash

Managers of growing software development teams have to deal with rapidly increasing workload. At some point, they don’t have enough time in their day to look into each issue. If they keep doing so, they become a bottleneck in decision making, slow their team down, and put its success at risk.

This behaviour is frequent among first-time managers, especially those who have been promoted to this role thanks to being strong individual contributors. They keep relying on their old strengths which no longer serve them well in the new role. …


Productivity

How my software development team has taken meetings, communications, and unplanned work under control

Photo by Studio Republic on Unsplash

Meetings, communications, and urgent requests are well known productivity detractors for software engineering teams. In this article I’d like to share how my team maintains high productivity by carefully designing the team meeting schedule, optimising team communications, and taking distractions under control to maximise uninterrupted time that each developer and designer can spend on actually doing their job.

First of all, I should tell you a bit about my team so you could get an idea how similar or different it is from yours. My team is building and maintaining the online and mobile banking apps for one of the…


Engineering Management

How to create realistic sprint plans for a software engineering team playing to its strengths and keeping focus on its goals.

Photo by airfocus on Unsplash

This post is about my favourite approach for sprint planning for a small software development team. It is simple, quick, and pragmatic. I’ve seen it working successfully in several teams.

With this approach planning for a two-week sprint usually takes less than an hour for a team of ten people. The approach is easy to understand for new team members at their first sprint planning meeting. It is also easy to pick up for teams that only just started working in sprints.

In this article, I’ll demonstrate this approach on a 1-week sprint for a small software development team as…


People Management

Set up your new team members for success by accelerating learning, encouraging collaboration, and providing feedback

Photo by Kelly Sikkema on Unsplash

To get fully productive at a new job, a software developer needs to:

  • understand how their new team works,
  • get familiar with the product source code and architecture,
  • get familiar with the product business domain.

In our team we started to help our new hires to get up to speed sooner with a personalised onboarding process. It has been working well for us: our new colleagues have been learning quickly, contributing efficiently, and integrating into the team well.

In this article I’d like to share the details of our approach. Its key parts are:

  1. Appointing an on-boarding buddy
  2. Preparing an…


Engineering Management

How to staying on top of delivery, people management, and system ownership at each stage of the product life cycle

Photo by Annie Spratt on Unsplash

From a software engineering perspective the product life cycle can be split into six stages: Development, Introduction, Growth, Maturity, Decline, and Abandonment. Each stage has different goals and challenges, so engineering managers have to shift their focus accordingly to keep providing best results for their organisation:

  • At the Development stage, the goal is to build and deliver the product prototype into the hands of customers.
  • At the Introduction stage — to find product/market fit.
  • At the Growth stage — to improve the product offering and accelerate growth.
  • At the Maturity stage — optimise operating costs and keep on improving the…

Andrei Gridnev

Software engineer, manager since 2002. Engineering management, leadership, software architecture, high-performing teams, professional growth.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store