manage [growing software]: a team can keep everything together (create a monolith) or a team can divide a project into smaller pieces (create microservices). Gareth Rushgrove https://blog.heroku.com/archives/2015/1/20/why_microservices_matter
to manage a growing team: keep everyone together or divide into smaller sub-teams Gareth Rushgrove Gareth paraphrasing https://blog.heroku.com/archives/2015/1/20/why_microservices_matter
a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure Gareth Rushgrove
into several dimensions and successively into a sequence of chunks, we manage to break (or at least stretch) this informational bottleneck. Gareth Rushgrove The Magical Number Seven, Plus or Minus Two: Some Limits on our Capacity for Processing Information, 1956
created in multiple ways, such as by restructuring the team to reduce the need for coordination… Gareth Rushgrove Findings from Communication Overhead: The Hidden Cost of Team Cognition, 2004
to optimize on the technology, giving priority to technical solutions and compelling the social system to adapt to it… Gareth Rushgrove https://en.wikipedia.org/wiki/Coevolution#Technological_coevolution
social system, giving priority to existing social patterns and procedures and compelling the technology to fill in what gaps remain. Gareth Rushgrove https://en.wikipedia.org/wiki/Coevolution#Technological_coevolution
a reciprocal process of joint optimization, through which both the technical system and the social system change to some degree in response to each other Gareth Rushgrove https://en.wikipedia.org/wiki/Coevolution#Technological_coevolution