With this blog I would like to share the experience of designing and producing a mini-product line within 60 days. You might think that this is not a big deal for an organization consisting of good product managers and disciplined engineers; the difference here is that a single person (the “cowboy”) executed the entire project from A to Z, working on a part-time basis. But before I get into it, I would provide some background and context.
In November 2011, I got involved with company called Alpha Innovations which manufactures anti-static materials for industrial use. More specifically, they make a patented string which includes a conductive thread and little tiny spokes which attack electrons from charged surfaces. In addition, they produce ionizing rods made out of fiberglass and dressed with a similar conductive patented material. The products are sold under the brand name StopStatic. Bill Larkin, the founder of the company and the brains behind this commercial success, approached me to solve a unique problem: the strings and rods work amazing well, but his customers need t know that they do so! he needed some sort of visible and audible indicator showing that static electricity is discharged properly.
But what is really needed in actionable technical terms? what are the use cases? what are the cost constraints? All the right questions to translate Bill’s objectives to the reality of a product.
After visiting a local factory, Web Industries, I saw in my own eyes the real problem – boy, that’s an important problem to solve!
After a couple of weeks, I had created a rough requirements document; at the same time I started experimenting with various circuits (see this blog) and outlined 3-4 possible solutions, using logarithmic amplifiers to measure from nano-Amperes to milli-Amperes, tera-Ohm input circuits and all kinds of wild possibilities. By Christmas day, the first prototype took flesh and bones (described here) and went back to Web Industries to get their feedback – the factory manager was impressed so was Bill. Next steps: create half a dozen units to give to trusted customers for further testing and refinement.
The race begins
By the end of January we were ready to go; to make our life more interesting, we decided to participate to the International Plastics Showcase, April 2nd to 5th. So, we had a hard delivery in 60 days with whatever we could display at the show. But let’s start with the objectives first:
- to test the market and verify the need of this product
- to converge to the exact technical requirements – create several different versions of the product
- meet the deadline of the show
A pick at the units ready to go
From the left to right, the VisioStat VS-400, VS-100A, VS-100 and VS-200; each unit has it’s own special features but all of them share 95% of the same h/w and 100% of the same software. The actual system configuration is shown in the two pictures below. The left side setup is indicative of the string configuration and the right side picture of the ionizing wand. I have also created four short video clips to help Bill and his people to better understand the functionality of the units and prepare for the show. If you are interested to know more details about the use and functionality, you can follow the links below.
Chapter 1: Indicators and Controls
Chapter 2: Adjusting the VisioStat Sensitivity
Chapter 3: Connecting the JunctionStat and WandStat
Chapter 4: Connecting and External Power Supply
At the beginning of the project, the following tasks were known to be executed:
- Create an initial set of requirements with preliminary objective specifications for each variation; do we need 2 product variations or 6 to test the market
- Converge to a h/w design which can accommodate the above variations
- Select the appropriate form-and-fit package
- Decide on visible controls and indicators
- Architect the software, i.e. functional aspects and user interface
- Select appropriate components – trade-offs between feed-through technology vs. surface mount
- Order all necessary parts at the right quantities for a pre-production run
- Capture schematics
- Do the board layout
- Assemble the PCBs
- Deal with all mechanical aspects of the enclosures
- Develop the code
- Design and implement the front panel inserts
- Integrate the units, i.e. mechanical, electronics, software
- Test completed units
- Create instruction videos and documentation
- Ship to the show!
Being a cowboy has an advantage: work fast with minimal time lost to communicate with other; but also a disadvantage: you are on you own, no second pair of eyes to review your work, no help you can count on. By no means you should think that I like to be a cowboy — I’d rather work in the context of a company and apply the same techniques for 100-times bigger projects!
I have applied the same approach to multiple other projects in my past life – the difference here is the required velocity and the breath of disciplines needed, i.e. thinking about product requirements, user interfaces, industrial design, hardware details and software implementation at the same time. What really helped me was my very long commute to netBlazr of more than 2.5 hours per day: a ton of time to think and balance trade-offs while stuck in the Mass Pike. Here are a couple of techniques which I used, in a random order/priority:
- Start with high risk areas: Attack the most difficult and higher risk aspects first; start with the highest risks items or least known; avoid spending time initially on anything you know how to do or have done in the past.
- Consider Alternatives: think of options and alternatives for as many areas as possible; create trade-offs and compare the approaches. Converge quickly to an approach, even if not the best.
- Be Defensive: Murphy’s law applies everywhere: if anything can go wrong, it will; this extends from all mechanical tolerances to details of the user interface, to the software impossible if-else case. Have always a backup plan for all aspects of the project and be ready to flip to it.
- Parallelize Massively: identify as many tasks to be worked in parallel at any point of time. Work like a CPU: run everything concurrently and block when you have an I/O (i.e. external) dependency. Maintain a mental dependency Pert chart of serial tasks and parallel super-tasks. Focus on the super-tasks while you are executing the serial tasks which have no dependencies.
- Design-code-test iteratively: start with a block diagram, create the first pass of the code, use stubs for the details, test as quickly as possible. Apply the same for all system pieces; build the composite code frequently – say every 4 hours of work (!) and test the complete system.
- Be code perfectionist: there is zero tolerance for code mistakes or bugs in an embedded system; if the code crashes the hardware can be damaged and the operator can be hurt. Test and re-test everything and in combinations. If a particular design is risky and not perfect, throw it out and redesign it, re-code it, and re-test it
The above techniques were applicable to all aspects of this project, the mechanical, the electronics, the user interface and the embedded code. Consideration of Alternatives, being Defensive, Design and Test, etc are directly applicable throughout the project.
- schematic capture, PCB layout, PCB deliveries (from China).
- code stability and robustness – entirely in C but very object oriented.
What went worse than expected:
- parts selection and part procurement – too many unexpected delays
- fabrication of mechanical parts – drilling holes, front panel inserts, etc.
But at the end, everything was done on time and shipped to the show…
Feedback from China
After the show, Bill flew to China to talk with local manufacturers and get their feedback. I have a strong suspicion that the next step is all about wireless connection of all the static discharge sensors and a centralized console. It is also very likely that some sort of storage record of statistics will be important. Now we are talking…
If you are a technical manager and you would like to chat more about the above, just contact me! If you have any comments on the above techniques, I would love to hear your wisdom.