I have detected a tendency of feature creep in my projects. Take my DIY stereo audio amplifier for an example:
* Version 1: A single-chip Class-D amplifier with volume knob and buck converter for power. Amplifier chip has internal volume knob support using a linear pot. Detected a power delivery bug and a click noise bug: power supply don't have enough oomph when volume is high, and when it is powered on or off it clicks. Chip count is 2.
* Version 2: Still that same single-chip solution, bugs are fixed by using a more powerful buck converter and a MCU reset chip to mute the output when the power rail is not ready. Added a headphone jack and corresponding detection circuitry that uses two chips. Chip count is 4.
* Version 3: Almost entirely an overhaul so I can implement a center speaker and a subwoofer from the same stereo input. Implemented a DSP (ADAU1701) to perform all the channel mixing, volume control and filtering. Chip count gone up to 14 (2x power converters, 2x MCU monitors, 2x audio power amplifiers - one stereo one mono, DSP + program memory, headphone detection, and four other 74LVC1G glue logic chips)
How do you limit yourself from such feature creeps?