A lifetime designing PCBs: Focus on functional specs
This is the seventh article in a series about my career experiences in the PCB design industry. The previous articles discuss my lessons learned as a designer, running a service bureau, and my initial involvement in software development.
In 1992, I began working at Intergraph, which had a PCB fabrication plant and a design service bureau, with both groups using the Intergraph fab and design software developed by the electronics division. Communications between the teams made for a broad understanding of the details of the PCB process, which ultimately helped improve the software.
When I arrived, the company was in the middle of rewriting its UNIX-based MicroStation product, which was based on a mechanical core that had too many database limits for PCB. These limits made it difficult to support large PCB designs and meet the latest circuit and fabrication technology advances. The intent of this project, called Magellan, was to create a new platform for PCB layout on UNIX so that it would still run on Intergraph hardware. The goal was to keep the best functionality of MicroStation – without the limits, integrate some of the DAZIX technology, and provide an entirely new user interface.
Although the team was well into the project, much was still unfinished. In our spec review meetings, we almost always found there was more to do than expected. Someone would mention a small detail, which would lead to another item, and another. At times, it seemed like we would never finish, and as it turned out, we never did finish Magellan.
Windows ≠ Unix
A corporate decision was made in 1993: Microsoft Windows would be our primary development platform instead of UNIX, but as it was not possible to port Magellan to Windows, the project died. The good news is that it gave birth to what became the VeriBest PCB product. With a fresh new start, we applied a lot of the lessons learned during the Magellan project, one of which was that design-by-committee often blocks innovation and delays completion.
My primary responsibility for VeriBest was managing the functional specifications. Personally, I focused on the user interface design, writing nearly all of the documents myself, which helped maintain consistency. At that time, it was for Windows 3.1, and later updated to Windows NT. We wanted the user interaction experience to align with Microsoft standards; however, since Microsoft products were office applications, our graphics-based tool could do things that were not defined in their standards.
I developed a principle that went like this: “Our user interface design is to obey the Microsoft standard unless we create a method that is more productive and easier to use.” Specifically, we came up with new methods for interactive editing during placement and routing. When it comes to user interface design, there needs to be a clear set of consistent principles enabling creativity, or else the product will not be as desirable or productive for users.
Clay Knight, the Senior Technical Manager, and I worked closely together. He was definitely “the man behind the curtain”, enabling me and the others on the team to work effectively and cohesively. One of the things he did over the years was carve out a notch in a stick for each release that we successfully got out the door (right). We celebrated with this, and it embossed in memory our accomplishments over the years.
During this phase of my career, I learned a lot about writing effective functional specifications. Clear communication is the most important writing skill. Using precise words makes such a difference, especially with developers who take the specs literally.
My writing skills were weak early in life, but became stronger. In the 4th grade, I flunked English grammar, and struggling at summer school, had difficulty even understanding the word “grammar”. Somehow, I passed the course, but it really didn’t help much. I was much more interested in sports than in language.
In high school, a friend on the track team gave me a gift for my graduation – it was a Roget’s Thesaurus. At first, I thought it was odd and borderline ridiculous. But now I am thankful for this life-changing gift. He knew it could impact my language skills, but I’m sure he didn’t realize how significant it would be.
I found myself fixated with looking up synonyms so I could use just the right word for what I wanted to say [ed: le mot juste]. Ultimately, as I got more involved in the spec process, I realized that creative ideas do not get implemented unless they are communicated with just the right words, which not only define what needs to be done, but present it in a compelling manner.
Another important aspect of communication regarding design specs is adding images to illustrate what is being described. When creating a new dialog or defining user interaction, the process of creating a picture of what I imagined allowed me to learn if my ideas would work together. If not, I would keep making changes until it felt right.
A third technique I applied to my specs was adding a bit of humor, usually self-effacing. This was to ensure that the reader did not lose interest in my sometimes long specs. Having it read like an engaging story as opposed to a tedious tome made a big difference.
Documenting innovative ideas by choosing precise words, creating meticulous images, and adding humor – together, these make up my secret sauce for effective functional-spec writing.
By early 1995, my work on the first release of VeriBest PCB was finishing up, and although the project was a challenging and fulfilling experience, I was restless. At 46 years old, I felt that I should have achieved more of an upper management position. The opportunity came, but it wasn’t what I imagined.
- An Excellent History of CAD
- Tech paper writing tips: A dark and stormy night
- Yes, Engineers Can Write Better
- A lifetime designing PCBs: Early design adventures
- A lifetime designing PCBs: Job shopper to service bureau
- A lifetime designing PCBs: Switching to eCAD
- A lifetime designing PCBs: From design to software
- A lifetime designing PCBs: Merging design and fabrication
- A lifetime designing PCBs: Improving autorouting & design software
— Charles Pfeil is a Senior Product Manager at Altium, working on definition of their products with a primary focus on routing tools.