How do yo limit feature creep? - Page 1
Forum section: electronics / projects

author: technix
author_rank: Super Contributor
timestamp: January 24, 2020, 02:55:08 pm
content: 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?

author: Rerouter
author_rank: Super Contributor
timestamp: January 24, 2020, 03:15:16 pm
content: Set a BOM limit, if it gets too expensive, you need to cut stuff until your back under that budget, this makes for a much more pruning like iterationOh that new micro made me $2 over, well I like that, so where can I scrape back that amount, For me tends to mean I rip up areas a bit more to rework things in a cheaper way.

author: mc172
author_rank: Frequent Contributor
timestamp: January 24, 2020, 03:22:36 pm
content: Sell the centre speaker and subwoofer? That'll anti-creep your project.I don't see how spec. creep for personal projects is ever a bad thing. It's what all people do throughout life - technically, redecorating your house is spec. creep.

author: schmitt trigger
author_rank: Super Contributor
timestamp: January 24, 2020, 03:47:24 pm
content: Agree with mc172;My personal metric? As long it is a personal project, and with each successive iteration you *learn* and apply a new concept, you are fine.Some people like to spend inordinate amounts of time and money making sure that the project not only performs, but also has stunningly good looks. There are many photos on the webs about relatively simple projects but which are frankly, works of art.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 24, 2020, 03:51:30 pm
content: How do you define feature creep vs. product evolution? Where's the line?

author: Wimberleytech
author_rank: Super Contributor
timestamp: January 24, 2020, 04:29:43 pm
content: Quote from: technix on January 24, 2020, 02:55:08 pmEnjoy the journey and don't fret the destination.

author: technix
author_rank: Super Contributor
timestamp: January 24, 2020, 05:44:41 pm
content: Quote from: SiliconWizard on January 24, 2020, 03:51:30 pmSo you consider this product evolution?Quote from: Wimberleytech on January 24, 2020, 04:29:43 pmQuote from: mc172 on January 24, 2020, 03:22:36 pmI can't sell those.I actually have a full 7.1 surround sound setup in my room, which was driven by a Pioneer A/V receiver, and the signal source was my computer over HDMI. Back then I used a much older monitor with 1680x1050 resolution and DVI input, which was adapted into HDMI using a decoder box and was in the whole HDMI signal chain. When I switched to the current 4K monitor, that A/V receiver and the HDMI-based A/V signal chain got deprecated entirely as the replacement monitor required DisplayPort. (Along with it I also deprecated my HDMI 4-way KVM switch, an expensive piece of equipment now collecting dust, having no use at all and I can not sell since nobody has that big a setup.) Now I have that A/V receiver unplugged and six of those eight speakers unwired, while the two that remained wired go to this project.This evolving audio amplifier project is me trying to use those speakers again in some way that agrees with the current 4K setup. Sadly my monitor can only output analog stereo from DisplayPort, which limits my project to at most three speakers and a subwoofer.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 24, 2020, 06:09:52 pm
content: Quote from: technix on January 24, 2020, 05:44:41 pmFrom what you shortly described, yes, completely. Only the 3rd step may remotely look like feature creep - if you consider adding support for center speaker/subwoofer an unnecessary evolution, or at least that would make it a different product (not just stereo anymore). Now if there is growing demand for that in your market, then it's just addressing the demand.If we are talking about making products - you can't avoid product evolution, or your company will be dead. Unless maybe your base product is SO good that it can sell unmodified for decades. Warning: this is pretty rare and usually confined to luxury/niche products. To pull this off, your product had better be real good. And even so, you may need some overhault at some point due to new legislation or something...And if we're talking about personal projects, the question sounds weird. Do whatever you please and be content with it!

author: technix
author_rank: Super Contributor
timestamp: January 24, 2020, 06:24:46 pm
content: Quote from: SiliconWizard on January 24, 2020, 06:09:52 pmI just think I might have overdid it with the third step. An audio DSP is a big function block. (Although once I got the audio DSP I switched my amplifiers to ones that does not support internal volume PGA, as I expect volume control now being implemented in the DSP.)In your opinion, is it cheaper to do the center channel mixdown and subwoofer filter and mixdown using audio DSP or is it cheaper using audio grade op amps?

author: coppice
author_rank: Super Contributor
timestamp: January 24, 2020, 06:30:29 pm
content: For professional projects feature creep is usually the result of either a vaguely defined selling price, or a production date that keeps getting pushed back. Tie down a price and a delivery date and most feature creep stops.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 24, 2020, 06:56:31 pm
content: Quote from: technix on January 24, 2020, 06:24:46 pmWell, ok, the use of a DSP for this may seem overkill, but it's probably going to actually lower part count significantly, and make your design more flexible.Whatever is cheaper will depend on many factors including quantity, and whether you count development time or not (I guess the DSP approach will initially take up more of your time for the software part!)Given the unit price of the ADAU1701, the all-analog version would likely cost you a lot more if you use quality op amps (and again, bigger BOM, probably more PCB area...)But the dev time for the DSP needs to be taken into account as well, and unless it has changed? the tools for those AD DSPs were not free...

author: nctnico
author_rank: Super Contributor
timestamp: January 24, 2020, 07:04:14 pm
content: Quote from: technix on January 24, 2020, 02:55:08 pmSet a time limit!

author: fourtytwo42
author_rank: Super Contributor
timestamp: January 24, 2020, 08:33:25 pm
content: Realize that technology will overtake you!As an individual developer there is a limited amount you can achieve in a year or two for example and in that time the starting choices you made have become obsolete and so your creation is no longer bleeding edge.So in other words after a few years enjoyment it's time to start again

author: technix
author_rank: Super Contributor
timestamp: January 25, 2020, 04:04:20 am
content: Quote from: SiliconWizard on January 24, 2020, 06:56:31 pmThose SigmaDSP's use SigmaStudio as the development software, which is free for at least basic versions. As of debug pod, USBi hardware is open and I have found a copy of its firmware somewhere online (and cloned all of those as my SigmaLink USBi debug pod.)

author: DaJMasta
author_rank: Super Contributor
timestamp: January 25, 2020, 04:21:15 am
content: Split it into a new project or consider the first one done and this one with the extra features to be the sequel.The problem with feature creep is that you get too much going on at once and there are too many places where things can go wrong for it to be practical to troubleshoot or deal with, so if you're doing a more iterative design and adding features, it's not really an issue.In your example specifically: if each version was its own board that was assembled and tested, I'd say it's no feature creep at all and is instead a design building off earlier ones. If all three versions made it to the schematic/layout stage but weren't actually built and tested, yeah, that would be pretty massive feature creep.Just gotta define what you want to do and actually do it. If that proves less than you want overall, nothing wrong with adding more or making it more complex- so long as the first version is done. The risk with feature creep is that you add so many things at once that you can no longer really manageably make the thing work.

author: technix
author_rank: Super Contributor
timestamp: January 25, 2020, 05:03:51 am
content: Quote from: DaJMasta on January 25, 2020, 04:21:15 amI have built, tested and used the first two versions each for a few months. The whole "bugs found in first revision" thing originates from me testing the fully assembled board of the first revision. The third version is now in JLCPCB pipelines.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: January 25, 2020, 07:35:32 am
content: You define a Minimal Viable Product (MVP) - with any less features the product would be useless.That is your version 1. All new-ideas are written down for next versions. Only if show-stoppers are encountered (the design doesn't work, the part is unavailable, etc.) you change it. No 'it will be handy for future extension' add-ons, nothing. Just your MVP.Also set a reasonable time limit. Not so tight you will have to rush things and cut corners (some corner cutting is allowed) that you get yourself in trouble, but don't take forever. Work in iterations of 2 or 3 weeks. Plan one or two iterations ahead.This doesn't mean that you ship version 1. It only means that you have something that works. The next version may add features to distinguish your product in the market. Define what that is and do only that. Repeat.

author: tkamiya
author_rank: Super Contributor
timestamp: January 30, 2020, 12:16:39 am
content: My personal projects are never DONE. There's always something to fix, change, improve, experiment, etc, etc, etc. That's how I often end up with heap of parts and an extra hole or dozen on front/back panels.My Rb + GPS project is in second generation + few modifications. Already has 6 extra holes on bottom panel.

author: thinkfat
author_rank: Unknown
timestamp: January 30, 2020, 12:10:48 pm
content: My personal projects are done when I get bored with them or when they become so useful that I don't want to change anything anymore for fear of breaking something.Recent stuff:- Garden irrigation system - done, because it's in service and I don't want to mess with it any more.- Connector board for a LPRO-101 Rb standard - done, boring- Connector board for a Samsung UCCM GPSDO module - done, waiting forever to be put in a real case to make it useful, but superseded by the next project:- DIY GPSDO board for a LPRO-101 Rb standard. That's what I call feature creep. I started with a simple power connectort hat is about to become a full-blown GPSDO.

author: I wanted a rude username
author_rank: Frequent Contributor
timestamp: January 30, 2020, 10:35:23 pm
content: More philosophically, when you find yourself planning how to fit another feature in, stop and make some tea and think about what else you could be doing with your most valuable possession ...time.When you realise you can create five cool little single-function projects in the time you would spend adding functionality to one project, it really changes your perspective.Rememberthe Pareto principle: 80% of the utility comes from 20% of the work.

author: coppice
author_rank: Super Contributor
timestamp: January 31, 2020, 02:15:55 pm
content: Quote from: I wanted a rude username on January 30, 2020, 10:35:23 pmI doubt that is an effective strategy. Most feature creep occurs because people think what they are adding will take little time and have great rewards. What people need to do is engage in a more critical assessment of the work needed for each additional feature at the moment the idea comes up.

author: mc172
author_rank: Frequent Contributor
timestamp: January 31, 2020, 03:37:01 pm
content: Cram those extra features in and stop worrying about it. If you find yourself worrying about it, become a project manager and crack on with being miserable.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 31, 2020, 03:58:27 pm
content: Quote from: mc172 on January 31, 2020, 03:37:01 pmOr better yet, if you're extra worried about it, become an agile "Scrum Master", make engineers start and stop new things every two weeks for no apparent reason other than the "product owner" decided so, and go sip some beer with the "happiness manager" after the daily scrum and let the engineers become miserable and start wondering why they were even born.

author: Tomorokoshi
author_rank: Super Contributor
timestamp: January 31, 2020, 05:46:46 pm
content: Quote from: SiliconWizard on January 31, 2020, 03:58:27 pmYour post has inspired a new product idea! We could make a new Jira plugin! It would track the enthusiasm and cynicism of engineers over time! It would be called a "Burnout Chart"!

author: DBecker
author_rank: Frequent Contributor
timestamp: January 31, 2020, 06:28:35 pm
content: Quote from: SiliconWizard on January 31, 2020, 03:58:27 pmWait!So I'm not the only one that thinks Scrums are absurd?They work if you are implementing a specific new feature that is already enabled by the infrastructure, but make people working on longer-term efforts look unproductive.Back to the original topic: anything beyond a galena crystal and a nail in an audio system is feature creep. Based on the number of people listening to crystal radios, feature creep has been solidly in style for well over a century. Ask anyone if they *really* want to return to a simpler time.

author: coppice
author_rank: Super Contributor
timestamp: January 31, 2020, 06:40:04 pm
content: Quote from: DBecker on January 31, 2020, 06:28:35 pmI tried looking at scrum some time ago, but when I found they use the term "ceremony" it was clearly a dangerous cult.

author: I wanted a rude username
author_rank: Frequent Contributor
timestamp: January 31, 2020, 10:19:05 pm
content: Quote from: coppice on January 31, 2020, 02:15:55 pmYou're right. I already do this (even with some semblance of accuracy), and tend to forget how hard it was to learn.Once you can estimate the complexity of tasks, then it pays to evaluate their opportunity cost.