There are many ways to organise and operate software development teams. None of these approaches are the single correct way. Every approach has its benefits and drawbacks. The important things is to choose an approach that is geared to meet the needs of your organisation and reflects the principles & culture you are trying to nurture. For instance, if your company culture genuinely values transparency, you had better make sure that (as much as is possible) decisions that affect your development teams are taken out in the open.
At Redgate we believe the best way to make software products is by engaging small teams empowered with clear purpose, freedom to act and a drive to learn. We believe in pushing ownership of our products to the teams that work on them, agreeing the outcomes we are aiming for and then supporting teams to explore, innovate and iteratively deliver ingeniously simple software.
That belief has a strong influence on the roles we have in and around our development teams, so our team structures may look different and our job titles will encapsulate different responsibilities to other organisations. In this post, I’m going to give a glimpse into my job working in product development at Redgate — the role of the Development Lead.
Who are the Development Leads team and what are their responsibilities?
We have four Development Leads working in Product Development at Redgate — me, Ben Mancini, Ragan McGill and Michael Upton. I’ve seen our kind of role called different names at other organisations, like Development Manager, Delivery Manager, even Agile Coach. At a high level, the Development Leads team are accountable for the development and delivery of all the products or solutions within Product Division as well as all the people who work in these teams. Each Development Lead has their own area of responsibility. Currently, I’m responsible for Monitoring & Data Catalog, Ragan for the Productivity group, Mike for Provisioning and Ben for Database DevOps.
We really do believe that the best way to make software is by giving teams clear purpose, freedom to act and a drive to learn. So we work hard to guide our teams to realise that vision. On a day-to-day basis, that might mean working closely with the teams and their leadership groups (made up a Technical Lead, Product Manager and Product Designer) to make goals clearer, helping them understand the wider context so they can make better decisions, encouraging teams to tackle dysfunction in how they work together, or advising them how to deliver valuable software to their users in line with the product group strategy and plans.
It’s the Development Leads job to look after and lead everyone in our development teams. This involves knowing our people and understanding their strengths, weaknesses and aspirations. We actively develop our direct reports, giving them opportunities and motivation to improve and grow professionally. We help, support and challenge Technical Leads in running their team effectively and ensure they’re providing great line management for their team members.
We’re also experienced agile practitioners, so can help teams to improve their agile and lean practices depending on their needs. This could involve running division-wide workshops or coaching teams and individuals around a specific technique.
As a Development Leads team we work together to balance the needs of product development across our portfolio and team structure. As a result, sometimes we have to prioritize one area over the other in order to progress the overall divisional or company goals. We work together to help people move from one team to another in product development and support wider changes to organisation structure (as with the self-selection event for team moves at the end of 2018). As a team we set objectives and goals focused on improvements in our areas of responsibility across the board. This has recently led us to improve PDP coverage in the division, help usher in the Accelerate metrics, define behaviours for senior software engineers and encourage teams to deliberately think about agile & lean principles.
What does a typical day looks like?
Given the breadth of our responsibilities and interests, there is no such thing as a typical day for a Development Lead.
One hour we could be working very closely with a Technical Lead to help them clarify their team’s goals or coaching them through how to make improvements to how their team collaborates. The next hour we could be working with our team’s leadership group to help them prioritize possible upcoming work or facilitating a personal development discussion with someone who has ambitions to become a Technical Lead in the future.
We might need to be on hand to support one of our teams in adopting the right agile or lean technique for their current challenge, asking them some curious questions to help them explore a topic, or giving them the benefit of our experience so they can make the best decision they can with the information they have to hand.
Part of being a Development Lead means you might be planning workshops on topics like ‘Incremental Delivery’, ‘Delegation’ etc. or brainstorming what should be the shape of Product Division teams after a planning cycle. Sometimes you might find yourself creating a new process for people moves, just like we had at the end of 2018, or working out how to roll out across 12 teams the Four Key Metrics (from the book Accelerate) that measure software delivery performance.
Every day is different!
What are the challenges of the role?
One of the biggest challenges of the role is being able to multitask and prioritise the right things, all whilst keeping a level-head. Every Development Lead supports multiple teams and every team can have its own needs which a Development Lead needs to be involved in. It can be challenging if all your teams need support at the same time.
Due to the nature of the job, it also involves digesting a lot of information at all levels and requires you to assess what you need to know more about and drill into, versus what only needs to be understood at a very high level.
Sometimes a management role like ours can be very isolated because we’re often operating as an individual. However that’s where the Development Leads come together as a team, relying on each other for support, advice and help when needed.
Want to know more?
If you have any questions about the Development Lead role and how they work with our teams, then drop me an email on firstname.lastname@example.org.