How this very public failure is a roadmap on why projects fail…
Many people, Dave included, have written extensively as to why projects fail:
- Resources (money)
- A lack of testing and quality control before going live
- Inexperienced service providers
- Wrong use of technology
Any one of these issues can cause problems, but they might not tank the project.
A series of these can spell trouble.
All of these will doom you to failure before you start. It costs people their jobs. Destroys reputations. It might cost people their lives.
However, if you’re unfortunate enough to fail on a hugely public implementation like the Democratic Iowa caucus, it will land you on the front page of almost every major news organization.
Every single one of these is what (we assume) happened with Shadow and the Iowa Democratic Caucus.
This is a look at the Iowa debacle, and how it correlates it to all the challenges that we face in manufacturing.
Every major news outlet has covered this and we’re not going to get into minute detail, if you want to read more NBC covered it early.
This “app” and the implementation challenges are not all that dissimilar to what we face in the industrial space. A lack of time, money, forethought, and training can cause a lot of problems when it comes to going live with a solution. Especially a solution that has a hard deadline.
Old project managers like to say that anything is possible with enough time or money. Money sometimes can speed up the time part.
By all accounts Shadow’s app had a hard deadline (Iowa caucus). This is a very specific time that everything has to be up and running. People need to be trained. Servers can’t crash. There’s one shot to get this correct with the eyes of the entire world on them.
Many Industrial solutions have “soft” deadlines. Ya know, those wink wink nudge nudge we need it done by March, but if it’s really August, it’s going to be ok. If there are hard deadlines though, like we’re shut down this week and everyone has to be in and out, those are a little different.
If there is truly a hard deadline, we must be extremely honest on what can be done and when it can be completed. We need to know resources, availability, if we need to scale, and how we’re going to get there.
Everyone likes to save a buck. Enterprise solutions typically cost more than consumer solutions. That in no way shape or form means that Enterprise companies don’t have entire departments to save money on solutions. The entire metrics these departments are judged upon is “how much money did they save this corporation?”
We are looking at the entire Shadow App cost being $60,000. Which is extremely inexpensive for a solution like what should have been rolled out in Iowa.
The cheapest solution is probably not the best.
Most of the time it’s going to be the worst.
This is why the fallacy of picking the lowest bidder is just a self fulfilling prophecy of getting poor work done.
Oversight, Project Management, & Testing
Good projects are well scoped projects. The better requirements doc is, the better and more cost effective the project will be
Oversight and project management should go hand in hand. It should be a partnership between the two sides working together, with good communication and clear expectations; people on both sides who can make decisions and get answers quickly.
By all accounts this did not happen in Iowa. Communication either broke down or people were developing in a vacuum.
NEVER DEVELOP IN A VACUUM
The Iowa failure will forever point fingers as to who offered to test and who didn’t offer to test.
What we do know is that these apps never went through the app review process. The apps were still in the beta stage and had to be side loaded. Of course, installing software by hand in and of itself is not terrible. We’ve all done it. It’s not a big deal on a limited case-by-case basis.
Doing manual software installation in a production setting on the massive scale of the IOWA caucus is tantamount to asking a machine operator to copy and paste code into the PLC. On a running machine. This should go without saying, but:
NEVER DO THIS
Best case scenario, you break something expensive. Worst case:
Testing is important. Testing makes sure that we don’t break things when we get ready to go into production.
Simply judging by the fact that we know about this debacle, testing was not completed. Heck, we’re not even sure testing was ever started. In mobile applications like this, there are entire sections of testing and validation. In fact, there are entire groups of people whose job it is to test and validate.
Inexperienced Service providers… Or don’t hire cousin Joey
In most cases, we would never consider hiring our 16 year old cousin to do anything for our business…but that commonsense tends to disappear when it comes to “computer things.” For some reason when we get to the software side of the equation the logic gets thrown out the window.
Very little can replace experience. That’s why good companies hire younger people with the goal of training them and getting them to the point of contributing at a higher level. They are not going to let the intern go wild on an important customer account without oversight or mentorship.
We’re not going to continue to beat a dead horse, but if you want to read more about the Shadow app, Vice didn’t pull any punches.
TL;DR They let cousin Joey build the system with what looked like a copy paste of an online tutorial.
In Manufacturing, you can smell the people that are green. The ones that don’t know what they are doing. The ones that you don’t want to let near you machines.
Remember, you get what you pay for… The more expensive solution brings valuable knowledge and experience to the table. Very little is ever going to replace that knowledge and experience.
Using the correct technology or don’t pick the wrong technology
Wrenches are not hammers. Screwdrivers are not pliers.
React Native is neither iOS nor Android. React Native in the hands of an extremely talented developer can be two fully serviceable applications.
In Industrial Automation, using the correct technology can mean a lot of thing. Don’t install items near or beyond their end of life. PLC 5’s… Nope don’t install those. Seriously, we beg you. Don’t install those.
Software is a pick your flavor of choice. Maybe it’s a FactoryTalk and PTC, maybe it’s Ignition, maybe Derek finally launched MachineView to the world and it becomes that.
What we mostly need to be sure of is the fact that we are using next generation software. Using proper development techniques including agile framework. Rock solid documentation along with everything else that we previously discussed.
What to remember
Don’t be like Shadow. They just got blasted over the news. Raked over the coals in the media and lost their credibility. Some of their careers will take a hit, but they will eventually find opportunity elsewhere…. Under a different company name.
In the Industrial space… if we mess up people die. Period. End of story.
If you’re going to work in or on a Manufacturing facility, you have a duty of care to everyone that is going to touch the hardware and software for decades to come. If you have a bad day, that could cost someone their life. Could you really live with that?