Tutorial -> The PFEP Process
The most critical thing that any reader can learn from this site is the value of developing a PFEP system comes as much from the development process itself as it does than the final PFEP database program. Obviously, much of this is just a part of the normal Kaizen / Continuous Improvement / conversion to Lean Manufacturing process itself. What's not obvious is the sort of questions that expert technology, database and user interface people bring to the table. Yes, we are easily frustrated that people don't perform as consistently and predictably as computers, but that is what leads us to discover what it takes to enable people to perform that well. Likewise, a "tech guy" without a strong background in efficiency is all too likely to passively ask "what do you need the computer to do" and "how should it do it". Good logistics does not violate the laws of physics. (Parts don't magically fly from the warehouse to the Assembly Line all on their own.) Likewise, good logistics does not violate the rules of database design. In my experience, every request of "can't the computer just do things this way even though it isn't really the way databases are supposed to work" have been able to be traced back to much more serious material flow issues that sooner or later needed to be solved. Quite often the company's manufacturing experts didn't even see the problem at first, because it was a part of a process that evolved over years and seemed like that was how they always did it. Companies will also start to develop their own set of definitions for common words that are used to describe the process which helps them communicate in the short term, but also adds a layer of legitimacy to the process over time.
As software developers, at the end of the day we are responsible for implementing what the client wants. The first part of that responsibility is determining what the client really needs. Of course, we need to start with exactly what they are asking for, but we must ask "Why" and do our best to go on and try to understand how our piece of the system fits into the big picture. At that point, we are ethically obligated to make sure that our client understands what we have discovered and that what they ultimately say that they want is an informed choice that they made after weighing the costs and value of doing things "the proper way".
If things aren't nicely fitting into a properly normalized database, then ask "Why?". Whenever there's information that appears to be redundant, ask "Why". See if the legitimate differences come in groups. Rather than tracking the dimensions of each individual box for thousands of Parts, see if all of the Parts always arrive in one of six sizes of box. It may seem like you are helping by allowing each box to be a different size, but in reality you are creating an error-prone data entry nightmare and an obstacle to future standardizations.
Likewise for special handling instructions. Buy a Lamp. I bet that it came with at least 8 pages of instructions. Read them all. I expect that you'll see great things like:
When your group designs it's material flow system, it needs to strive for something like this:
This is one of many examples of why PFEP is a process, not just a computer program. It's also a good example of why your Lean Manufacturing team should always consist of a combination of company insiders and outsiders, in order to insure that everything is questioned. Likewise, your Lean Manufacturing team needs a combination of "experts" along with the people who do the actual work who can and will explain why great theories don't always work in the real world. If the workers are correct, then the team needs to find alternatives. If the workers are wrong, then the team needs to find a better way to present the new procedures to workforce in general, in order to insure a successful roll-out.
As software developers, at the end of the day we are responsible for implementing what the client wants. The first part of that responsibility is determining what the client really needs. Of course, we need to start with exactly what they are asking for, but we must ask "Why" and do our best to go on and try to understand how our piece of the system fits into the big picture. At that point, we are ethically obligated to make sure that our client understands what we have discovered and that what they ultimately say that they want is an informed choice that they made after weighing the costs and value of doing things "the proper way".
If things aren't nicely fitting into a properly normalized database, then ask "Why?". Whenever there's information that appears to be redundant, ask "Why". See if the legitimate differences come in groups. Rather than tracking the dimensions of each individual box for thousands of Parts, see if all of the Parts always arrive in one of six sizes of box. It may seem like you are helping by allowing each box to be a different size, but in reality you are creating an error-prone data entry nightmare and an obstacle to future standardizations.
Likewise for special handling instructions. Buy a Lamp. I bet that it came with at least 8 pages of instructions. Read them all. I expect that you'll see great things like:
- Do not use near flamable materials.
- Never drape clothes over the lamp.
- Never leave the lamp on when you leave a room or are not at home.
- To reduce the likelihood of tipover, keep children and pets away from the lamp.
- Do not eat.
- Do not insert anally.
- To activate, place switch into the "ON" position.
- To deactivate, place switch into the "OFF" position.
When your group designs it's material flow system, it needs to strive for something like this:
- Most material should not require any special instructions - your company's default procedures should already cover everything your material handlers need to know.☻
- Some of your material will need some standardized special instructions.☻
- Very rarely, a few Parts will require some non-standard handling instructions.☻
This is one of many examples of why PFEP is a process, not just a computer program. It's also a good example of why your Lean Manufacturing team should always consist of a combination of company insiders and outsiders, in order to insure that everything is questioned. Likewise, your Lean Manufacturing team needs a combination of "experts" along with the people who do the actual work who can and will explain why great theories don't always work in the real world. If the workers are correct, then the team needs to find alternatives. If the workers are wrong, then the team needs to find a better way to present the new procedures to workforce in general, in order to insure a successful roll-out.