Level 0: Multiple intermediaries
For example, developers talk to a business analyst who talks to a project manager who talks to a business representative who talks to customers.
Level 1: Single intermediary not accountable for outcomes
For example, developers talk to a project manager / product manager who manages requests from customers.
Level 2: Single intermediary who is accountable for outcomes
For example, developers talk to a product manager OR business person who is accountable for outcomes. I see this as the Scrum ideal.
Level 3: Team directly engaging with customers and data AND directly accountable for outcomes
For example, developers/engineers engage directly with customers and data. If there are product managers or analysts, they are facilitating this direct engagement, not acting as intermediaries. I see this as the Extreme Programming ideal.
See also
In my expression of Agile doctrine, I mentioned “reducing the distance between problems and problem-solvers”, in other words, disintermediation.
Henrik also recently mentioned this in a recent talk: