How agile are you? Software development in MES

Creating an appropriate level of flexibility that is still manageable in large-scale software development projects.


Over the last few years, MES (manufacturing execution system) packages have appeared that provide the database framework and programming interfaces to collect, process, and provide standardized information links between the production floor below and the ERP (enterprise resource planning) business system above. Even so called “configurable” packages usually require extensive custom coding since the built-in functional capabilities are usually insufficient to handle all but the simplest manufacturing processes and integration to current installed information systems. The reality is that MES installation projects are just as much about custom software development as they are about installation and configuration. 


Traditional project management methods would require a very detailed project scope with exact details of the current system and proposed solution. It would be followed by functional and design specification documents that would provide additional details of the solution. Once all the proper documents have been developed and agreed upon by the integrator and customer, work would finally start on the actual code development. 


As you can imagine, there is a lot of work that needs to be completed before a single line of actual code will be developed. Not only is there lots of work, there are assumptions that are always made at the outset, but invariably prove false and change during the project. The first assumption is that all of the information about the current system and proposed solution is complete. The second assumption is that the current system will remain the same throughout the project. If you begin the project with a rigid mindset that these assumptions are absolute, you will be doomed from the start. Projects that do not allow for some flexibility fail in virtually every case.   


In conventional product software projects, there has been a growing movement away from waterfall- or cascade-type methodologies that begin by drawing up very detailed requirement and design documents before any coding is done. The problem with this approach is that much of that planning ends up being put aside, so the time spent compiling it was wasted. That is why many large companies and software development firms have moved more in the direction of “agile manifesto” based methodologies which focus on the immediate generation of finished code, with less documentation and built-in flexibility.  


With the understanding and trust of the customer, the more flexible and responsive elements of agile software development methodologies can be used to manage the development of most MES projects. Documentation mandated by the waterfall methodology and in many cases still required by the customer is not eliminated, but becomes more dynamic.


The most common of all the agile methods is scrum (borrowing a term from rugby). In the beginning of a scrum-based project, the list of functionality is loosely defined by the project statement and limited discovery phase. Over the course of the project, additional functionality, problems with existing code, enhancements, and so on, are added to the functional backlog. In the scrum method, the coding process is broken into smaller iterations called sprints, usually lasting a week or two. The determination of which work will be completed in each sprint is based on both priority and the ability to write the code completely and test it in that iteration. Once all the work has been selected for that sprint, the sprint will start. During the sprint, the daily activity of the development team is tracked during a daily meeting of the team and product owner. The purpose is to determine what has been done, what will be done, and if there are any impediments to progress. This process will be repeated over and over until the project is completed.


The major benefit of this process is flexibility. The combination of these small iterations of development and the dynamic functional backlog is what gives the scrum method of software development its built-in flexibility.  


As you can tell by now, the design and implementation of an MES system is not easy. It can almost be doomed to fail before it is started if not managed correctly. It is also important to point out that every project is different and will require more focus on certain aspects of the project management process and less on others. In order to manage projects effectively that will be more software developmental in nature, we must first determine what type of development environment is the most appropriate: the traditional waterfall method, flexible agile method, or most likely, somewhere in the middle. 


The process of choosing the appropriate category for each project is just as important as the overall management of the project. For example, if there is a customer requirement to track and document all project changes and steps, then strict waterfall would be a good approach. On the other hand, if a customer is rather vague in functional requirements and requires less documentation, then it may make more sense to develop a good working prototype and work from that point, with maximum flexibility in mind. The majority of projects will likely be somewhere in the middle. 


With the middle in mind, we have once again gone a step further and created four separate categories of project types. The four different categories are as follows:


1. Waterfall
2. Waterfall/agile
3. Agile/waterfall, and
4. Pure agile


Each of these categories has different project management documentation, level of customer interaction, deliverable schedules, etc. Once we determine the category that will best fit the proposed project, we will follow the project outline within that category and start to put together the actual project plan, project support documents, implementation plan, and so on. The right choice is the first step to a successful project.


This post was written by Tom Gill. Tom is an MES senior consultant, MESA C of C, and certified scrum master at MAVERICK Technologies, a leading system integrator providing industrial automation, operational support and control systems engineering services in the manufacturing and 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, and business process optimization. The company provides a full range of automation and controls services – ranging from PID controller tuning and HMI programming to serving as a main automation contractor. Additionally MAVERICK offers industrial and technical staffing services, placing on-site automation, instrumentation and controls engineers.

No comments
The Top Plant program honors outstanding manufacturing facilities in North America. View the 2013 Top Plant.
The Product of the Year program recognizes products newly released in the manufacturing industries.
The Leaders Under 40 program features outstanding young people who are making a difference in manufacturing. View the 2013 Leaders here.
The new control room: It's got all the bells and whistles - and alarms, too; Remote maintenance; Specifying VFDs
2014 forecast issue: To serve and to manufacture - Veterans will bring skill and discipline to the plant floor if we can find a way to get them there.
2013 Top Plant: Lincoln Electric Company, Cleveland, Ohio
Case Study Database

Case Study Database

Get more exposure for your case study by uploading it to the Plant Engineering case study database, where end-users can identify relevant solutions and explore what the experts are doing to effectively implement a variety of technology and productivity related projects.

These case studies provide examples of how knowledgeable solution providers have used technology, processes and people to create effective and successful implementations in real-world situations. Case studies can be completed by filling out a simple online form where you can outline the project title, abstract, and full story in 1500 words or less; upload photos, videos and a logo.

Click here to visit the Case Study Database and upload your case study.

Bring focus to PLC programming: 5 things to avoid in putting your system together; Managing the DCS upgrade; PLM upgrade: a step-by-step approach
Balancing the bagging triangle; PID tuning improves process efficiency; Standardizing control room HMIs
Commissioning electrical systems in mission critical facilities; Anticipating the Smart Grid; Mitigating arc flash hazards in medium-voltage switchgear; Comparing generator sizing software

Annual Salary Survey

Participate in the 2013 Salary Survey

In a year when manufacturing continued to lead the economic rebound, it makes sense that plant manager bonuses rebounded. Plant Engineering’s annual Salary Survey shows both wages and bonuses rose in 2012 after a retreat the year before.

Average salary across all job titles for plant floor management rose 3.5% to $95,446, and bonus compensation jumped to $15,162, a 4.2% increase from the 2010 level and double the 2011 total, which showed a sharp drop in bonus.

2012 Salary Survey Analysis

2012 Salary Survey Results

Maintenance and reliability tips and best practices from the maintenance and reliability coaches at Allied Reliability Group.
The One Voice for Manufacturing blog reports on federal public policy issues impacting the manufacturing sector. One Voice is a joint effort by the National Tooling and Machining...
The Society for Maintenance and Reliability Professionals an organization devoted...
Join this ongoing discussion of machine guarding topics, including solutions assessments, regulatory compliance, gap analysis...
IMS Research, recently acquired by IHS Inc., is a leading independent supplier of market research and consultancy to the global electronics industry.
Maintenance is not optional in manufacturing. It’s a profit center, driving productivity and uptime while reducing overall repair costs.
The Lachance on CMMS blog is about current maintenance topics. Blogger Paul Lachance is president and chief technology officer for Smartware Group.