Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m a software dev team leader (I recently took control of a new team), and ult

ID: 642227 • Letter: I

Question

I'm a software dev team leader (I recently took control of a new team), and ultimately responsible for maintaining high productivity, good quality and organized priorities.

I have 6 senior developers in my team, but things feel like a mess here. The situation is that I have to deal with JIRA requests from about 10 different points of contact in our company, and they all represent different business units, or clients.

The problem I have is that my job mainly consists of putting out fires the whole day and making sure that everyone's problems are being worked on. Unfortunately, the culture in our company has been high productivity (fast releases) but low quality (production bugs), and our clients won't accept a sudden delay in results.

What are some good ways of handling this? I have tons of theories, but I'm looking for an answer from someone who actually has working experience in a situation like mine.

Here is a small list of how things work:

Each developer is responsible for a specific application and services interacting with it;
Releases are typically tested by the client in a simulated production server, and then deployed to the live server;
Each application is used by an average of 50-80 people, with 8 applications in total.
Thanks

Explanation / Answer

our clients won't accept a sudden delay in results

Well, then they have to accept the poor quality they're getting.

What you have to do in order to change this is get your clients to accept the reality of software development (or any other production!): that rushing things affects quality.

Create a big list of the things that are going wrong - of the things that are broken, the times that they've had cause to complain. Explain to them the reason for these problems and tell them what you'd like to do to change that. Make sure you explain to them the percentage of time your team spends supporting and fixing live applications. If you're not collecting the data on that, now is the time to start (and collect it for a month before you present the information to the clients).

Get the key stakeholders in a room and say: "do you want X fixed, or do you want Y delivered? We only have time for one of the two." Make them responsible for setting the priorities, and be clear that you have limited capacity. If they ask for something new, ask them what they're willing to sacrifice from their current roadmap to achieve it.

Ask your team what time and resource they need to "put things right" (both in terms of fixing basic bugs, and in terms of fixing bigger issues in code quality/architecture/etc.). Include those items in the list of things that your stakeholders have to prioritize.

The best thing I ever did in my current job was to get the top 8 stakeholders in a room at the same time, and lay out a pile of 16 index cards representing the new features that had been asked for. I stepped back from the table and said: "we can deliver one of these at a time. What order do you want them in?" Let them debate eachother over the business priority instead of you being stuck in the middle.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote