SE Radio 598: Jonathan Crossland on the AMMERSE Framework
Jonathan Crossland, software architect, author, and business owner, joins host Jeff Doolittle for a conversation about the AMMERSE framework of design principles. They start by discussing the agile manifesto as a statement of values, and Jonathan shares his perspective based on his experience as a software developer and business owner. They then explore the three layers of the AMMERSE framework and how they help business and engineering leaders to align their values, thereby improving their ability to collaborate and reach common goals. Brought to you by IEEE Computer Society and IEEE Software magazine.
Jonathan Crossland, software architect, author, and business owner, joins host Jeff Doolittle for a conversation about the AMMERSE framework of design principles. They start by discussing the agile manifesto as a statement of values, and Jonathan shares his perspective based on his experience as a software developer and business owner. They then explore the three layers of the AMMERSE framework and how they help business and engineering leaders to align their values, thereby improving their ability to collaborate and reach common goals.
Show Notes
From the Show
- Guest twitter: @jcrossland
Computer Society Digital Library
From SE Radio
- 520: John Ousterhout on A Philosophy of Software Design
- 518: Karl Wiegers on Software Engineering Lessons
- 470: L. Peter Deutsch on the Fallacies of Distributed Computing
- 407 – Juval Löwy on Righting Software
- 359 – Engineering Maturity with Jean-Denis Greze)
- 331 – Kevin Goldsmith on Architecture and Organizational Design
Transcript
Transcript brought to you by IEEE Software magazine and IEEE Computer Society.
This transcript was automatically generated. To suggest improvements in the text, please contact [email protected] and include the episode number.
Jeff Doolittle 00:00:18 Welcome to Software Engineering Radio. I’m your host, Jeff Doolittle. I’m excited to invite Jonathan Crossland as our guest to the show today. Jonathan is a software architect, computer programmer, author, and business owner. He’s the author of multiple books, including Beginning VB.NET and Professional VB.NET. He is currently working on a four-volume set called The Programmer’s Handbook. Jonathan is also the creator of the† AMMERSE Framework of Design Principles, a philosophy and set of heuristic principles for designing software solutions, which is the topic of our show today. Jonathan, welcome to the show.
Jonathan Crossland 00:00:54 Hi, Jeff. Thanks for inviting me. Yeah.
Jeff Doolittle 00:00:56 Absolutely. So I mentioned in the top of the show here the idea of the, and I think I said it incorrectly, so let me correct myself. The AMMERSE framework, which is spelled A-M-M-E-R-S-E, AMMERSE, and that’s what we’re here to talk about today. So give our listeners a bit of a history and background on what this framework is, sort of how it came to you and what it’s for.
Jonathan Crossland 00:01:19 Okay. Thanks, Jeff. So AMMERSE is a set of values. There are seven values, it’s a mnemonic, and we’ll get into those values. The way it came about is within the normal dealings and roles that you fulfill within software development, talking to various stakeholders and getting to know different people, you soon realize there’s a disconnect. There’s a disconnect in terminology, collaboration tools, as in technology terms, buzzwords, processes, practices, there are bounding, right everywhere. And it’s all to solve this, this collaboration problem. And so at that time, I thought perhaps there’s something underneath all of this, right? Perhaps it’s the software engineer in me trying to see what underpins things. So AMMERSE is really the values, the seven values that I came up with, that I thought at the time, and this is 20 years ago, that I thought would be underpinning everything that we collaborated on in these software roles and all the people.
Jeff Doolittle 00:02:20 So how did you arrive at seven?
Jonathan Crossland 00:02:23 Okay, so elimination, right? So , generalization, abstraction, all the usual software things that we’ve come to know, looking at personal values like trust and openness and mindfulness and being present and all these kinds of things, and realizing, wow, that’s personal. Looking at organizational values and seeing that, well, this is virtue signaling, this doesn’t really mean anything, right? They come up with words like vigilance and everyone in the organization wonders, well, what’s that about? Like how do I be vigilant? Vigilant about what, right? What are we discussing here? So, when you look at those two angles to personal values, it’s a huge list, right? Hundreds and hundreds of things. And the process came about by just saying, well, is this like this one? Is this in the same category? These are shapes? So do these shapes belong together? Are they shapes? Is it an abstraction of shape? What is it? So eventually just boiled it down. Boiled it down, that’s reachable. Okay, so what things are reachable? Am I an approachable person? Okay, so that falls into that category, environmental sustainability, that falls there quite neatly. What else falls there? And I wouldn’t say I came up with the seven as they are now immediately, but as very close just by natural selection, right? Just sort of pulling things apart and grouping them.
Jeff Doolittle 00:03:52 Okay, so you mentioned values, which I think is interesting because a lot of software companies, as they think about process and they think about values, they go back to the Agile Manifesto, which essentially is a statement of values. It’s a statement of, we value these things over these other things. And I believe, if I’m recalling correctly, there’s four different things. We value people and interactions over processes, for example. So I’m curious, how much that influenced you and sort of where this exploration of values both maybe dovetails with that concept, but also maybe differs in some ways as well.
Jonathan Crossland 00:04:28 Right. So AMMERSE was kind of 1998, 1999 was the first thought that popped into my head. Every other month when I saw the Agile Manifesto came out, I thought, well, do they value what I value? And it largely aligned. And I thought, well, that’s good because where I’m sitting right now, it’s not the same kind of values that I’m thinking we should have. And so the Agile Manifesto was kind of along the correct road, right? It was to me at the time anyway, it was something to get behind because it understood some of the values. But at that time, I was still looking at it and saying, well, is that an axiom? Is that truth? Is that universal? Can I generalize this even more? But I think I didn’t really click on it immediately. It was really an evolution of over the years where the axiology of everything came more to the front.
[...]