Tempted by a recent promotional offer I upgraded to Windows 8 three days ago. So far my experience is mixed, but I’m not going to bore you with that. Instead I want to point out two things that Microsoft is doing with Windows 8 that are in my opinion noteworthy.

First, this is the first true innovation in computer UI in years. Last thing this innovative was iPhone’s UI. While Android is – in terms of its UI – merely a clone of iOS Windows 8’s tiles are something new and very different. It remains to be seen whether this UI will be accepted, especially by the desktop/laptop users. By necessity innovative UI has some learning curve that is much steeper between Windows 7 and 8 than it was between XP and Vista/7. But even if people will reject it and MS will have to revert to the “Start” menu (invented for Windows 95 almost twenty years ago) they should still be praised for at least trying something totally new. Brave, risky – and, I’d say, a bit unexpected coming from an aging corporation.

Also, the concept of unifying the UI across devices to deliver a coherent experience on all of them is interesting. It is not exactly new – last time Microsoft tried it the other way round: Windows CE had desktop’s UI that required a stylus to navigate. In Windows 8 the desktop did get the Start screen that was clearly designed for touchscreen devices. While it usefulness on a laptop/desktop is dubious I have to say it is surprisingly easy to work with using keyboard and mouse.

But this concept serves another purpose. I think I see the MS’s strategy behind it. They want to regain lost position in the mobile world by leveraging their dominance on the desktop. They hope people will like Windows 8 on laptops and tablets enough to buy Windows phones to go along with it. This is both clever, daring and something they successfully did before – when they overslept the Internet phenomenon they fought they way back by winning the browser wars from their Windows stronghold. Now they want to do it again and the time is high, because if things continue as they are few years from now keyboard-equipped computers may be used only by professional software developers and the like. So current desktop dominance will become less relevant and it makes perfect sense to us it now while it still matters.

All of that of course explains why they sell Windows 8 for around $50 – much cheaper than before. They will do everything in their power to make sure everyone will be familiar with the tiles interface. One company that certainly hopes this will work is Nokia – but this is a completely different story.

I have recently met with a team whose manager was trying to be their Product Owner, their Scrum Master (the SM originally assigned to their group kind of slipped out unnoticed a couple of months earlier), their technical leader – and at the same time think of their department future, lobby for the product they were making (an internal system and associated framework) and overall provide political cover. One of our trainers was leading a retrospective and as I was listening in the team told that manager a couple of times: let us decide, let us do things, let us fail even. What was amazing was how those statements bounced off him – it was like if they were speaking Mandarin, the guy just didn’t notice.

This is a pattern that I see often: a manager that is trying to be everything for “his” team, play all the roles at least a little bit – and in the end fails to do any of them well. I think drivers of this behavior can be different in each case (for example this guy is not a power freak, but rather is intellectually drawn to everything: to him all is interesting and worth exploring, knowing, so he tries to get at least a bite of everything), but the net result is always the same – employees’ creativity is stifled, after a couple of tries their own initiative is gone and healthy self organization has no chance of occurring.

This is, of course, nothing new: delegation was always a challenge faced by leaders. However, the “traditional” delegation was the delegation of tasks – what we call for now is delegation of power, delegation of problems to solve. Even more challenging – so even more managers fail to do it right.

Key takeaway: if you are a leader don’t try to be everything, focus on what value you can provide (most likely strategic decisions or providing a compelling vision or coaching) and don’t get in the way of the team.

A theme that I see repeatedly in companies I work with is that they boast how innovative they are. Usually that means their managers demand from their staff to be innovative. At the same time, however, they remind everyone that deadlines have to be met and all has to delivered – and it has to be done! In other words, they make it very clear that there is no room for mistakes and everything has to be done as planned (or, more frequently, as it was already promised to clients by sales). Then they wonder why they get little real innovation – the most obvious answer being that their employees are stupid, because Google scooped “all the good ones” from the market and so we, poor managers, have to do with these lazy retards. How wrong!

Innovation is, by definition, trying new ways of doing things that have not been tried before. If you look at it from this angle it is obvious that more often than not this must end up in a failure. Most things no one tried before are not good ideas – only a few are, but you won’t know it until you try them. And even if you stumble on a really good idea it will need a lot of perfecting and improving before it will be a useful product. “The devil is in the details” – so this process will also involve a lot of failures.

Therefore, in order to have innovation you must make ample room for failure. That means you have to make it safe for people working for you to try new things. They have to know that if they try something new and it won’t work they will praised for trying rather than punished for failing. That is what “investment in innovation” really means. It is not about creating an “innovation department” or buying new hardware or “managing innovation”, it is about being ready to pay for things that very likely will get thrown away.

Someone may ask: what if we can’t afford it? What if we don’t have money to spend on things that won’t work? Then you can always be at least honest with your people (which is always a good idea anyway) and tell them: don’t try new ways of doing things, lets stick to what we know will work, because we have very little room for maneuver this year/quarter/whatever. They will understand. And you will not fool yourself you are “innovating” when you can’t.

But does it really take that much investment in terms of cash to foster innovation? I don’t think so, but this is a topic for a separate post.

The most common complaint I hear from developers is that their managers push unrealistic deadlines on them. The managers come and say something must by done by this date – and won’t take “no” for an answer. The developers then work nights to deliver on a promise they didn’t make – usually only to get more features added two weeks before the deadline.

This is a fair complaint, the only problem I have with it is that the developers generally deliver. The managers in the end do get what they asked for – at least it looks so on the surface. No wonder they come again and do the same thing. Their whole experience tells them this is how things work and many of them genuinely believe they act correctly by pushing unrealistic deadlines on their subordinates (known under a number of euphemisms like “challenging workers” or “driving folks hard”). How are they supposed to know this is achieved by degrading quality of the end product? Usually they lack knowledge and time to thoroughly check the product and many ill effects of poor craftsmanship in software take months if not years to become painfully visible (technical debt).

In other words developers just train their managers in dysfunctional behaviors, over and over again confirming their experience that those behaviors will produce desired outcomes.

So, if you are a developer: yes, your boss is probably a moron and yes, he demands stupid things – but it is also you who trained him that way by delivering those things. No wonder he comes for more. It is a vicious cycle. Want to break out of it? You have three options available to you:

  • keep on doing the same thing – write poor code, quick hacks upon hacks, with no tests under pressure just to keep unrealistic deadlines and occasionally complain out of your boss’ earshot to other developers or a passing trainer/coach/consultant hoping in wain things will change on their own,
  • change jobs in hope of ending up in a better environment
  • or try to change the current environment by saying “NO!”.

The only problem is that if you refuse to do stupid things you risk your job. And this is where courage comes into the picture. The rule is: if you want to change anything in your workplace you must be ready and willing to get fired over it. Otherwise you will give in, you will buckle – and things will stay as they were.

Next Page »