Start from the energy budget
For a battery device, the energy budget is the design. Once the measurement interval, the payload size, and the radio duty cycle are known, the achievable runtime is largely determined, and most remaining component choices are downstream of it. We build that budget before selecting parts and then hold the design to it.
This is also where unreachable requirements surface. A year of runtime on a coin cell while streaming continuously is not a design problem to be solved later, it is a specification to renegotiate in the first week.
Choose the radio before the microcontroller
Radio choice constrains everything downstream: antenna placement, enclosure material, the certification path, and how the mobile app is permitted to behave. BLE suits intermittent, phone-mediated products. Wi-Fi suits mains-powered devices that must reach a backend with no phone present. Many products need both, one for setup and one for ongoing data.
Selecting the microcontroller first and then discovering the radio does not fit the deployment is a common and entirely avoidable reversal.
Design for the production line, not the bench
A device that works on a desk but cannot be tested in thirty seconds at a factory is not finished. Test points, a manufacturing test mode in firmware, a way to program and serialise units, and a documented pass or fail criterion are part of the hardware specification, not an afterthought once units are being built.
Keep the bill of materials sourceable
Component availability is a design constraint like any other. We identify second sources for the parts that matter and flag single-source risk while alternatives can still be accommodated, rather than when a lead time has already stopped a build.