Now don't tell me that software is an art. It is no more an art than architecture is. Architects design beautiful buildingswell sometimes! Their designs are artistic in the same way programming is an art form. However, they can also give you reasonably accurate costs for time, labour, and materials. Okay, they can't account for the weather or other external problems, but they are generally quite accurate in their own space.
So why not embedded engineers? Part of the problem is estimation, and software people are not very good at it (yet), but there is really no excuse. For example, a developer should be able to show the benefits of buying 10,000 GBP of static analysis tools: fewer bugs, shorter development time, and more reliable product. You should be able to show that spending 10,000 GBP on a tool will be cost effective. Or for that matter, implementing a "free" Open Source tool which will have different costs and impacts. There's another problem: is it worth 10,000 GBP to the project? Many tools will only be used on one project, while others will be used on many projects for years to come.
I took a course at school called Applied Maths. It was not particularly advanced as it was for students aged 14 to 16. It taught the basics of critical path analysis (our example was servicing an airliner), project planning, estimating, surveying, statistics, and finance. It has been absolutely invaluable and I think something similar should be part of all technical degrees. It gave me the ability and the perspective to play the accountants at their own game. All embedded engineers should be able to do that.
As an aside, I know a small contract company that has spent a lot of money on some tools and an RTOS for a family of MCUs and intends to base all their work on this. They said it was a risk, but after the next three projects, they will be making a larger profit for the foreseeable future from their increased speed of development and ability to re-use tested components from a good version control system. By planning, spending money, and thinking longer term, they are becoming more efficient and cost effective. They have stopped reinventing the wheel and have a box of components they can use.
The aftermath of the recession is the time to do it. Costs are at the front of everyone's minds. Don't let the accountants run rings around you. Get out the spreadsheet and take back control of your projects.
Chris Hills has extended experience in designing, implementing and supporting safety-critical and high-reliability embedded systems, both in the lab and in the field. He founded Phaedrus Systems to serve companies in that space with tools, methodologies, and consulting services. An active participant in standards bodies, including ISO C, C++ and IEC 61508-3, Chris was a principal author of MISRA-C:2004 and is a member of the MISRA-C2010 team and Chair of the MISRA-Languages group. He has written regularly on the standards scene and other areas for over seven years. For more information on Chris, go to www.phaedsys.com.