My co-worker shared an experience of how bad relationships prevented him from building a software platform. I’d never heard of someone blaming a software failure on relationship dynamics, and it resonated with me.
“They didn’t understand how to build a platform. They had two teams with separate lists of priorities and roadmaps. Neither team wanted to work together. They didn’t realize building a platform required cooperation and collaboration.” - My co-worker
Platforms are enticing because they can solve a problem once for a large number of customers--small amount of investment for big gains. But they require choreographing multiple stakeholders (people that use the platform) and teams (the people that build the platform).
“Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure” - Melvin E. Conway
Conway believed that our relational dynamics are reflected in the software we write. We’ll build reusable software when we have people working together. We’ll build one-off services when we don’t.
Human connection is important to me and I want to believe it’s important to my work. My co-worker was eventually fired for failing to build the platform.