By David A. Cook


Nowadays, when you mention The Caped Crusader, folks think of Christian Bale, and his slick techo-toys. [NOTE: Why is Batman the “Caped Crusader”? Superman also wore a cape. As a matter of fact, so did Robin, the Boy Wonder. This always bugged me]. In fact, younger folks think of Ben Affleck as Batman.

Not me – I think of the REAL Batman (as played by Adam West, ably supported by Bert Ward as Robin, the Boy Wonder). Although the show was only on TV three seasons (120 episodes, 1966 – 1968), it left an indelible mark on me. It had the most far-fetched plots, the best guest stars (Esther Merman and Vincent Price, just to name a few), playing the best arch-villains – the Joker, the Penguin, the Riddler, and Catwoman (played by Eartha Kitt and Julie Newman in the two different seasons. Yes – I know, you’re remembering Lee Meriwether – but she only played Catwoman in “Batman: The Movie” in 1966.) It even had (after season one) Batgirl (aptly played by Yvonne Craig) – and again, she made QUITE an impression on me, too - I think it was the costume. Amazing how Chief O’Hara and Commissioner Gordon never saw through Bruce Wayne’s AMAZING disguise. But then, in the DC comic universe, a cheap set of glasses kept Superman’s secret identify as Clark Kent hidden, too.

One VERY cool thing about Batman was his famous Bat Utility Belt. I kid you not – it was amazing! It had EVERYTHING on it: Bat Rope, the Bat Laser, the Bat Lock pick (usually kept in Batman’s glove, however), three types of Batarangs (explosive, remote controlled, and shock-generating electrical), Bat shark repellant, and…. Well, you get the picture. As a matter of fact, Wikipedia, in their scholarly article regarding the Batman Utility Belt ( https://en.wikipedia.org/wiki/Batman%27s_utility_belt) lists about 30 items. I always wondered how Batman could rappel up the side of a building (using the Bat Grappler – also known at the Batclaw or Batline) when he must be hauling 200+ pounds of hardware along with him.

But – thank goodness for the Batman’s utility belt. No matter what Batman needed to escape from the nefarious clutches of the week’s arch villain – Batman had it with him. Locked in a safe? Thank goodness for the Bat Acetylene Torch. And – if the safe was small – well, there’s the Bat Rebreather.

For a long time – I had my utility belt, too. Rather than lock picks, my utility belt contained software development tools. My utility belt first contained flow charts. Flowcharts worked when the code I was writing was difficult to understand. In the 70s, flow charts were the only tools I kept in my utility belt for quite a while. I learned Nassi–Shneiderman diagrams (NSD) – a different way to do flowcharting. It helped me grow as a developer and designer.

As my skills matured and I tackled larger and harder problems, I learned a few other tools that I decided to keep in my utility belt as well. Structured Analysis and Structured Design (and Structured Analysis and Design Technique) filled a void in my arsenal that needed filling. TDSP (Top Down Structured Programming) also became a tool, as did Data Flow Diagrams (DFDs) and various other tools and techniques. I became an expert on the Waterfall Model. And, of course, the Waterfall Model begat 2167 and 2167A (Department of Defense Standard 2167A) titled “Defense Systems Software Development.” Added to utility belt – check!

In the 1990s, my tool belt really grew – between Object-Oriented Analysis, Design and Programming, my utility belt became heavier. I also added various Unified Modeling Language (UML) techniques. I had already added the Booch Method – so I drooped Booch, and added UML.

And – starting in the 1990s – I started hearing about a new set of tool for my utility belt – a process model rather than a coding/analysis/design technique) to help an organization produce better software. It took a while to convince me – but the Capability Maturity Model (CMM) became an indispensable part of my utility belt. It worked so well, in fact, that there were soon lots and lots of different capability maturity models (The Software CMM, the People CMM, the Systems Engineering CMM, etc.) that I removed the CMM from my utility belt, and added the Capability Maturity Model Integration (CMMI) in its place. I also hung the Personal Software Process (PSP) and the Team Software Process (TSP) on the belt.

There – my utility belt was FINALLY full. I could relax, use the tools I had accumulated, and develop quality process which produced quality code which met my customers’ needs.

Or could I? Holy Heartbreak, Batman. I often found myself in a position where none of the tools I had accumulated seemed to work. Sometimes, on some projects, traditional techniques just did not seem to be applicable. But there were rumblings in Gotham City – a new type of tool was ready for use! A new cast of heroes had developed “The Agile Movement.” To quote from http://agilemethodology.org/: “The Agile movement seeks alternatives to traditional project management. Agile approaches help teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall, or traditional sequential development.”

You know what folks? Agile techniques are tools that hang very neatly on my utility belt. I don’t use them for everything (but then, the Bat Concussion Mine is not really useful if you’re already locked inside of the safe, is it?)

We need to value all of the tools at our disposal – each gives us a different (and in some cases, unique) viewpoint to solving a problem. Different people, different approaches, different techniques.

My utility belt is still heavy, even though I’ve thrown away a lot over the years. I don’t use SASD and SADT a lot anymore – and I really don’t flowchart much anymore either (although I do create UML Activity Diagrams – which really look like the same thing – but that’s another column.)

I have available a variety of tools for a variety of problems – and some only work in certain places. If I’m developing a quick web app – CMMI is too big, and Agile works. If I’m writing nuclear reactor software, then Agile is not enough, and CMMI help produce a quality product. Applications between the two extremes? Then I use whatever tool or tools that help you to the job done! Hold Tool Choice, Batman!

See you next issue – same Bat time, same Bat channel.

David A. Cook, Ph.D.

Professor of Computer Science

Stephen F. Austin State University

cookda@sfasu.edu

By the way - https://en.wikipedia.org/wiki/List_of_exclamations_by_Robin lists over 300 expressions of the form “Holy xxxx, Batman” that Robin uttered. Batman ran three seasons over two years, and had 120 episodes. That’s about three “Holy Somethings” per show. Holy Exclamation!



« Previous