Managing Software Development Teams — speed of delivery and quality improvements

florinelchis
3 min readMar 30, 2022

Managing teams in software development is not easy. And there is no solution that fits all use cases.

There are managers that come with various frameworks:

  • Agile
  • DoD
  • Workflows
  • Standards

And somehow quality declines, speed of delivery declines.

And they change things by adding more checks, more standards, more checkboxes for the DoD.

And yet, things do not improve.

Because:

  • They’re disconnected completely from the day to day operations
  • They lack understanding of the things that are being built
  • They’re not really technical and have limited understanding of technology in general

And the ones that are the loudest are the ones that manage to push their vision.

Now, how I believe you can make a real difference:

  • be a professional, have the right background and experience
  • share a clear vision and roadmap with the team; they need to know where they are going
  • pay attention to the details related to what is being built; ofc, this is not scalable when you have multiple teams working on multiple fronts, but you can choose and identify the critical points and monitor that closely
  • take the pulse from the team members. periodical 1–2–1 meetings help
  • when you implement a new workflow or a new additional standard, clearly understand the impact or share transparently with the team: we’re doing this for 1–2-N sprints and we collect the following metrics based on which we’ll make a decision
  • try to get consensus for the changes you introduce or at least explain why you are taking a certain technical decision that impacts developers’ or other team members’ work (either it introduces additional work load or complexity, additional tools to learn
  • when you try to solve problems, don’t jump to solutions without clearly understanding the problem you are trying to solve

Talented people hate doing a lot of bureaucratic work. Well, this is valid for all, but the talented ones you want to keep. Simplify the processes.

If the quality decreases, if the speed of delivery decreases, first I would gather some feedback from the team before jumping to changing the way they work.

Recipes that worked at some companies are not universally valid. There is no one size fits all, but there are some main points why quality decreases:

  • changes within the development team (as in team members) impacts what is being delivered
  • changes in the development process — if you introduce new workflow or a new way to implement things, additional steps, etc — this is disruptive and team needs time to adapt or demotivates members
  • changes in the development environment — introducing new tools, new dependencies on other teams/tools, new standards — all impact the way people work and as a result it impacts what is being delivered
  • changes in the priorities: when you switch priorities a lot, it’s very hard to focus and get things done; today we focus on X, but tomorrow we park it and focus on Y;

And speed can decrease due to:

  • Lack of clear requirements or goals
  • Lack of experienced developers
  • Lack of adequate tools and infrastructure
  • Poor project management
  • Code base is not well organized or structured

Your thoughts?

--

--

florinelchis

Florinel Chis —Magento / Adobe Commerce Developer, ex-Director — ARMO.org.ro,