Improvisation and Genres
In my thoughts on software architecture, I’ve been attracted by for instance improvisation (in jazz, for instance) and genre theory. Here’s a note from my first day of vacation:
Improvisation matters [to software architecture] because of the conventions, the constraints. The same [goes for] genres, [...] genres evolve [...] by challenging the conventions.
To me, the purpose of software architecture is to constrain the design of software (the internal design, that is). This can be done in various ways; by having an architect designing the overall structure, and documenting principles to be followed, and so forth, or by letting the architecture evolve in close collaboration among a couple of developers (improvisation).
Genre theory is about a multitude of artists (writers, painters, composers) collectively giving rise to new genres, by inspiring each other, challenging each other. Exploiting and challenging the rules.
See for instance “The Importance of Archetypes in Improvisation,” and “Genres as Self-Organizing Systems.”