Micro Management

Assuming you're working in an environment where you have to communicate and collaborate with others, avoiding micro management starts out with the architecture of whatever you want to build. I was once asked how I would go ahead of leading a software development department, and my answer was; "Well, first of all, I consider everybody to be a lead developer one way or another."

The above is a crucial mindset to facilitate for autonomy. Simply because as developers, our primary objective is often to become better, and as a manager I perceive my primary task to facilitate for that, within an environment where arguably the company's primary objectives, are solved almost as a "side effect" of the individual team members' personal objectives are being solved. By aligning the company's incentives with the individuals' incentives, your team members will be able to deliver 100 times more than if these are in opposition with each other. After a while, it becomes like "gravity". Self sustained software development departments, with such momentum, that for the uninitiated it seems to be like a force of nature, you couldn't stop even if you tried!