Do more with constraints: how forcing functions increase productivity

Design your way to better project management

track and field lanes

Niagara Falls has a magnetic pull for both curious tourists and daredevils alike. The swift Niagara River picks up steam as it heads for the three massive waterfalls before falling over a steep 165-foot cliff.

Despite the danger, people can’t seem to stay away from the steep drop. Every year, boaters, kayakers, jet-skiers and swimmers are rescued from the water. Managers of the state-operated power plants at the falls have taken precautions to ensure that people don’t get too close to the edge.

They’ve installed bright, buoyant, weather-resistant barriers. The barriers link up across the surface of the water and divert boats away from the plant’s water intake the same way safety railings prevent park visitors from slipping off the edge of an observation deck. These barriers are examples of what’s called a forcing function.

Safety rails are one are example of forcing functions used to protect park visitors at Niagra Falls.

Creating barriers to increase productivity

Forcing functions create barriers to divert people away from danger and towards desired outcomes.

The Interaction Design Foundation defines a forcing function as:

“An aspect of a design that prevents the user from taking an action without consciously considering information relevant to that action. It forces conscious attention upon something (‘bringing to consciousness’) and thus deliberately disrupts the efficient or automatised performance of a task”

Forcing functions, also known as behavior-shaping constraints, engage our brains so that we think about making better decisions. In product design, these constraints often protect our physical safety. In addition to rough waters, forcing functions appear in cars and microwaves, preventing errors such as shifting into reverse at high speed or exposing ourselves to radiation, and enabling us to drive and cook food respectively.

Forcing functions can be also used as a productivity function for project management. There are many ways to incorporate forcing functions into your next project, but for the sake of efficiency, we’ll focus on three:

  • Partner reviews – peers can catch oversights, offer a new perspective, and critique strategy
  • Dependent tasks – dependencies create more accountability for individual actors and put pressure on deadlines
  • Workflow notifications – with automated updates, people can see what teammates are working on and celebrate wins together

These constraints fit into a larger project management process. Designing thoughtful implementation of each function is the key to boosting productivity, without making people feel like there’s a child safety lock at every turn.

Partner reviews

Working in tandem creates a forcing function where team members nudge each other towards more productivity at work.

Pair programming in software development is a great example. In pair programming, two engineers sit side-by-side at the same workstation and keep a running dialogue about what to code next. The one typing acts as the “driver” and the other acts as the “navigator.” The two can switch roles as many times as they like. While the process is not the fastest method of shipping code, it has proven to deliver around 15% fewer bugs.

Source: Cockburn and Williams, The Costs and Benefits of Pair Programming, 2001

Pair programming has a myriad of other benefits, including:

  • increased code quality – According to the Agile Alliance, “’programming out loud’ leads to clearer articulation of the complexities and hidden details in coding tasks,” making you less likely to make wrong or illogical decisions
  • knowledge sharing – less experienced engineers can learn on a micro and macro level how more experienced engineers operate; on the flip side, experienced programmers question old ways of doing things
  • more creative solutions – when two minds brainstorm together, the arrived-at conclusion will likely be more robust and interesting
  • better focus – when partners rely on each other, motivation increases and they’re less likely to find diversions or miss deadlines

Therefore, partner programming not only catches more errors, but also makes workers more productive in the long and short-term. In this light, reduced expediency becomes a small price to pay.

You don’t have to be a programmer to instill a pairing system. Peer reviews can work just as well. In an agency, for instance, creatives can be each others’ editors and give critiques of work, and account managers can pair up for certain clients.

You can start to see the benefits right away in terms of articulation and focus. Instead of feeling like lone wolves, workers will form packs, leaving ample opportunity for joint brainstorming and validation of ideas. Through regular check-ins with their partners, colleagues will have to show not only their work, but their thinking behind it.

You can use Redbooth’s team meeting template to set up peer reviews.

Within the meeting board, each partner can review action items from the week before, prepare new discussions, and set action items for the next week. To reap the full benefits of partner work, try building the following into the agenda:

  • Constructive feedback about specific tasks with suggested fixes
  • Mini presentations so that partners can share tips and tricks they’ve discovered
  • Brainstorm sessions to discuss ideas for new internal processes or new projects to pitch to clients
  • Casual check-ins so that the one-on-one meeting doesn’t become the only point of contact for the week

The partner review board ensures that the process is well-documented and results-driven. By having a work partner serve as a forcing function, employees can create a productive workflow engine that runs on goodwill.

Dependent tasks

In the succinct words of a Redbooth forum user, a dependency is, “a task that requires another one to be completed before it can start.” Dependencies act as forcing functions because the hierarchy between tasks dictates flow. Connecting dependencies creates an orderly step-based path to project success.

In a project timeline, dependent tasks are given the designation of “parent” or “child.” As the labels imply, child tasks cannot exist without the parent creations.

Often parent tasks are no more important than child tasks, but rather simply must come first. Child tasks are not components of parent tasks, but their successors. This helps you decide whether to create dependencies or subtasks. Subtasks are under the umbrella of a task — a task cannot be complete until all of its subtasks are complete. Parent-child tasks are done successively.

In the example Gantt chart below, child tasks appear to the right of parent tasks.

In a Gantt chart, dependencies are shown with black connector lines.

You can easily tell which are the parent tasks. For instance, the employee in charge of “Storyboard concept” cannot start before the “Client Planning Meeting” because the client needs to approve ideas before they go into production. On the Gantt chart, the employees in charge of the meeting and the storyboard can see the relationship between their two assignments and the order of operations. This can increase communication and reduce the number of hectic, last minute changes to the project plan.

In addition to establishing order, dependencies put more accountability on individual actors to get work done on time. Like with partner reviews, knowing someone else’s performance is linked to yours adds external motivation to push through the final hours of a task.

To plan dependencies effectively, you need to accurately define the project scope. If a task is unwieldy or a deadline is way off, then the dependency waterfall collapses. To come up with realistic deadlines and well-designed tasks, try conducting a postmortem on previous projects and a “premortem” on upcoming projects.

  • Postmortem – Look back at records of old projects and see how the predicted deadlines lined up against actual timelines. Take note of why bottlenecks happened and whether desired metrics were met.
  • Premortem – Imagine you’ve failed the upcoming project. What went wrong and why? What preventative measures can you take to ensure a more successful outcome?

Dependencies act as a forcing function for time management. When dependencies work, they make projects run smoothly from the first step to the final.

Workflow notifications

Notifications can interject positively to prevent team members from going on autopilot with their tasks and steer them back towards shared goals.

When working on independent tasks within a larger project, it’s easy for people to slip into their own worlds and lose motivation to be productive. Notifications show what team members are working on and the results of their efforts. When status updates are visible to everyone, everyone can chime in to lend support and celebrate wins together.

When you create a project workflow, you’re also setting up a communication framework. Because no one likes to be pestered by excessive pings and buzzes, each communication has to add value and only take as much attention as necessary. When communications are automated, consider how to make life easier for both the sender and the recipient.

Project management software often comes equipped with adjustable notification settings. A few examples of automated communications you can implement in your workflow are:

  • Deadline reminder – when a due date is approaching, a gentle reminder to wrap things up
  • Moved deadline alert – when a timeline has been shifted, a note to plan accordingly
  • Personnel alert – when people are added or removed from projects, an easy way to let others know
  • Delivery alert – when a task or project has been completed, a cause for celebration

Of course, we’re leaving out general updates — when any element of a workspace is changed. Usually this is only useful for the project manager. You don’t want to risk cluttering inboxes or worse, inundating people so much that they start to ignore messages.

Redbooth has several options for customizing email, desktop, and Slack notifications. A delivery alert from Redbooth to Slack looks like this:


Thanks to the notification, teammates can encourage each other and keep track of progress.

In a transparent notification system, teammates can stay in the loop just enough to boost, rather than hinder productivity. In turn, everyone can take pride in great work together.

Clearing the barriers to better work

The last thing employees want is more hurdles to jump over and a sense that every move is being monitored. With forcing functions, you have to let people know why these systems are in place before you can implement them — otherwise, it looks like babysitting. Getting the whole team on board with your accountability measures, and allowing for some flexibility in the way each tactic is applied, will make sure that these “barriers” are not really barriers at all, but guiding forces to steer your project toward the finish line.