When using the Attribute Dependency technique, you’ll reach a point in the function follows form process where it’s time to make adaptations to your concept. That’s where you try to improve the concept and put more definition around it.
One way to make adaptations with Attribute Dependency is to change the type of dependency. There are three ways to do it: passive, active and automatic. Think of these as what has to happen within the product or service for the dependency to take place. Let’s look at each type.
Mixing bowlsPassive dependencies, just as the name implies, are passive. Nothing has to happen for the dependency to take place. There doesn’t need to be an intervening element to cause the dependency.
Look around and you will see that many products and services are examples of passive dependency. Here is a simple example of mixing bowls that come in different sizes.
Now you may ask, “Is this really an example of the attribute dependency pattern?” It certainly is. As one thing changes another thing changes. In this case, as the needs of the user change, the size of the bowl changes. It’s a passive dependency, though, because the bowls simply exist in various sizes and shapes. In fact, any product that comes in different sizes such as clothing, hardware items, even homes are examples of passive attribute dependency.
Happy hourBut some dependencies require an active, intervening element to cause them to occur.  A very simple example is Happy Hour, when the price of drinks in a bar is reduced. But for this to happen, somebody has to do something. That active element, of course, is the bartender. At the appointed happy hour, let’s say 5 o’clock, the bartender simply lowers the price of the drinks presumably for an hour. Then again at 6 o’clock, the bartender raises those prices back to their normal level. Because of the active intervention, we call this an active dependency.
And finally, we have automatic dependencies. These are unique because they happen, as the name implies, automatically. The product or service is designed so that as one thing changes, the product automatically changes by itself without some intervening third-party element to make that change.
Transition sunglasses are one of the best examples of an automatic dependency. As the brightness of the light changes, the lens automatically darkens in response to that change.
Products that have this type of dependency seem almost smart. They know when it’s appropriate to change in response to some other variable, either an internal or external. The consumer doesn’t have to do anything because the product does it all by itself.
How do you know which type of dependency to use? It depends on a lot of factors such as how much convenience you want to deliver to the customer. Is it technically feasible to create a particular dependency? For example, your engineers might be able to make a mixing bowl that automatically expands as you put more things in it. But that also adds a lot of cost and complexity. It’s probably a lot easier for the customer just to grab the right size bowl to make a cake.
It also depends on how much control you may need in a situation. Do you want the customer or another person making the change? Look back at the happy hour example. You could create a cash register that automatically adjusts the price of drinks based on the time of day. The bartender wouldn’t have to think about. You would have complete control over the prices throughout the day.
Passive, active, and automatic. That’s three ways to give your customers very cool products with the Attribute Dependency technique.