Tune up your embedded software design processs
The universe has a natural tendency to take an elegantly ordered system and allow it to decay into pure chaos. The embedded software development process is not an exception to the rule. An occasional software design tune-up is necessary to put the process back on track and prevent pandemonium from ruling the embedded software cycle.
Projects usually start out with well-designed plans. But as problems arise, dead-lines get missed, market pressures increase, and the way in which software is being developed starts to spin out of control. An out of control process results in increased costs, bugs, and stress, and undoubtedly in more missed deadlines. A mid-project software design tune-up may be necessary.
The first step of a software design tune-up is to recognize that it's needed. Just like an automobile or any other piece of equipment, the software design process requires review and adjustments to ensure that it runs as smoothly and efficiently as possible. The second step is to identify what areas are starting to decay into chaos or are already engulfed due to neglect. There are many ways to go about identifying areas to improve but one method that I have found to be very useful is a short, simple survey that takes two minutes to complete.
A survey can be a powerful tool to quickly identify not only the areas of design that require a tune-up but even specific processes in trouble. Take for example a shortened version of a survey that I use with my clients for such a purpose located here. The survey is broken up into four primary areas that affect software development: requirements, design, construction and testing, and a general area that is all-encompassing. Questions are targeted from basic through advanced process techniques in order to identify the maturity of each area.
Responding to the questions using a simple scale of one through five, where one is strongly disagreeing with the statement and five strongly agreeing, and then adding up the responses in each category reveals how well that particular area of the design cycle is doing. The lower the number, the deeper into chaos that area has slipped into. With a simple 20-question survey the overall health of the design cycle can be analyzed. Periodic review can then determine if the scale is slipping or improving. Comparing results across the industry can even help determine whether software practices are on par or behind the rest of the industry.
The third and most important step to the embedded software design tune-up is to develop an action plan. The action plan should identify the top three areas that require immediate attention. An example of a simple high priority item would be creating or using a style guide for ensuring developed software is uniform across all developers.
The action plan shouldn’t just identify the priority, though. It should also identify who the champion of the improvement will be and the next steps that need to be taken. The action plan doesn’t need to be complex, just a few simple sentences listing out the priority, the next step, and who can help may be all that you need.
In the heat of software development, when schedules are slipping and bugs are running rampant, tuning up the software design cycle will be the furthest thing from a developer's mind. But, it very well might be that's when a tune-up should be at the forefront of one’s mind. Tuning up the development cycle will act like a reset: adding order to the chaos, restoring efficiency, and stimulating logical thought. The result will be renewed vigor for the processes that make a developer's life easier, keep a company’s costs controlled, and yield a happy client with an on-time delivery.
Jacob Beningo is a Certified Software Development Professional (CSDP) whose expertise is in embedded software. He works with companies to decrease costs and time to market while maintaining a quality and robust product. Feel free to contact him at email@example.com, at his website www.beningo.com, and sign-up for his monthly Embedded Bytes Newsletter here.
Join over 2,000 technical professionals and embedded systems hardware, software, and firmware developers at ESC Silicon Valley July 20-22, 2015 and learn about the latest techniques and tips for reducing time, cost, and complexity in the embedded development process.
Passes for the ESC Silicon Valley 2015 Technical Conference are available at the conference’s official site with discounted advance pricing until July 17, 2015. The Embedded Systems Conference and EDN are owned by UBM Canon.