Let's face it, every embedded software developer knows that management is more likely to approve the purchase for a $50,000 spectrum analyzer than a $1,200 debug probe with ETM trace capabilities. Purchasing a compiler, trace software, analyzers or any other tool that would make software development easier, faster, or cheaper simply results in management asking why an open source tool can't be used or whether a developer can get by for now without. Here are five justifications developers can use with management to push that desperately needed tool through the approval process.
Justification #1 -- Development Speed Increases
For any project, the most expensive budget consumer is undoubtedly engineering time. Productive and knowledgeable engineers with their loaded salary (including benefits, vacations, etc.) can easily top $150,000 per year. As a rule of thumb, the break-even point to purchase a tool that improves development speed by 1% is $1,500. A greater increase in development speed or a lower cost per percent is a no brainer purchase. Stop the debate and just buy the tool.
Justification #2 -- Decreased Bug Rate
Software bugs can be extremely expensive and need to be taken seriously. Just look at the payout for Toyota's unintended acceleration bug (greater than $1 billion) and it becomes obvious that a single bug could potentially break a company. A good software analysis tool can cost anywhere from $400 to $10,000. A company with a good metrics tracking program could easily calculate the average cost per bug and the bug number per project. The result could then be used to calculate the bug number that is required to reach a break-even point.
An alternative calculation is to estimate how many hours are spent debugging per year and then determine if the analysis tool can decrease that amount by at least the equivalent dollar amount. For example, purchasing a $400 analysis tool would need to decrease debug time by a little over five hours per year assuming the fully loaded hourly rate for an engineer is $75. The more expensive $10,000 tools would need to decrease debug time by approximately 130 hours. Spread those hours across a few team members and suddenly even that expensive tool looks like it will save the company money in the mid to long term.
Firmware for Embedded Systems. Jacob Beningo will be leading sessions on HAL design for MCUs, real-time software using Micro Python, and how to create an IoT device in 45 minutes — all happening at the Embedded Systems Conference , Sept. 21-22, 2016 in Minneapolis. Register here for the event, hosted by Design News ’ parent company, UBM.
Justification #3 -- Efficient Bug Removal
The later in the development cycle a bug is discovered, the costlier it is to fix. Obviously a bug discovered during the requirements phase only needs to have a document updated, which takes maybe 15 minutes. Discovering a bug during testing though, that could take days or maybe even weeks to track down. A bug that takes an entire day to resolve costs at least $600 in just engineering time let