Designing a product from scratch is insanely difficult. There are an infinite number of variables - what should it look like, how big should it be, how much should it cost, how long should it work for, what in-warranty exchange rate is acceptable, etc.
Counterbalancing this freedom is the need to get the product in market before the window of opportunity passes. It’s, therefore, necessary to impose some constraints on the system to reduce the variables to a reasonable number and be able to make decisions in a timely fashion. The challenge is figuring out what to constrain, and what to vary.
When we were building the first version of Roomba (R1), we made the early decision to set the Cost of Goods Sold (COGS). This decision proved invaluable as we were faced with the constant desire to add new features (aka “feature creep”). For every new item we added that impacted the COGS, we had to make up the cost delta by removing other features. This approach forced us to prioritize, and as a result, made our product development process more efficient because we wasted less time working on features that would be cut out later.
Another set of key constraints the team made for Roomba was the diameter and the height of the robot. We set the diameter such that the robot could fit between the legs of a standard chair. The height was based on that average clearance under a sagging couch. By locking down these two dimensions, the team was able to more quickly and make decisions on items such as the sub-system locations, dustbin volume, packaging size, etc.
As you design your product, embrace the power of constraints and leverage them to accelerate your process.
Questions or feedback? Feel free to send a note to one of our engineers.