Into the architectural rabbit hole
I’m really finding this deep dive into architecture interesting. Particularly as the more I do the more the role title “software architect” make a lot more sense (so obvious to everyone else I’m sure!)
I have a great neighbour who lectures on architecture, and he kindly recommended “Pattern Place Purpose”, a book by Proctor and Matthews Architects that also delves into the idea of “pattern language” in architecture. Pattern language refers to a set of design principles and patterns that can be used to create buildings and spaces that are not only functional but also beautiful and meaningful.
The book is divided into three sections: Pattern, Place, and Purpose:
- In the Pattern section, the authors discuss how pattern language can be used to create adaptable, sustainable, and responsive buildings and spaces.
- The Place section explores the concept of “sense of place” and how buildings and spaces can be designed to create a sense of identity, belonging, and connection to the surrounding environment.
- The Purpose section looks at how architecture can address social and cultural issues, such as housing affordability and community development.
I have to say, when I read this, so many of the keywords felt so incredibly familiar.
Throughout the book, the authors provide examples of buildings and spaces that embody these principles, including public housing developments, cultural centers, and educational facilities. They also emphasize the importance of collaboration and community engagement in the design process, showing how architects can work with stakeholders to create buildings and spaces that truly serve the needs of their users. Again, incredible to see how similar this is to user-centred digital approaches.
Translating to digital language
If we replace the concepts of “functional, beautiful, and meaningful” with “robust, well designed, and impactful” in the context of software development, the concepts of the book could deepen our understaning further.
“Robust” would imply that the software is reliable and able to perform its intended functions consistently and accurately. This would align with the concept of “Pattern” in the book, which discusses the use of design principles and patterns to create adaptable and sustainable buildings and spaces. In the context of software, this would involve using established design patterns and best practices to create software that is resilient and reliable. We know how to safely construct a building that will last, and we also know about 12 factor apps, so interpretting a need through a robust layer is likely to make good sense.
“Well designed” would suggest that the software is user-friendly and intuitive, with an emphasis on creating a positive user experience. This would align with the concept of “Place” in the book, which explores how architecture can create a sense of identity, belonging, and connection to the surrounding environment. In the context of software, this would involve creating user interfaces that are aesthetically pleasing, easy to navigate, and accessible to a wide range of users. Often UI gets a poor rating, losing favour to UX in recent trends, but I think while accessibility and data-driven-A/B-tested-navigation is great, there is something intangibly better about ‘good’ design that makes an experience more effective. I imagine this might be like a parallel between ambient room temperature and your reaction to a landing page - they just feel right.
“Impactful” would imply that the software has a positive impact on its users and the broader community. This would align with the concept of “Purpose” in the book, which looks at how architecture can be used to address social and cultural issues. In the context of software, this would involve developing software that solves real-world problems and makes a positive difference in people’s lives. So amazing to see this being at the heart of what architecture seeks to address, and why I can’t comprehend anyone who wouldn’t want to be creating software for the greater good.
Overall, while the specific terminology used in the book may not directly translate to software development, the underlying principles of creating reliable, user-friendly, and impactful products can arguably be applied in any creative field.
So why is this interesting?
I think for me this is starting to crystalise something I believe I’d misunderstood. Previously I think I was looking for the holy-grail of digital assets: a toolkit to solve any need. I think my 24 years of digital have mostly cured me of that. Now however this new concept make me feel there’s a better more ethical approach that just having ready to go solutions: the ability to interpret need.
What both of the archicture books lead to is accumulated skill in a role of interpreter, someone who comes from outside the community being served. Through application of skill in architecture and facilitation they interpret need and recommend solutions, testing and evolving ideas until the solution hypothesis is confirmed. What’s particularly exciting is that this gives a framing for knowledge transfer, something at the heart of building capacity in the third-sector. By working out loud with a community you’re interpretting for you both learn their language, the dialect and uniquessness of those you’re helping, but also they learn about how to build what they need.
I’ve carried a deep felt confusion for delivering services, often feeling like it was in conflict with internal capacity building, and I feel this framing helps me see how it builds to a bigger picture. Delivering services can contribute to the wider third-sector capacity need if done well. Growing the strength of the charity sector enconomy… speaking of which…
Can we stretch this further? 🍩
Donut Economics is an economic theory that proposes a new way of thinking about the economy that is based on ecological principles, social justice, and human well-being. It is based on the idea that the economy should be designed to operate within the ecological limits of the planet, while also ensuring that everyone has access to the resources they need to thrive. Something I’ve been reading up on as a bit of a laggard in this field of economics.
The concepts of “functional, beautiful, and meaningful” (or “robust, well designed, and impactful”) translate fairly cleanly to both architectural and the values we hold in software development at DEV:
Designing for ecological sustainability: Donut Economics emphasizes the importance of designing economic systems that operate within the ecological limits of the planet. This means creating products and services that are environmentally sustainable and do not deplete natural resources.
Prioritizing human well-being: Donut Economics emphasizes the importance of prioritizing human well-being over economic growth. This means creating products and services that enhance people’s lives, rather than just maximizing profits.
Emphasizing social justice: Donut Economics emphasizes the importance of creating economic systems that are fair and equitable. This means ensuring that everyone has access to the resources they need to thrive, regardless of their income or social status.
All very encouraging when trying to build an impactful, sustainble, infinite-game digital cooperative.