In one of the chapters for my forthcoming best practices book, I discuss the importance of informal collaboration between hardware and firmware engineers. When an engineer on one team has a problem, there should be very little, if any, organizational barriers to prevent going directly to a member of the other team to discuss it. One of my reviewers, Vasile Surducan, had this to say:
Maybe somewhere you will explain how the “collaborate on design” principle could work in a company where the information follows vertical with horizontal flow only on top, at the company departments’ leaders. This method of collaboration is a mess because it is modifying the initial content of the information. If you try to speak directly with the firmware technician (assuming you are the hardware guy) and your boss (or his boss) finds out, you’ll be pointed as a bad guy.
As Vasile points out, information gets changed and lost if it has to pass through many people to get to its destination. Imagine this actual conversation (paraphrased) between a hardware engineer and me if we had been required to go up and down the management chain.
Me: “I put the block in reverse mode and I can’t get it to work. This is how it is supposed to work, right?” (Accompanied by a lot of hand-waving in the air.)
Him: “No, it doesn’t work like that, it works like this.” (More hand-waving in the air.)
Me: “How can it work like that? It is missing some information.”
Him: “There is a register with that information.”
Me: “What register?”
Him: “The line size register.”
Me: “Oh, that one? I didn’t know it was being used in this case.”
This type of dialog is very interactive. It cannot be done by writing an email with all the questions because the next question depends on the answer of the previous question. In this case it was an easy firmware fix once I understood that undocumented detail. When difficult problems exist, it is critical to pull together all pertinent engineers to solve them quickly.
The above example illustrates the benefits of informal collaboration. But at times, like Vasile, I have had to deal with more formal organizational structures. Sometimes I was able to reduce the barriers a lot, sometimes just a little. Here are a few techniques, in no particular order, gathered from my own experience as well as others, that you could try, depending on your situation:
These are just some ideas for lowering or eliminating organization barriers. You will come up with other ideas as you look for examples within your own situation where more collaboration would have helped solve problems quicker.
Until the next organizational barrier…