DEV Community

Discussion on: Single-responsibility principle applied to an Organization

Collapse
 
harrim91 profile image
Michael Harrison

I agree. I think that SRP is not only a software design principle, but a system design principle. I think any kind of complex system can benefit from this principle!

Organizations, departments and teams are complex systems, just like software.

The departments that make up an organization can have responsibilities within that organization, to help the organization achieve its goals. The teams within a department have responsibilities to help the organization achieve its goals. And the individual roles within a team also have their own responsibilities to contribute towards the teams success. (I say role and not person, because multiple people can have the same role in a team).

Using single responsibility principle, keeps teams focussed, stops them from getting overloaded, and stops other teams doing duplicate work.

In practice, it might not be practical to adhere to just one responsibility, but over time as an organization grows and changes, the principle can be used to "refactor" your organization and team structures. For example, if one job role is having to do lots and lots of different things, maybe you need to split the role up and hire somebody else to take responsibility for some of the work.