Published on February 02nd, 2009
The electronic design automation (EDA) market is relatively small with an incredibly wide variety of software from hundreds of vendors (DAC 2008 had nearly 250 exhibitors), many of them startups, each trying to solve complex but niche problems.
EDA software is typically not just off the shelf software. Each design team has very specific requirements and the software must be integrated into their design flow. This typically requires customizations and scripting for each customer site. The software must operate in a heterogeneous computing environment with a complex network of computers running a variety of operating systems.
Providing technical support for such complex products requires extensive domain knowledge, computing and scripting skills, and in-depth knowledge of the tool. Of course, it also requires good communication and people skills and oodles of patience.
Hiring, training and retaining a good technical support staff is a daunting task for a small EDA company. The answers to most problems cannot be found in any manual. With the relatively small number of customers, it is also a challenge to balance the load. A small, dedicated support staff may get overwhelmed at times and be idle at other times.
EDA vendors are in the business of providing a solution and not just software. This implies software bundled with services to help the design teams achieve their goals. Technical support to quickly and effectively solve customer problems, especially when close to a tape-out, is a very important service that all EDA vendors must provide.
This service component of the solution is even more crucial for small EDA startups where the technology is nascent, and the customer is still learning and in the process of integrating the software into the design flow to realize the full benefits. Technical support can be the factor that determines the customer's satisfaction with the technology and whether the customer will continue to use the software, roll it out broadly through the organization and recommend it to peers in other organizations.
How can a small EDA company get kudos like these from their customers?
"In all my years in IT (almost 20 years now) I've never received technical support from a company that is as good as what I've got from ClioSoft..."
"NONE of the many other EDA vendors we deal with does support better."
"... ClioSoft provides the BEST and most timely support of any of our EDA vendors!!!..."
Firstly, founders and top management have to realize the importance of technical support. EDA software is very critical and has a direct and significant impact on the productivity of a design team. Design schedules are critical and issues with EDA software can result in incorrect tape-outs and very expensive re-spins.
Customers realize that software, and especially EDA software, will have issues. They are taking an even bigger risk by adopting software from a startup. Therefore it is the EDA vendor's obligation to make sure that the customer is successful.
Furthermore it is just plain good business practice. Given the size of the market and the very high cost of customer acquisition, every customer is vitally important to the EDA startup. The success of the company is intimately tied to the success of the first few customers.
Management must then communicate the need for excellence and timeliness of customer service and technical support to the entire organization. The communication is not complete with a one-time memo. The importance of customer service should be re-iterated regularly both in words and in action.
Of course, we want to provide online knowledge bases and excellent documentation so customers can help themselves. Of course, we would like to create a technical support organization to 'shield' the developers from customers. But wait – not just yet! Due to the dynamic nature of the technology:
Documentation is likely to be sparse and incomplete
Customer questions cannot be anticipated
Customer problems are likely to be very involved
Technical support engineers cannot keep up with the changes
Avoid the temptation to create a separate technical support organization. Instead, use the software developers and managers to provide technical support. Of course, you need to carefully organize and monitor the support process and deploy the necessary software or services to ensure that:
Developers, who have a limited number of support hours, can still do their day job and meet deadlines without being constantly interrupted
Support load is monitored and evenly distributed so no one is overwhelmed
Issues are matched with developers who have the expertise to handle them
Support issues do not get dropped or fall between the cracks
Though this will surely not scale to a large organization, it works perfectly for a small EDA company, especially in the early stages. By removing the middleman everybody wins...
The customer wins by dealing directly with the developers who are already experts and therefore the highest tier of support. New software is evolving rapidly and it is hard for even the best technical support engineers to keep up with the changes. On the other hand, the software developer was probably involved in the development of the new features, perhaps even in the brainstorming sessions. The development engineer not only knows how a new feature works but why it was designed that way and what the potential issues are. He/she can even look up the code to find the answer. Therefore the issue is resolved as fast as it can be, leading to an increased level of customer satisfaction.
EDA developers rarely eat their own dog food. They may have a theoretical understanding of the design process but usually have little or no hands-on experience. One of the authors, Srinath, remembers (way back when he was a software developer) spending a week at a customer site helping get new beta software off the ground. After interacting with designers for just a week, he had a new found understanding of the design process, how important the software was to the designers and what requirements they had. He went back with a new sense of enthusiasm for the product and new ideas on how to improve it.
Developers may be reluctant, at first, to take on technical support responsibilities. However, they will begin to enjoy it over time as they get:
Direct unfiltered feedback from designers
A real sense of the design process and the value their product adds
Better understanding of the entire product beyond their own their module
Additionally, developers gain new skills in both written and oral communication. It also gives them a wider exposure to the business and adds variety to the weekly work schedule.
More importantly, the EDA vendor now has a much more informed development team that is also more enthusiastic about the products. This directly impacts the products in very positive ways leading to more useful features and better designed software. Developers can also see firsthand the impact of bugs or poor design decisions. This leads to a better understanding on the need for quality and usability. There is no better way to motivate a development team than to have them watch how the end-users interact with their product.
Excellent technical support is a key ingredient for the success of any EDA startup. A cash-strapped EDA startup would do well to co-opt the development team to help provide the highest possible level of support to the customer.
This has many benefits, including resource optimization and a more informed development team, which directly leads to better designed products, a high level of customer satisfaction, and – ultimately – a much higher chance of growth and success.
Srinath Anantharaman is the CEO of ClioSoft, Inc., a company he founded in 1997. He has over 25 years experience in the electronic design automation industry. Srinath was previously a partner at Proxy Modeling, a consulting company focused on front-end design and methodology. Prior to that, he held engineering and management positions at Synopsys, ViewLogic, Vantage, and Silvar-Lisco. Srinath has an MSEE from Washington University in St. Louis and a BTech from the Indian Institute of Technology in Kanpur.
Anagha Pandharpurkar is a Software Manager at ClioSoft, Inc. She has been with ClioSoft for over seven years. Prior to that, Anagha was a software engineer and lead at Tata Electric Companies, India. She has a BE (Computer Science) degree from Visvesvaraya Regional College of Engineering, Nagpur.