All Software Problems are People Problems

One of the more fascinating insights from Domain-Driven Design, which is obvious in hindsight, is that human relationships can and will affect even the most purely technical of problems. For example, how two different systems within the same company interface will be informed just as much, if not more so, by how the two managers of the two teams might get along.

If they have an antagonistic relationship, that might show up in various ways. Less integration than is technically possible or advantageous. Or the team with less political clout gets stuck with all of the less exciting tasks, which affects the fundamental design of the entire system. 

Or it could be the opposite. Teams that get along great, have important touch points for communication, and the contours of their respective systems and responsibilities mesh perfectly.

Another example might be when a certain framework or conceptual model is dictated from on high, stifling creativity the further it cascades down.

It was a good reminder that software is made by people, to solve problems that other people have determined need to be solved. Some social rationality and awareness is needed. Navigating these issues, with a realistic view of human nature, is just part of the job.

GET EXCLUSIVE UPDATES
I agree to have my personal information transfered to MailChimp ( more information )
Once per month, I send out a quick digest of what I've been reading and thinking about, plus a book recommendation. It includes any new blog posts. This is the best way to keep in touch and get notified of new blog posts.
I hate spam. Your email address will not be sold or shared with anyone else.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.