Software Architecture Tips from the Man Building a Real HAL 9000
Grady Booch, Chief Scientist for Software Engineering and for Watson/M at IBM Research, addressed the audience of professional software architects attending the SATURN 2016 Conference.
“The fact that we have seen tremendous improvements in computational resources, improvements in algorithms, improvements in our processes, has only opened the aperture for our ability to dream.”
One of the dreams that Booch believes he is within reach of realizing is the creation of a real HAL 9000 computer (non-homicidal edition). The challenge, however, is how does one architect the unprecedented?
Grady Booch, holding replica of HAL 9000 film prop
There are other such systems of unprecedented complexity that are being created, such as the Internet of Things (IoT). With the ability to connect billions upon billions of devices, what is the best architecture to attend to all of them?
“There are other classes of problems which are at the edge of our imagination for which we hardly know how to begin to even architect those systems.”
Booch asserts that we can find guidance from the set of best practices that architects already use to build complex systems today. Finding the solution to ever more complex problems is an iterative process.
Booch likens the advancements made in the building of complex systems to the development of art over history.
Throughout history, artists built upon artistic accomplishments of previous generations and developments in science to advance from cave paintings, to ancient art, to the Dutch Golden Age, to the present day.
In a twist, Booch revealed that the “Rembrandt” depicted above is in fact completely computer-generated, which is just a hint of how far the evolution of complex systems has brought us towards being able to mimic human-like creations.
What are these best practices for architecting complex systems? All engineering problems deal with tradeoffs. There are a whole range of constraints, requirements, and priorities that will influence the architectural decisions.
The process of architecting is about spelling out the quality attributes and risks, using them to make design decisions, and then reasoning about those decisions.
Last year, Booch decided that he would like to attack this problem of how would one build a HAL? Booch says that it took him just an afternoon to sketch out the architecture, but really it took him 61 years to know out how to do it.
He does not know for sure if he can get there. He’s trying to take his own advice to fail early and fail big now, but he thinks that he knows the architectural decisions that will either get him there or close to it. This is a big unknown, but he’s having a lot of fun trying.
Booch offered these inspirational closing words to this audience of software architects, “You are the storytellers. You are the ones who write the stories, who tell the narratives, who guide the other storytellers and story makers into that unknown. How cool that is! What a great place to be! You are the Spielbergs of our software world. Go out and tell us some great stories because it’s your privilege and your responsibility.”
Selfie of the author with Grady Booch.
****
Please join the conversation...
What do you think? Comment below.
Thanks for reading. Please like and share. You can find my previous LinkedIn articles here (https://www.dhirubhai.net/today/author/davidpmax).
- Cover art: Photo by Jungwoo Ryoo. May 3, 2016: Grady Booch delivering the first keynote address of the SATURN 2016 conference in San Diego.
- Completely awesome keynote address sketchnotes “Architecting the Unknown” by MJ Broadbent.
- Follow conference activities on Twitter @SATURN_News and #SATURN16
- Join the SATURN group on LinkedIn.
Digital Transformation Manager - Linaker
8 年Great article
AI developer NLP ML FINTECH
8 年interesting I have alot of AI papers to discuss with him. I have been reading for the last 15 DTIC if your in that world
entrepreneur - consultant - author "desclick"
8 年Great ultimate advice: "Be inspired by the real world ... what does nature do ...
Head of Software Engineering at TECNOBIT
8 年Very interesting!