By Jakob Engblom
I was sent a link to a past TED talk about how to tie your shoes. It is worth watching, and from the discussions I have seen on Facebook around the video, it seems that most people do it the "wrong" way. I have actually started to try to do it the "right" way, and the result is real improvement.
Tying the "right" way does make the bands look better. However, it did require a little bit of practice and a conscious effort to change.
Shoe tying is admittedly somewhat away from embedded systems development, but the principle is general. Doing things in a better way requires three things: understanding that there is an issue with how things are done today (bad knots), knowledge of a better way of doing it (good knots), and the time and effort to change your habits (dedication).
In our world of embedded systems, you will always find issues with how things are done. Too slow, too expensive, too many bugs...finding problems is the easy part. What is harder to find are better ways of doing things, and what is really hard to find is the time and motivation to actually effect change.
A speaker at a Cadence event I attended last year pointed out that life is tough for hardware engineers. In addition to doing their current job of designing hardware, they are supposed to start thinking about how to support software development. How would you find time for that? You are already too busy doing your assigned hardware design work to find time to care about the overall product design process. To really make change happen, you would need room to stop, take a step back, and think about what you should do and how to do it.
We often encounter this when introducing Simics virtual platforms to new users. Simics certainly seeems to provide many useful abilities and has the potential to change development processes for the better (browse through other Simics blog posts for more on what Simics does). Turning that potential into actual process improvement requires both understanding how it work, and the time to implement and change habits.
In the end, it comes down to leadership and management. Individual engineers have to be given the time and incentive to try new tools and new ways to use old tools. Some things could be as simple to implement as a better way of tying your shoes -- while others are more like gathering 1000 people and convincing them all that they really should use shoes with bands rather than velcro-based sandals and to tie these newfangled shoe things in a particular way. There are also people who have not realized that shoes have laces, and the reason that they are constantly tripping and hurting themselves are those loose laces. The good thing about such cases is that tying the shoe ever which way is an improvement.
By the way, for some reason most of my swing dancing friends already knew how to tie shoes the right way. I guess shoe-tying matters more in some cases. If you want to look sharp, you have to invest the time to do things right!