11 Lessons from Microsoft

(Alex Hinrichs, a long-time Microsoft release manager, just announced his retirement. Here are some of the lessons he’s learned, posted on LinkedIn). I heartily agree with all of these! 

    1. Engineering is all about people. Big software projects are built by giant human systems, and giant human systems run on relationships. Good relationships require trust. Trust is built via daily face-to-face rituals. When there is trust, then and only then do you have an environment where the best ideas win.
    2. Define and agree on the PROBLEM… And then work on the SOLUTION. So often, people will argue and argue about how to solve something, and 95% of the time, they can’t agree on the solution, because they don’t agree on the problem they are trying to solve. Once you step back and truly define the problem, frequently the solution is obvious.
    3. Public accountability is how you drive results. People do not want to let down their boss or peers, so get people to publicly state a commitment. If they don’t deliver, they are judged as unreliable or inconsistent – worse than being wrong.
    4. If no one knows who is doing something, then YOU do it. Grow your scope by aggressively taking ownership. Don’t wait for your manager to give it to you – just go take it. When doing this, you risk stepping on someone’s toes, but don’t let this stop you. They’ll yelp and let you know if you over-stepped.
    5. Whoever writes it down first wins. Bring clarity to chaos, and then write it down. It’s difficult, time consuming, requires lots of face-to-face time, and often needs re-working, but it’s the way teams make progress with confidence. When YOU are the one to write it down, then YOUR version of what to do is what gets done and everyone else is an editor – not the author.
    6. Idea -> Proposal -> Plan. When talking about what to do, make it clear to everyone what stage of thinking you are in else they may mistakenly execute on what they think is a “plan” when it’s really only an “idea”. Idea: we should paint the living room. Proposal: let’s paint it blue this summer. Plan: On June 20th, Acme painting company is painting the living room Nobility Blue. Oh.. and every plan must have actions, owners and dates, or else it’s not a plan.
    7. If you bring a problem to your boss, you must have a recommendation. When presenting solutions to your boss, give them a menu and tell them your recommendation. “Hey boss, choose solution a, b, c, or d… I recommend a”.
    8. Right Decision, Wrong Decision, No Decision: No Decision is the worst. Make a decision and start executing, rather than leaving the team in limbo. If the decision is wrong, then you and the team will learn quickly and course correct.
    9. “No a**holes” hiring rule. No matter how smart or talented, they destroy your team. The smarter and more talented, the more destruction. Your team members waste tremendous amounts of time mollifying them, or worse, working around them… and losing faith in management for not fixing the hiring problem.
    10. Grow your superstar powers and be known for being excellent at something specific.  Being well rounded is over rated. Get awesome at something and people will seek you out as that-thing-you’re-great-at person.
    11. Finish – no such thing as a “starter”. If you don’t know how to finish, then you don’t know how to start. And the only way to learn is to do the painstakingly hard work of actually finishing.