From software to meatware

Using event storming, the Swift method, and Extreme Programming to modernize mainframe applications. Discovering the real application: software, process, systems, & people

Last week I talked with my co-worker Fouad Hamdi about a mainframe modernization project he worked on last year. I mean, the team he was on of course, not him single handedly. He wrote a great over of the process and I was eager to ask him a few questions. The video included in this episode is an except about finding the complete end-to-end application, rather, process that you’re modernizing.

Finding the whole system: from software to meatware

When you’re modernizing a software-driven system, one of the main obstacles is just knowing what you’re modernizing, finding all the software and services you depend on. Larger, more important (“mission critical”) software often relies on other systems and services too. An insurance application relies on another system to look up customer information and check regulations in different countries. A retail application needs to call out to a different application check inventory. And so on!

Each of these interactions is a dependency and couples the application together. Programmers despise dependencies and coupling: it slows them down and requires them to not only know about those other systems, but test out if changes create bugs in systems you depend on and vice-versa. Programming styles like microservices are, more or less, built to avoid and minimize this kind of dependency and coupling.

So, when you’re modernizing an application it’s critical to find all those systems and how they interact with each other. Finding the software components is hard enough, especially for a 30 year old application like Fouad worked on. There’s two more things that make it even more difficult: (1) finding the processes and flow that the software is supporting, and, (2) finding all of the human interactions that it takes to run that flow, trouble shoot it, and modify it.

One of the processes that Fouad describes is event storming and the way Tanzu Labs does it is designed to find all of the software components, but also the meatware components, the hand-offs, and all those arrows between the boxes in a diagram.

Check out the video above for an excerpt going over all this. If you’re working on an app modernization project, especially a mainframe one, check out the entire interview here:

And, if you’re interested in more, Marc Zottner and I cover these concepts and the bigger toolbox of modernizing applications in our book Escaping the Legacy Trap. It’s a free download, well, “free as in type in your email address,” but, you know, free download.

Wastebook

  • “I’ve been poking around this device for days, trying to make it do something new that I haven’t seen before.” Here.

  • “harvested a few celebrities” Here.

  • “I’ve got an account on Bluesky now but, god, can we really be bothered?” - w/e 2023–04–30

Relevant to yours interests

Next week I’m speaking at Devoxx UK, in London. I’m giving a talk about platform engineering on Thursday, May 11th at 10am. I’ll be there most of Wednesday and Thursday - it’d be great to say hello if you’re around. Also, the Devoxx conferences are really good conferences, if you’re in the area and do anything with software, you should come check it out.


It’s been a lot of kubernetes around here, but, see, I sometimes write about actual application development! If you’re into either of those, you should subscribe to my newsletter. It’s several times a week, usually with some content like this, links I’ve found, some IRL stuff, and the occasionally “what do you make of that?” round up of stuff.


Logoff

Spring is bringing more and more warm days to Amsterdam, finally. I got out the comfy terrace chairs. I’d forgotten they recline.

See y’all next time!

0 Comments
Authors
Coté