In Praise of Constraints

Peter Saddington is an Agile coach and certified Scrum Trainer, who is on my short list of preferred Agile thinkers. He blogs at Agile Scout, and is the author of “The Agile Pocket Guide.” Peter posted an interesting article on removing constraints over at Agile Scout earlier this week. In it, he says:

Removing constraints to delivery will allow speed of delivery to increase, but not for the sake of speed. Speed becomes an outcome of the removal of constraints.

Well, that can be one outcome. But there can be others. The trick is to remove constraints that impede the goals of the business, without adding risk or reducing quality.

Knight Capital – Deployment Constraints

On August 1, 2012, market maker Knight Capital deployed an untested software configuration to a production environment. The cause? A technician forgot to copy the new Retail Liquidity Program (RLP) code to one of their eight production servers, which were Knight’s automated routing system for equity orders. When released into production, Knight’s trading activities caused a massive disruption in the prices of 148 companies listed at the New York Stock Exchange, resulting in 4 million executions for more than 397 million shares in approximately 45 minutes, at the wrong price. Losses for the day cost Knight Capital far more than their market capitalization (which fell dramatically by the end of the next day), and the company was acquired a few months later.

Firefly – Process Constraints

Firefly RestaurantThe best restaurants are run not to optimize throughput (unless you’re a big fan of drive-through windows), but to optimize the dining experience. That’s why they operate under process constraints for everything from cleanliness to the temperature at which food is stored. Small changes in a restaurant operation can make a huge difference in the dining experience, for better and for worse. When a stressed-out employee at a tapas restaurant here in Las Vegas called Firefly decided to minimize the time for his bathroom break by not washing his hands, about 300 customers got very sick with Salmonella. John Simmons, Firefy’s Head Chef, later said, “We’ve hired a food safety consultant with over 30 years of experience to double and triple check our methods and we’ll operate in the mode of continuous improvement, constantly upgrading our practices with new technology, new methods, and additional training.” In other words, applying constraints to the food preparation process. They’re still in business at a different location, but revenues have not recovered.

Mindfully Managing the Process

Some constraints can and should be removed, as part of maturing the process; others should be added, as part of the same maturing. Mindful management frequently reviews and tailors the process to optimize for the desired outcomes, usually with the active participation of the people doing the work. Mindless management does … well, other things. If your management is doing other things, maybe you need to find a better organization.

Image of Firefly restaurant copyright Las Vegas Sun, 2013.

Adding a Negative Total Slack Flag to MS Project

An improved version of this article is included in my free e-book, MS Project Hacks. Download the book and a sample MS Project file here.

As you know, the critical path is the sequence of scheduled activities that determines the overall duration of the project. However, not all tasks are part of the critical path. The concept of slack time, also called float time, comes from the fact that some tasks can be performed sooner or later in time without impacting the finish date of the project. These tasks have an earliest possible start and a latest possible start, as well as an earliest and latest finish. The difference between the early and late finish dates is called the Total Slack. For tasks that are not part of the critical path, this is usually a positive value; for critical path tasks, it is should be zero. But that’s not always the case.

Setting Schedule Constraints

When planning or updating a project schedule, one of the most useful capabilities of Microsoft Project is the ability to set scheduling constraints. While most tasks will likely use Task Informationthe default, “As Soon As Possible,” there are times when a task has a constraint such as a required start or end date. When you set up a task with a fixed end date, you’ll go into the Advanced tab of the Task Information window, set the Constraint Type to “Finish No Later Than”, and enter the date.

Project will then apply that constraint, to determine whether you can actually meet that date with your current plan. If you’ve defined non-working time in your Standard calendar, specify it in the Calendar field. This will allow the scheduling algorithm to respect holidays. If the date math doesn’t work out, one or more tasks will have a negative Total Slack, which means that you won’t be able to finish by the required end date. In such a situation, it would help to have a flag that identifies tasks that have to be adjusted, in order to respect your constraints. Here’s how to add such a flag to your MS Project plan.

The Negative Total Slack Flag

Custom FieldsRight click on the column where you want to insert the status indicator. Click “Insert Column” and then select Flag 1. Right click on the newly inserted column and select “Custom Fields.” From here, you can rename the field (I chose “Sched” to keep it brief). Then under Custom Attributes, click on the radio button for Formula. You’ll get a warning message; that’s fine, because you really do want to calculate the values.

Then click on the Formula button, and paste in the following:

IIf([Total Slack]<0,True,False)

The Flag field contains a True or False value. Formula for SchedThis formula will calculate the field to be True when Total Slack is less than zero, so we can display our flag. Click OK, and then click on the Graphical Indicators button. This is where you choose the image to display.

Graphical IndicatorsYou really only need to define an image for the True value, and only for the Nonsummary rows. This will cause the flag to be visible only in the detail rows, where you can actually make schedule adjustments that will resolve the problems. Once you have chosen the image for your flag, click OK.

Your project plan should now look like this:

Project ScheduleTasks 1, 6, 7, 9, and 10 are flagged because they are on the critical path, and the total of their individual durations is greater than the number of work days between the project start date and the constrained end date. Note that the Total Slack calculation uses the Standard project calendar, so it only considers working days. If you have a holiday coming up, it takes that into account. Changing the duration of these critical path tasks, or changing the relationships between them to take one of them off the critical path, will change the total slack. When all of the flags are cleared, you have an achievable plan to get to your required end date.

Give it a try, and leave a comment if you find it useful, or find a bug, or think of an enhancement.

New PM Articles for the Week of November 3 – 9

Balloon Over the MoonNew project management articles published on the web during the week of November 3 – 9. We give you a high-level view so you can read what interests you. Recommended:

PM Best Practices

  • Gary Nelson presents an interesting case study in cost-benefit analysis.
  • John Goodpasture offers low-cost definitions for a couple of ten-dollar words used by risk management thinkers – epistemic and aleatoric.
  • Matthew Squair offers an intriguing (if slightly nerdy, even for me) example of trading one risk for another.
  • Mike Clayton notes that power is fragmented across most organizations; thus, the need to influence.
  • Bruce Harpham exposes ten sources of project conflict, and a few statistics that put workplace conflict in perspective.
  • Andy Jordan reports from the PMI Global Congress in Phoenix. It sounds like we should plan to go to the one in Orlando, next October.

Agile Methods

  • Mike Cohn concludes his series on velocity-driven versus commitment-driven sprint planning, by explaining his preference.
  • Pawel Brodzinski explains the Kanban approach to portfolio management. “WIP limits … underscore available capabilities as a scarce resource.”
  • Chuck Snead makes the case for creating a project charter as part of Sprint Zero and walks us through the process.
  • Shawn Dickerson advocates for the marriage of Agile methods with a Waterfall approach.
  • Satyajit Sarangi shares some ideas for applying Lean concepts to your practice of Scrum.
  • Cornelius Fichtner interviews Dave Cornelius on his new program, teaching high school students Agile methods as life skills. Just 12 minutes, safe for work.

 Book Reviews

  • Elizabeth Harrin reviews Thomas P. Wise’s new book, “Trust in Virtual Teams,” a guide to explaining and building trust … well, you get the idea.
  • Henny Portman reviews Rod Snowden’s book, “MSP Survival Guide for Business Change Managers,” where MSP = “Managing Successful Programmes.”
  • Michel Dion summarizes Susanne Madsen’s upcoming book, “The Power of Project Leadership.”
  • Toby Elwin reviews Warren Berger’s new book, “A more Beautiful Question: The Power of Inquiry to Spark Breakthough Ideas.”
  • Glen Alleman shares a list of books on estimating software projects.


  • Peter Saddington casts a dubious eye on “Recruiting 3.0” as described by Ron Thomas. The quality of user-generated content does not predict job performance.
  • Teena Hammond shares the results of a survey of IT decision makers, in an attempt to predict which of the emerging trends will actually matter.
  • Joe Panettieri reports on the relatively disappointing ROI of Big Data projects. Well, it took heavier-than-air flight a while to become commercially viable …
  • Jelani Harper explains the concept of “Data Lakes,” and why it might be a good fit for organizations with a disciplined approach to data governance.

Professional Development

  • Coert Visser reinforces the idea that coaching is not about the coach, and you don’t have to understand the subject matter in order to be an effective facilitator.
  • Suzanne Lucas summarizes results of a survey by recruiting software house iCIMS that confirms recruiters and hiring managers are not communicating very well.
  • Cheri Baker observes that, as small companies succeed and grow, many of the long-term employees grieve for their old culture.
  • Alina Vrabie suggests some strategies for the introverted leader.