The reason we put buffers into a system is to protect the constraint from the malfunctions of other machines.
The last thing we want to do is to add downtime to the system caused by the buffers. That would defeat their whole purpose and render them useless. Buffers should be extremely simple in design principle.
The simpler they are, the more reliable they are.
Buffers also need to accommodate several other functions:
Products will be coming into the buffer and leaving the buffer. If the system is designed properly, it must be able to accept product at one rate and discharge product at a different rate.
The “infeed” function should not interfere with the “outfeed” function and vice versa. What this means is; if the incoming product flow must be interrupted to discharge product, then the resulting backup at the infeed may force the machine we are trying to protect to shut down.
The buffers also need to be flexible regarding how you can lay them out in the line.
Typically, there is not a lot of room left after all the major equipment has been selected and laid out. Therefore, the more flexibility that you can provide, concerning how you can get in and out of the buffer, can make the difference as to whether you can get it in the space available.
Buffers should also be able to handle a wide variety of product sizes.
Most production lines today are required to run a wide range of products.
Also, the marketing departments will almost always come up with new configurations of products after the line has been built and installed. This flexibility is a nice feature.
Finally, changeover should be painless, under 5 minutes from one product to the next. A complex buffering system, which requires a lot of changeovers, will cause more lost time (you cannot run production if you’re changing the machine). Also, repetitive changeovers tend to become inconsistent over time. It is much easier to have a system that you just run.