Red Squirrel Reflections
Dave Hoover explores the psychology of software development


[Previous entry: "Enmeshment"] [Main Index] [Next entry: "More of the same..."]

Relationships: Objects and People
Friday, June 4, 2004

At the heart of my passion for software development is the desire to cultivate relationships and comprehend dependencies. I posted the following comment in response to something Laurent wrote in this post:

Laurent:
"You sometimes hear that managing a team is "all about the people", but that's a gross oversimplification. It's about managing relationships between people, which is a much more complex proposition..."

My reframe:
"You sometimes hear that object-oriented programming is "all about objects", but that's a gross oversimplification. It's about managing relationships between objects, which is a much more complex proposition..."

I've started wondering if there are any similarities between what it takes to manage inter-object relationships and what it takes to manage interpersonal relationships. Eric considers the topic in Domain-Driven Design, page 495:

"The essence of good object design is to give each object a clear and narrow responsibility and to reduce interdependence to an absolute minimum. Sometimes we try to make interactions on teams as tidy as they should be in our software. A good project has lots of people sticking their nose in other people's business. Developers play with frameworks. Architects write application code. Everyone talks to everyone. It is efficiently chaotic. Make the objects into specialists; let the developers be generalists."

Posted by Dave

Replies: 1 Comment

That's an interesting way of thinking about object oriented design. I've heard people talk about development processes being the "operating system or object library of software teams". I guess that closes the loop.

Posted by Michael Harmer on 06/05/2004

Powered by Greymatter