Also, in my experience, most of cases like this happened in places were the management was kind of "absent" or "defective" in some way. For example when you have the next level of management hierarchy in another place/country. In such a case, often, the dev/engineers are considered autonomous and they are just trusted and expected to "take care" of all the technical things, with little supervision.
If you are already inside a team, I think that there is little to do to create a similar environment, except trying to get the maximum "power"/"position"/"space" from the company, and using that to organize yourself with the persons you are interacting with in your team.
Trust is the key element. But other members have to earn your trust, and on the other side, you should also ensure to worth the trust of your company by being reliable and deliver. Most of the time, even management will let you a lot of "space" if you are use to reliabily take over "loads" off of their shoulders.
The worst case scenario is when there are persons in management that have "bullshit" jobs like "scrum masters" where they have to do "something" to justify their work.
Otherwise, if you are in the lucky position of creating a team, the best thing is to try to have a multi disciplinary team with most of the people with a specific responsibility on some components of your system.
This is the exact opposite of saying that you have a an agile pizza team with all members that should be equal on all subjects and easily be interchangeable at will on whatever subject...