Posted by Tom De Schutter on July 1st, 2013
Last week I was in Cambridge, UK. Although the weather wasn’t great, which seems to be pretty standard every time I visit, it actually didn’t rain a whole lot which was a victory in itself. On one of the evenings I was eating with some colleagues at a restaurant overlooking Parker’s Piece, a 25-acre square of grass near the center of Cambridge. Frequent visitors of Cambridge probably know the place I am talking about. Although the place is regarded as the birthplace of the rules of Association Football (at least according to Wikipedia: http://en.wikipedia.org/wiki/Parker’s_Piece), it was actually a bunch of high school children playing cricket that got our attention. Given that my colleagues were from the UK, it was the ideal time to learn more about the rules of this “mysterious” game. I can’t say that I now consider myself a cricket expert, but it was fun to learn and actually see many aspects of the game.
Like with all team sports, I learned that in cricket each player has a specific task and position to attend to and each of these positions has a specific name, which I really cannot remember anymore (at least not without checking Wikipedia). It is fascinating to hear the role of each position. Again, like with all team sports, there is a captain who is responsible for making tactical decisions such as determining the batting order, the placement of the fielders and the rotation of bowlers. This reminds me of the program manager role in electronics companies. The impact of having a good program manager can be huge for the schedule of a specific project. He or she is making sure that the relative order of tasks, the interdependencies between deliverables and the amount of resources allocated to a specific task are all aligned to optimize the overall schedule and produce a quality product on time. The program manager role becomes even more vital when you cross team boundaries and especially when you cross the boundaries between hardware and software teams. That is why virtual prototyping is most successfully deployed at companies who insert a strong program manager into the process. Similarly to how a team’s strength often relies on its captain, so does a hardware-software co-development project, enabled by virtual prototyping, relies on tight coordination between hardware and software checkpoints and thus needs a good captain (aka program manager) to make the tactical decisions. There is no better way to create a great overall product than by ensuring coordination across the different pieces.
This also reminds me of a fun video that I saw over the weekend. It was made for father’s day and shows that old enemies can always become new friends. With virtual prototyping in the role of matchmaker, hardware and software have reached a new level of friendship.
Enjoy the video: