hardware product design checklist