Software is designed by and for people. How do the relationships of those people affect the architecture of the software itself?
When looking at software systems, I ask: "What do people need, and when?" Often people's needs take the form of things they need to know, but sometimes their needs might be for control, or stability, or the peace of mind that comes from not needing to know anything at all.
I am interested in both the design of the software itself, and the broader system that the software is a part of. Some of the questions I like to ask are:
I'm not a software architecture expert. But I think the relational lens is a fruitful one when making structural decisions. My goal is to develop and share a better understanding of how relationships impact architecture, so that projects can use that wisdom in their design.
Right now, I am primarily exploring this topic by going on 'Project Tours'. These are recorded sessions in which an open source maintainer functions as a tour guide to their project, showing me the lay of the land and answering my questions about how their design reflects the relationships and needs of contributors and users.
If you are a maintainer who would like to participate, please fill out the form below. It's totally free so long as you're willing to have the recording of the tour posted publicly. I can also do tours privately for a fee, but I encourage folks to allow me to share the recording, as it can be a very helpful tool for onboarding new contributors.
Copyright © by Shauna Gordon-McKeon. All materials on this site are licensed CC-BY-NC unless otherwise stated; please contact me directly if interested in commercial use.
This website's design is based on a theme by Themefisher. It is built using the open source projects Bootstrap, Jinja, Python Markdown, Shuffle JS, SlimSelect JS and LiberaForms.