Programming is a big portion of process control and following principles such as customer collaboration, responding to changes, and emphasizing individuals and interactions can help a great deal in creating a successful project.
Programming is a big portion of process control. Consider these four principles for effective and efficient program development:
- Emphasize individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan.
Each step is crucial to an effective and efficient program development and can mean the difference between success and failure.
1. Individuals and interactions over processes and tools
While work processes and tools can be useful they can also be inhibiting. Some tools are good for generating a skeleton, or perhaps even a significant portion. Trying to force a tool to generate the entire program often leads to "programming the tool." The same can be said about forcing a project to follow a work process, all projects are not the same. The stages of a work process should be used as a guide to encourage the project not as a measurement to correct.
While work process and tools are useful it is the strengths and weaknesses of the individuals and their interactions with each other and the workings of the project that make the difference. A good team finds the best use of each player. Those qualities can be enhanced by but not supplanted by work processes and tools.
2. Working software over comprehensive documentation
This is a step where many stumble. The tendency to continually design to perfection leaves us always approaching an imaginary object. We often produce documents that are very detailed that have to be corrected when the finished product is running. Why? Because you don't know what you can't see. This is why simulation is essential.
Adding and deleting instrumentation, control loops and modifying functionality is easier when you can see it in simulation. When all you can see is paper and imagination it is harder for both the automation personal and the operational personal to see and understand. This is also the place that can easily consume the greatest amount of man hours. Endless hours of designing reviews and redesigning based on what we see on paper. Getting the project to simulation (working software) allows all to see it's behavior instead of just imagining it.
3. Customer collaboration over contract negotiation
Knowing the audience makes a lot of difference between a successful partnership verses two entities protecting themselves in the divorce. The commitment to produce a positive result means that both sides have to collaborate looking for win-win opportunities. Trust and commitment are keys to success. If it becomes a contract negotiation, then it all becomes about the fine print rather than the larger picture.
4. Responding to change over following a plan
While the word "re-work" is often tossed around as a boogeyman there has never been a project that has not required some level of "re-work." Change is a fact of life. Trying to adhere to a plan is something that seldom works. Life is about change, unanticipated things happen, things we thought worked one way turn out to work differently. Being adaptable is as essential as starting out with a plan. Even Hannibal Smith of the A-Team went through numerous variations of his plans before it all finally worked out in the end and he could say, "I love it when a plan comes together."
It is important to note that these are preferences over tendencies. That doesn't mean you never plan, or document, negotiate, or use work processes and tools. It means learning how to put things in the best place for the best result. This doesn't mean there is an absolutely right way and a wrong way; it means we need to learn how to balance ourselves to achieve the best results. Weighing these principles like a set of scales can help produce a better result.
This post was written by Rocky Chambers. Rocky is a senior control systems specialist at MAVERICK Technologies, a leading automation solutions provider offering industrial automation, strategic manufacturing, and enterprise integration services for the process industries. Maverick delivers expertise and consulting in a wide variety of areas including industrial automation controls, distributed control systems, manufacturing execution systems, operational strategy, business process optimization, and more.