As a Project Manager of an Agile team, my role is to not only make sure my team has what they need to reach an established goal, but also manage the timing of the project itself. In order to plan effectively, I try to anticipate the unexpected, but it's inevitable that at least one thing goes awry. Worse, sometimes something I didn't plan for actually happens. "Slack time" falls into the latter category, and I have learned that utilizing slack time as a valuable tool keeps the project flowing during times of imbalance.
Slack time can be defined as the amount of time a task can be delayed without causing another task to be delayed or impacting the completion date of your project. It happens whenever the flow becomes unbalanced. Typically, imbalance occurs when some team members complete their tasks for the Sprint before the rest of the team. Less frequently, there aren’t enough tasks to keep a team member busy. A number of contributing factors include: a key team member getting sick, an unexpected client request pulls some of the team away, a non-standard feature that requires more research or testing than expected, or tasks being completed quicker than expected (a good problem to have!). Because slack time can occur at any time, it’s important for project managers to keep a wealth of ideas in their back pocket. That way, when these things happen, they can find the right solution to fit the needs of the team and meet project deadlines.
There are two primary factors to consider when determining the best use of slack time on a project. First, you must consider your project goals. You can leverage slack time to work on tasks that will facilitate completion of the project by the designated deadline. Secondly, it is important to listen to your team when they suggest ways to utilize this time. This will remove some of the burden from the Project Manager and also give the team a strong sense of ownership and autonomy.
One common example of slack time is when quality assurance engineers are testing faster than developers can delivery new features. QA can’t pull another task from the queue because it is empty, so they need to find a different task to push the project forward.
In this situation, I encourage the QA team to take this opportunity to refine their test plan or start testing on any other feature that has testable aspects. They can also use this time to help with analysis or development tasks, automate some aspect of their testing or spend time thinking through how to improve efficiency in relation to the overall project. Sometimes I even encourage QA’s to leave early or blow off steam by playing foosball, knowing how hard the dedicated QA team works once their test queue is full towards the end of the Sprint.
Another example is almost the opposite of the above scenario. The quality assurance engineer can become a bottleneck when the test queue is full, which happens when developers are completing features faster than they can be tested. Instead of the QA team having slack time as mentioned before, the developers are the ones experiencing the lag in workload.
The developers I work with have taught me what they prefer to do during this time to remain active and efficient. Since we work in software, there are usually improvements that can be made in the background, i.e.: refactoring or planning a restructure of an application. Otherwise, the developers almost always jump in to help the QA’s execute test plans. I also encourage all teams to help find a way to improve the part of the process that is bottlenecked. In this example, testing could be improved through increased automation or by implementing a code review/code quality process that would reduce the amount of bugs found.
When leveraged to the team’s advantage, slack time can be a good thing. Plan for how to deal with it when it arises in order to maintain balance within your team and project. Think about your project goals, and listen to your team. Keeping these factors in mind, maintain a list of tasks that can be completed during slack time. By properly implementing tasks to occupy your team during periods of slack time, you can use this valuable time as a tool to increase the efficiency of your team.