DEV Community


Posted on

In Need of Advice: How Do You Manage A Large Backlog of Tasks?


In July I started my first job outside of college in the software world. The company I am working for is pretty small and focuses on building web applications for different clients. We have a limited number of human resources when it comes to filling roles required for each of these projects. When I first joined I was put onto a project underneath a single individual who took on the roles of Senior Backend Developer and Project Manager. There was also another guy working solely as the Front End Developer.

After one month of learning the ropes and getting the hang of working on the project both of my project members quit. It was good timing for them because we were between phases and not much important work was taking place. Very quickly the burden of the other two was shifted to me and the company's Chief Technical Officer. For the first couple of months, I was flying to meet with clients, thoroughly testing the first phase of work, and implementing necessary bug fixes. I discovered the majority of the phase one work had not been tested, was not working, and needed to be refactored. After many long sleepless nights, I was able to fix the majority of issues. During the middle of this, the client decided to move into phase two of the project.

Project Status Today

  • We hired two new people who are now working under me; a Front End Developer and a Data Engineer.
  • There is a growing backlog of items from phase one as well as the new phase two items.
  • I am having to function as a "Scrum master?", project manager, and software engineer/developer.
  • The client is growing more and more unhappy as time goes on.
  • My time is split between managing our TFS stories, training the two new individuals, organizing meetings between three separate teams, and working on the backlog of tasks.

Is there any advice from people who have experience managing projects while also working as a developer? I have 0 experience when it comes to this so it feels like the world is on fire around me. I am naturally a follower type so taking charge is very foreign to me.

My questions:

  1. Are there any cloud platforms for filesharing, knowledge transfer, and task management in one?
  2. From a Scrum point of view what are the most important exersises to keep on top of tasks.
  3. How do you prioritize tasks when you have different people/teams demanding their things get done first?
  4. How do you estimate delivery dates?
  5. Considering my lack of experience is it too soon to ask for a pay raise?

Top comments (3)

ingig profile image

this is what we do in our team

  1. anybody in the company(client) can create task, they own it and are responsive for it. sometimes I ask for more details sometimes don't need to.
  2. we the programmers team estimate time(we use points) on each task on daily.
  3. each Friday I meet with client(everybody in the company can come to meeting), they can see the backlog (currently at 280 tasks and about 800 points)
  4. our task list for next week can take 30 points(3 programmers),
  5. client chooses the tasks for next week filling up 30 points

This has many benefits :

  • this moves the responsibility of prioritizing tasks from you to the client
  • they can see how long your backlog is
  • they get a feeling how long it takes to do stuff
  • they are no longer unhappy, they become very understanding
  • if you keep to the weekly list, they start to respect it and don't add features in middle of week
  • if they insist on adding task, another task from this weeks plan need to be removed
  • only time YOU choose tasks into next week, are critical operational tasks
  • since you define how much time they can fill up, make sure to leave time for refactoring, cleanup, learning or what ever stuff that the client doesn't see straight benefit of
  • when somebody asks, "when will feature X be available", I can say, "show up on Friday and try to get it in", this removes a lot of pressure
shiroihana013 profile image

Thank you I find that helpful. The first week of December the client flew down and we had a massive discussion talking about the direction the project needs to go, goals for short and long term, and discussing what communication points need to be improved. We have daily stand up meetings and bi weekly steering meetings. Those are incredibly valuable.

I do like the idea of assigning points and having a set amount to tackle per week.

ingig profile image

points are also good for the business, this will allow the business to estimate cost of a task

let's say each developer take 10 points per week and each developer costs 1000$,this will help them prioritize, it's now easy for them to calculate the cost of a task

we've had few tasks that take a long time, that would have been pushed through without much thought, but seeing the cost allowed them to see what other tasks are important

we have 1,2,4,8,16 points,
anything that is 8 or 16 points needs to be broken up into multiple smaller tasks.

1 and 2 point tasks are usually good estimation, this can be 1 hour to 1-2 day tasks

4 points are more unknown and they can take 2-4 days

8 points, are to big to really know, 2 devs should sit down and define into multiple tasks

16 points, this can take weeks to do and need very good definition with business, we allow us to take 1 week to define this task, sometimes needing to talk with different departments, it's then put into the plan week after

the points estimation is mostly just a feeling, but with experience comes better guessing