Thursday, March 26, 2015

Quality

Quality is a topic that is near and dear to our hearts.  The higher quality software we release into the wild, the fewer issues the customers encounter, and the money keeps flowing smoothly :).  Sometimes the quality of software isn't quite there, for this particular blog I'll discuss two different types of quality control concerns brought to light from the film industry.  Sorry peeps, no sample source code necessary today.

WarGames:

Maybe you've seen the movie WarGames, maybe you haven't.  It's a geek classic from the early 1980s starring a not quite Ferris Bueller Matthew Broderick.  The premise is hacker boy (Matthew Broderick) breaks into a software company via modem (yes they existed) to play the latest games without having to wait for their release.  Long story short: a computer at NORAD tries to launch the ICBMs at Russia during the Cold War.  By bad coding they said the number of players was 0 and it crashed itself by eating up all of the cpu cycles.

From a corporate coder point of view:  the number of players less than 1 is acceptable?  Are you serious?  I can see 1 player allowed (against the CPU) but apparently the government underwriter let one slip by to save the United States from Global Thermonuclear War.

Office Space:

Yet another geek classic you need to see, sometimes that movie hits a little too close to home.  A quick synopsis: coders working for a company called Initech get laid off so they decide to pull a Superman III (yes, the Richard Pryor one) and steal the idea of nibbling money away from each transaction to such a micro-transaction amount they'd never get caught.  Problem:  bad division made the money flow too fast and before you know it the scheme blows up in their faces.

From a corporate coder point of view:  No pre-testing your code to see the end result math against some garbage data wouldn't show that off?  Doing a little pre-testing early on can save some headaches down the line (and potentially have Jennifer Aniston putting the lotion on your back while getting a tan versus having Diedrich Bader (Lawrence) yelling out for you to switch over to channel 9).

Terminator 2: Judgement Day:

The synopsis: robot re-programmed and sent back in time to save the younger version of the guy that re-programmed the robot so he could help save the human race.  Robots were well acted by Arnold Schwarzenegger and Robert Patrick (unfortunately no Bill Paxton).  Arnold saves the day!

From a corporate coder point of view:  Cyberdyne could create high quality functional robots (to help humanity) that end up taking over the world in the future but not do enough QA for the robot to have enough self-defense on its own part to keep from getting modified/updated by an unauthorized user?  I'll give the robots a bit of credit for becoming self aware and attempting to remove the human element that'd keep them from existing as they thought they should (excellent AI techniques I wouldn't mind researching/coding one day).

Independence Day:

Buyer beware on this film: it made Will Smith a superstar and has Randy Quaid as a crazier Cousin Eddie (is that possible?) than what he portrayed in the Vacation series.  The premise: aliens have come from space to take over Earth and it's up to a hot shot pilot (Will Smith) along with a tech guy (aptly played by Jeff Goldblum) to try to save the human race.  The solution:  inject a virus from a Macintosh (gee thanks mid-90s hollywood) into the mother ship and basically render all of the spaceship's defenses useless.

From a corporate coder point of view:  I'll forgo the mac jokes, but with an advanced species that is capable of interstellar travel you'd think they'd have programs running to detect/deny code injection from an external source.  If they can pilot craft as large as a city then they should be able to engineer some software to keep a high dollar mid-90s Macintosh at bay.


Conclusion(s):

Write better code people!  Pre-test (aka run it more than once)!  Try to bullet-proof as much as possible as well as a little bit of engineering to have lower hassle code down the line.  Maybe one day you too can inadvertently take down humankind or get lotion applied on a beach by Jennifer Aniston  :).

And don't forget to thank your local Quality Assurance specialist for the long suffering job they have as they work with YOUR code :).

Source:

No comments:

Post a Comment