Charlie Alfred’s Weblog

Complexity-Driven #3

Complexity-Driven Development – Part 3


About a month ago, I published the first two articles in a set of four on complexity-driven development.  This article is the third in that series.  The goal of this article is to describe, in some detail, a real-world problem to be the subject for an application of this process.  The fourth article will use this case study to show how the concepts and processes discussed in the first two articles can be applied to this problem.

For maximum benefit, I urge you to treat Part 3 as an exercise for the reader.  Apply the techniques discussed in Part 2 to this problem.  Try to discover the key complexities in the deployment, technology, and work management areas, identify the consequences of these complexities, then identify and prioritize a set of challenges.  For extra credit, try to formulate a set of architectural approaches that address and reconcile these challenges.

The real world problem that we are using comes from the transportation and logistics domain: an automted system to help improve local area pickup and/or delivery operations.  This particular problem space makes for a very rich example, because:

·       Most readers will have had some prior exposure the industry, either as shippers or receivers of shipments.

·       As a result, there are several readily apparent complexities, such as, “How does UPS or Fed Ex manage to guarantee delivery of all of those overnight letters by 10:00 AM?”

·       But, there are a significant number of non-obvious complexities.

·       Finally, this problem highlights how various deployment contexts have different perspectives on the same fundamental problem.

The rest of this article is divided into the following sections:

1.     Problem Overview – brief review of scope and characteristics

2.    Environmental Forces – shape the problem and span contexts

3.    Contexts – customer archetypes with distinctive sets of concerns, obstacles, priorities, and expectations.

Problem Overview

The scope of this problem is local-area ground transportation of goods.  This also means that we are excluding certain things from our scope:

·       No transportation of people, exclusing taxi cabs, busses, and limosine services.

·       No point-to-point pickup and delivery, as in courier services.

·       For now, we are excluding the U.S. Postal Service’s First, Second, and Third Class mail operations.

Here are some statements we can make about what is in scope:

·       Drivers deliver shipments to recipients and also may pickup shipments from shippers (for delivery to an arbitrary location).

·       Drivers operate vehicles of various shapes and sizes to pickup and deliver their shipments.

·       Drivers operate out of a central location, where they begin and end their work day.  In others words, there are no overnight stops.

·       Shippers and recipients may have service windows, time restrictions on when they can accept deliveries or pickups.

Shipments can involve any type of physical good that is economical to ship.  These items can vary in bulk (cubic feet), weight, and length.  They could be overnight letters, books, water cooler containers, computers, or HD television sets.  They might be individual items, or a group of items stored in a pallet.  Shipments might weigh as little 1-2 ounces, or as much as 10-15,000 pounds.  Extremely heavy shipments require special equipment, such as loading docks, fork lifts, or trucks with lift gates.  Other shipments may require other types of special handling, such as those that are fragile, or poisonous.

You probably are familiar with three types of transportation companies that fall into the scope we defined above:

1.     Less Than Truckload (LTL) freight carriers.  You may have noticed trucks belonging to Yellow Freight, Roadway, and ABF on local streets and highways.  The company you work for may use one or more of these companies to ship products or receive parts.

2.    Overnight carriers.  Everybody who reads this has used Fed Ex, UPS or DHL to send or receive a parcel or overnight letter.

3.    Captive delivery.  The businesses that fall into this category deliver their own goods to businesses and residences on a periodic schedule.  Drinking water companies, such as Poland Springs, Culligan, and Alhambra are a good example.

Environmental Forces

Environmental forces are uncontrollable enablers and constraints that drive the problem space.  These forces are pervasive, and operate at multiple levels, including both the system we seek to build and the contexts in which that system will be used.

Key Value Expectations of Typical Customers

Customers of a common carrier include both the shipper and recipient.  For a captive delivery fleet, purchasers of the product being delivered are the customers.

Because transportation is a fairly basic service, customer expectations typically involve some combination of:

·       Convenience – how much effort do I need to expend to ship something or receive it?

·       Urgency – how quickly is the shipment delivered?  It isn’t much use (or may not be paid for) until it arrives.

·       Reliability – how frequently is the shipment picked up on time and delivered on time, and in the same condition it was shipped?

·       Cost – how expensive is it to ship something?

Inherent Constraints

Transportation is a service that is driven by geography and the time required to traverse it.  There are a number of constraints that affect all types of carriers:

1.     The number of pickup and delivery stops and their geographic distribution.

2.    Physical barriers, such as rivers, mountains, lakes, or airports

3.    Governmental constraints, such as tolls, one way streets, parking restrictions, or vehicle weight limits.

4.    The number and size of trucks and trailers and their capacities for weight and cubic space.

5.    The number of vehicle with special equipment (e.g. lift gates) relative to the number and location of customers who need them.

6.    The volume of goods to be transported and how this relates to both vehicle capacity and geographic distribution.

7.    The number of drivers and limits on the number of hours that they can work.

8.    Times of day that pickup and delivery customers are willing to accept deliveries or pickups.

Motivating Forces for Carriers

Most carriers tend to be driven by some balance between:

·       Productivity  – A simple measure of productivity is work completed per mile driven.   Work completed is typically some function of the number of stops and the size of the shipments.

·       Service Quality – Service quality is measured by the percentage of stops that are picked up or delivered on the promised day, within the customer’s service window, and are not damaged or lost.

·       Cost – Some costs, such as driver compensation and benefits vary by hours worked.  Other costs, like fuel, maintenance, and vehicle depreciation vary by miles driven.  Other costs, like management compensation and terminal operating costs are fixed overhead.

The biggest opportunity to improve comes from reducing the total number of miles driven.  Drivers are productive when they are at customer locations picking up or delivering shipments.  Driving is a necessary evil, caused by the fact that customer locations are spread out geographically.   The two primary determinants of total miles driven are:

·       Decisions about which stops are assigned to which drivers

·       The sequence in which stops are driven

To make matters worse, both determinants are driven by combinatorial variation.  For example, starting with 300 stops (a small set), there are over 1 x 10^37 possible ways to allocate 15 stops to the first driver, and there are 1.3 trillion ways to sequence those 15 stops.  While an overwhelming majority of the possible solutions are patently ridiculous, this still leaves a vast number of reasonable alternatives.  In addition, the effectiveness of the 10th and 90th percentiles has a huge spread.

These two determinants, in turn, are influenced by several sub-factors.  Many of these sub-factors are context-dependent, and will be discussed in more detail when we discuss the three contexts for this example.

Customer Contexts

As mentioned above, we will consider three different customer contexts in this example.  Each context represents a different perspective on goals, pain points and priorities.  Depending on how similar or different these contexts are, our system will either:

·       Focus on some at the exclusion of others

·       Try to span all three using a “one size fits all” solution

·       Seek to serve the specific needs of each context by using a product family approach

LTL (Less Than Truckload) Trucking

The defining characteristic of an LTL Trucking company is that they specialize in shipments weighing between 50 and 10,000 pounds.  Smaller shipments are generally handled more efficiently by overnight carriers.  Larger shipments are usually transported point-to-point by a TL (truckload) carrier.

Current State

LTL firms are freight consolidators.  They pick up freight at the shipper’s location, transport it to a local area terminal.  From the local-area terminal, shipments are handled by the linehaul operation  Freight is loaded into trailers which are driven to breakbulk facilities.  Here the shipments are loaded into trailers, sorted by delivery terminal, and driven to that location in time to be loaded onto delivery routes for the upcoming day.

LTL terminals are typically located in an industrial area near a city.  Their service area will include locations that fall within a 40-60 mile radius around the terminal (about 2500 square miles).  Per day, they usually handle about 250-1200 delivery stops and 50-300 pickup stops.  This works out to about 20-25 stope per driver, or 15-60 drivers.

Constraints and Pain Points

LTL companies usually use two types of trailers.  The 48’ trailer holds 45,000 pounds or 3,500 cubic feet. The 28’ trailer holds 25,000 pounds or 2,000 cubic feet of freight, whichever limit is reached first.  In most states, the 28’ trailers can be pulled in tandem, doubling the capacity.

Due to the combined weight of the tractors and trailers, city and state ordinances often restrict the roads that these vehicles can use (e.g. overpass height or bridge weight limits).   In addition, all of the traffic conditions that limit all vehicles also apply to LTL trucks, such as: turn restrictions, one-way streets, construction, traffic congestion, and tolls.

A typical daily operational cycle for an LTL terminal looks like this:

·       The AM dock operation runs between 1-7 AM.  Shipments from inbound linehaul trailers are transferred to local delivery trailers.

·       Drivers are on road between 7AM – 6PM making pickup and delivery stops at customer locations.

·       The PM dock operation runs between 6-10 PM.  Pickup shipments are unloaded from the local driver’s trailer and consolidated onto outbound linehaul trailers.

Some important additional constraints are imposed by the customer.  While some customers accept pickups and deliveries any time during normal business hours, others have restricted service windows.  One example might be no pickups or deliveries between 10 AM and 2 PM.  Another might be no pickups before 4 PM.

Another important constraint derives from the size of the shipment with the physical nature of the customer’s location.  Shipments with pieces weighing over 200 pounds cannot be lifted by a driver.  These shipments require that the customer have a loading dock (so that the floor of the dock is level with the bed of the truck), or require that the truck be configured with an automated lift gate.

Finally, there are a number of additional factors that constrain the ability of the dispatcher(s) to assign work to drivers and sequence it:

·       Two interdependent time-consuming activities, delivery routing and scheduling and delivery shipment loading, must overlap because there is not enough time to run them sequentially.

·       The AM dock operation effectively dictates which drivers deliver which shipments.  Once a shipment is loaded onto a trailer, it is very expensive to move it.

·       There is a great deal of uncertainty surrounding pickup stops.  Regular customers have scheduled daily pickups, but the size of the shipment each day may not be known.  Occasional customers call in for a pickup request, but may not call until late in the day.

·       PM (pickup) dispatchers need up to date knowledge of the current locations of their drivers, the work they have completed and which stops remain.  They must factor in the proximity of the pending pickup stops, the time needed to complete the pickup, and the customer’s service window.

Desired Future State

There are three main ways that LTL local area terminals would like to improve their daily operations:

1.     Improved efficiency in driver routing and scheduling, as evidenced by work per mile and work per driver.

2.    Better ability to manage the AM dock operation to deal with daily and seasonal fluctuations in shipment volume and location.

3.    Improved efficiency and reduced service failures in the PM dispatching operation.

For each goal, there are several desired capabilities to enable them:

1.     Improved efficiency in driver routing and scheduling, as evidenced by work per mile and work per driver.

·       Balance driver workload subject to service area knowledge and stop constraints

·       Accurately estimate travel time, accounting for constraints (congestion, construction, restrictions)

·       Sequence driver stops to minimize travel time, subject to service windows and other constraints

·       Estimate the length of each driver’s day to avoid overtime

2.    Better ability to manage the AM dock operation to deal with daily and seasonal fluctuations in shipment volume and location.

·       Know today’s inbound linehaul shipments by Midnight

·       Easily determine map locations of stops/customers by address

·       Identify efficient delivery sequence to guide freight location

3.    Improved efficiency and reduced service failures in the PM dispatching operation.

·       Identify the current location of each driver

·       Track what stops driver has completed

·       Assign pickups to drivers to balance efficiency and service

·       Respond to and replan for unexpected events (delays, breakdowns, late service requests)

LTL Summary

The LTL local area operation problem is rife with the complexities of physical constraints that are easy to visualize, but more difficult to manage.  A geographic area, about 1500 square miles in size is served by approximately 30-40 drivers.  The average driver makes 20-25 delivery stops and 5-10 pickups during the course of the day.

AM dispatching begins at about 10 or 11 PM, when the dispatcher learns which linehaul shipments are inbound to their terminal.  Delivery work must be assigned to driver routes and sequenced so that dock workers know where each shipment goes (which trailer and location in the trailer).  Customer delivery service windows and special equipment requirements must be considered carefully.

Once the drivers leave the terminal building to begin deliveries, the PM dispatching operation begins.  Pickups come from both regular shippers and occasional ones who call-in to request service.  In general, pickups need to be made after deliveries.  As a result, PM dispatching is a reactive operation, that depends on how smoothly (or not) the delivery operation runs.

Cost and service reliability are the two big drivers, and they often pull in opposite directions.  Dispatch decisions have combinatorial complexity, and often must be made without much time to contemplate alternatives.  Furthermore, the cost of a bad decision is usually fairly high.

Overnight Parcel

The overnight parcel business should be the most visible to all readers.  UPS, Fed Ex, DHL, and other similar firms in this industry were already very visible in the mid-1990’s.  Then, in the late 1990’s, the explosion of, Ebay, and other Internet-based e-commerce vendors caused this business to experience unprecedented growth.

Overnight parcel companies are similar to LTL companies in that they operate local-area pickup and delivery operations from a central terminal.  Delivery shipments arrive from a nationwide distribution network and are loaded onto driver’s trucks.  Drivers make delivery and pickup stops at customer locations, and return to the terminal with their pickups.  These shipments are fed into the nationwide distribution network, and the cycle repeats.

However, as we shall see, overnight parcel companies are quite different from LTL companies in several ways.

Current State

Overnight carriers specialize in high-urgency, high-reliability parcels.  This usally means overnight or two day delivery for packages and letters.  The industry is extremely competitive, as evidenced by 10:00 AM next day guaranteed delivery and Fed Ex’s successful advertising campaign,  “When it absolutely, positively, has to be there overnight.”

Overnight carriers specialize in smaller packages, typically weighing under 100 pounds and having restricted length and girth. [1]  While the service territory of a local area center will typically be somewhat smaller than that of an LTL terminal, the stop volume can be 10-20 times larger (i.e. 6,000 – 15,000 per day vs. 300-1500).  This translates both into many more drivers (4-5x) and a big increase in stops/driver (4-5x).

Depending on the city, the service territory for an overnight carrier might be the same size or smaller than that of an LTL company (i.e. coverage of outlying rural areas).  A side effect of larger stop volumes and smaller territories is that overnight carriers have significantly higher stop densities (i..e stops per square mile) than their LTL cousins.  

Due to the smaller size packages, overnight carriers can use smaller vehicles (about 650-700 cubic feet) and consider a hand truck to be special equipment.  In spite of the higher stop volumes and smaller vehicles, capacity constraints are rarely an issue.

Overnight carriers generally use air transportation to and from a single sorting facility for their nationwide distribution network.  As a result, many local area terminals of overnight carriers are located nearby a major airport.  Some carriers, like UPS, use ground transportation for less urgent shipments, where the origin and destination are located close enough to each other.

Constraints and Pain Points

Several factors significantly affect the daily operation of overnight carriers in ways that differ from their LTL cousins:

1.     Different service levels can make it more difficult to assign work to drivers and sequence their routes.  Consider two challenges:

·       25-30% of customers elect to pay the premium for 10 AM guarenteed delivery.  However, what if their locations are not well-clustered geographically?

·       60-70% of customers elect to pay the premium for 10 AM delivery.  To meet the service window, more drivers may be needed than is required to handle the remaining work.

2.    The higher stop density reduces the cost/time impact of a sequencing mistake.  In an LTL context, servicing a stop in the wrong order could add 5-10 miles of drive time.  For an overnight delivery driver, the penalty might be 10-20% of that.

3.    However, because of the increased number of city locations, there is a much greater sensitivity to traffic constraints, such as side of street, one way streets, and restricted turns.  Due to lower stop densities, these factors generally have little effect on LTL route sequences, leaving drivers with knowledge of the area to make the necessary driving adjustments.

4.    Overnight carriers handle much higher daily stop volumes.  As a result, the central limit theorum says that the larger numbers will tend to result in more predictable workloads in both workload and location.  This means that overnight carriers can do more periodic planning with smaller daily adjustments, while LTL carriers are more driven to plan for each specific day’s work.

5.    Variation in daily pickup volume.  A high percentage of customers have scheduled pickup stops with regular (usally daily) frequency.  While this tends to enable some pre-planning of pickup routes, there are four factors that work against this tactic:

·       The amount of time needed for a driver to complete their delivery work can vary from plan, due to traffic congestion or unexpected stop time.

·       While overnight carriers have more physical flexibility to intermix pickup and delivery stops, most pickup stops are not ready until significantly after deliveries must be made.

·       While regular customers have predictable frequency, the size of their shipment can vary.  Although this does not usually cause problems with vehicle capacity, it can affect driver stop time.

·       Called-in requests for pickups (by less regular customers) can have daily variation in both quantity and location.  The later in the day these requests occur, the more problematic they are.

6.    Communication between PM dispatchers and drivers is critical.  This is driven by a combination of several factors: number of drivers, quantity of pickup stops, and service window constraints for pickups.  While these same factors affect LTL operations, each is more severe in overnight carrier operations.

7.    Inavailability of Wireless Radio Frequencies.  Most overnight carriers rely on two-way radios to permit dispatchers to communicate with drivers.  Unfortunately, these communication frequences are limited, and overnight carriers are discovering that they cannot acquire frequencies more in certain cities.  This either means a wholesale replacement of this technology (expensive), or a piecemeal operation, where dispatchers must communicate with different drivers in different ways.

8.    Potential Need for Multiple Dispatchers.  In large operations with 100 or more drivers, it may not be possible for a single dispatcher to control the entire PM operation.  However, when multiple dispatchers are used, and the territory is split into multiple areas, coordination issues between dispatchers can occur, especially along the boundaries.

Desired Future State

There are several things that overnight carriers want in the future:       

1.     Operational flexibility, especially if it can lead to a competitive advantage in this very competitive market.

2.    Efficiency gains.  Carriers want more stops per mile and less wasted driving, especially for pickups.

3.    Improved communication and coordination between dispatcher and driver.  This is a very important need, especially considering the constraints on wireless radio frequencies.

4.    Continued reliability improvements.  Carriers want increased reliability especially for meeting delivery and pickup times

Overnight Carrier Summary

Overnight carriers focus on the transportation of small, urgent parcels: specifically printed documents and small packages.  The industry is very competitive, especially regarding urgent service (10 AM guarantee), the reliability of service (absolutely, positively on time), and shipping cost.

Like LTL carriers, overnight carriers run pickup and delivery operations within 40-50 miles of their terminal.  Unlike LTL carriers, overnight carriers may have 10-15 times as many stops per day and 2-3 times as many drivers.

As a result of these differences, the nature of the challenges in the daily operation changes:

1.     Emphasis on urgent service (10 AM delivery) can create some inefficiencies in delivery operations.

2.    Greater concentration of locations in urban areas makes traffic constraints, such as one-way streets, same side of street, traffic lights and turn restrictions become much more significant.

3.    Higher stop densities mean lower impact of dispatching errors.

4.    Higher stop volumes tend to reduce day-to-day variations in volume and geography.  This implies that advanced planning can be more effective.

5.    Communications between dispatchers and drivers, especially in the PM pickup operation is essential.  Operational effectiveness depends on the right choice of communication infrastructure.

6.    Large operations with many drivers and multiple dispatchers can lead to coordination issues.

Embedded Delivery Fleets

Embedded delivery fleets are operated by companies that need to deliver their product to customer locations.  Examples of this context include bottled water distributors, resturant supply companies, uniform supply and cleaning firms, and beer/beverage distributors.

Generally, these companies justify investment in an internal fleet on:

·       Company employees have customer contact at the delivery site.

·       Better control of service quality than if deliveries were outsourced to a common carrier.

·       Enough customers and orders to justify an internal delivery fleet.

The main difference between this context and LTL/overnight carriers is:

1.     The customer relationship is different.  Companies sell directly to their customers.  The embedded fleets make the deliveries.  By contrast, common carriers have a third party relationship to their pickup and delivery customers.

2.    Embedded delivery operations are delivery only.  When pickups do occur, they usually involve returning empties (bottled water or beer kegs) or dirty laundry (uniform service).

Current State

Internal fleets typically share a location with the operation that supplies the goods that they delivery – either a warehouse or processing plant.  Most internal fleets are cost centers, not revenue generators.  As a result, these operations are often under considerable cost pressure.

 The number of drivers (and vehicles) depends on several factors:

·       The number and geographic distribution of customers

·       Product size, which drives how much vehicle capacity is used.

·       The shelf life of the product

·       The ability (and willingness) of customers to store inventory.

Typically, companies with embedded delivery fleets are able to arrange regular delivery schedules with their customers.  This is especially true when the product is not perishable or has a relatively long shelf life.  Scheduled deliveries enable these fleets to smooth out the daily volume fluctucations that frequently challenge LTL and overnight carriers. 

The ability to arrange regular delivery schedules typically results in very high stop density, often signifcantly higher than overnight carriers.  For example, imagine what would happen to UPS or Fed Ex’s stop density if they had the ability to say that they only deliver in your neighborhood on Fridays.

Constraints and Pain Points

Embedded delivery fleets face a different set of contraints and pain points from common carriers, like TLT and overnight carriers.

Unlike common carriers, embedded delivery fleets are much better able to predict daily delivery orders ahead of time.  While this facilitates advanced route planning and simplifies the loading operation, it has its own issues.  First, special orders (especially large ones) can disrupt the routine.  Second, since the product comes from the same company, manufacturing or processing exceptions can disrupt the delivery operation.

As mentioned above, drivers are often salespeople or customer service representatives.  This has two consequences.  First, it is important for drivers to have repeat contact with the same customers, to help build a personal relationship.  However, this can overconstrain the routing and scheduling operation, and lead to significantly increased delivery costs.  Second, drivers may need to take customer orders, and this raised the question of how these orders should be communicated – at the time of order or at the end of the route.  This can be an important question if the product has limited supply or a long manufacturing lead time.

When embedded delivery fleet drivers do not function as salespeople, the operation is often seen as a cost center, rather than a profit center.  As a result, these operations are under significant pressure to improve productivity and reduce costs.  Doing this without compromising service quality and reliability is a big challenge.

Service windows remain a big issue, as they are with LTL and overnight carriers.  Consumers may not be home at certain times to accept delivery.  Retail establishments don’t want deliveries to disrupt their busy operating periods.  Finally, powerful customers often have the ability to dictate or strongly influence delivery schedules.

Desired Future State

Key improvements that embedded delivery fleets desire include:

1.     The ability to automate advanced planning of their upcoming delivery routes.  This includes:

·       Adjusting driver routes to make significant reductions in miles driven and reduce the number of drivers required.

·       Determining how to adjust regular routes to accommodate seasonal fluctuations in shipment volume.

·       Determining when delivery efficiencies can be gained by asking certain customers to change their scheduled delivery date.

2.    The ability to automate order entry by drivers in the field, with the ability to check inventory and notify customers of special promotions.

Embedded Delivery Fleet Summary

Embedded delivery fleets are fundamentally different than common carriers.  They are owned and operated by the company whose products they deliver, and they tend to be delivery-only operations.

Embedded delivery fleets often can create regular delivery schedules for their customers and routes for their drivers.    This is especially true when the product has a sufficiently long shelf life and the cost of carrying inventory is not high.  As a result, their need for daily routing and scheduling is lower, but their need for periodic planning is higher.

Embedded delivery fleets either view their delivery drivers as salesmen and expect them to take customer orders, or they view them as an expense and strive to reduce costs.


Now that you have read this description of the local-area transportation problem, you should be ready to apply the complexity-driven method described in the previous article.  This article explores complexities in the deployment environment, and illuminates some complexities in the technical environment.  You can use your own imagination to picture the development team and work management complexities that result.

Once you identify a list of key complexities, evaluate the consequences of different levels of success in handling each:

·       What good can come from handling the complexity well?

·       What harm results if the complexity is ignored or handled poorly?

·       What is the expected consequence if a merely adequete job is done to address the complexity?

At this point, the challenges you identified need to be prioritized.  This is easier if all of your consequences are quantifiable.  If not, you either must attempt to quantify the ones that are not, or use a subjective criterion.  Ether way, this list of prioritized challenges is the foundation for your system architecture.

Have fun with the exercise and good luck!

[1] The 100 figure here is intended as a rough guideline.  For example, UPS accepts packages up to 150 pounts, but applies a heavy package surcharge to any package weighing more than 70 pounds.  For details, refer to

1 Comment

  1. […] Complexity-Driven #3 […]

    Pingback by Installment #3 of Complexity-Driven Development « Charlie Alfred’s Weblog — December 8, 2008 @ 8:35 pm

RSS feed for comments on this post. TrackBack URI

Blog at

%d bloggers like this: