Software Engineering Mistakes in The Incredibles
Posted by Evan at 9:34 pm on August 30th, 2009
As my college career progresses and I learn more about the software engineering process, I find it interesting how my outlook on the software around me changes as well. For example, earlier today my roommate Spenser and I were rewatching The Incredibles. (Spoiler alert for the rest of this post. :)
The falling action of the plot involves the villain Syndrome "defending" a metropolis against a rampaging robot (the robot was actually released by Syndrome in order to provide the opportunity for him to be a super hero); Syndrome's trick is that he has a cuff-remote which is able to control the robot, to an extent. For example, Syndrome can push a button on the remote, lightly punch one of the robot's appendages, and then the appendage will fall off.
But after this happens a couple of times the robot, which was described as a "learning robot" previously in the film, targets Syndrome's cuff-remote - correctly recognizing it as the threat - and knocks it off Syndrome's arm. Without his cuff-remote Syndrome stands no chance against the robot and is quickly knocked unconscious.
Unlike previous occasions where we merely enjoyed the movie, this time as Spenser and I watched this segment of the film we started joking about how there was a failure on the part of the software developers to properly follow the software engineering process. Either the requirements analysis was not done properly (and surely having the robot not be able to turn against the master would have been a high priority! :) or the requirement was there but it was not fully tested.
And thus a lesson for all would-be villains: make sure that your software is engineered properly!