September 21, 2010

A Glimpse into ESI’s... Product Development

Estimated Reading Time: 3 minutes 15 seconds. Read Later

This month, Engineered Notes has invited a guest Blogger to join the conversation. Christy Bermensolo is the Vice President of Engineering at Engineered Software, Inc. and has nearly 12 years experience as a Mechanical Engineer joining Engineered Software in 2006. Feel free to comment on this post or send your thoughts and suggestions to the blogger email, we will make sure she receives any and all of your feedback.

A Glimpse into ESI’s Product Development

Here at ESI, we’re always trying to make our products better. Whether through improving the user experience, keeping up to date on the latest industry specifications, exploring more efficient programming methodologies, or automating our testing techniques. In researching the latest ASME NQA-1 standard on Quality Assurance Requirements for Nuclear Facility Applications, it occurred to me what a transformation our product development process has taken within the past few years. We have always taken pride in a solid, dependable, and technically accurate product and as a result, have consistently released products on a solid design cycle (producing valuable product updates every 1-2 years with little to no maintenance versions required between product cycles). One thing we have been working on in the past few years (driven by our company growth) is creating more definition with respect to our development cycle, while more closely integrating both testing and marketing into that cycle.

During the company’s infancy, product design collaboration meant that the entire team was educated on the basics of designing a hydraulic system, and multiple roles were frequently fulfilled by a single individual. Engineers were involved in the big picture feature definition and intimately involved in testing, but feature implementation details were frequently left to the programmers. A small team of 3-4 filled the roles of calculation analysis, work-flow analysis, UI design, code architecture, coding, and test. This led to a best in class product for the simple reason that we recognized from the start that programmers should write the code, and engineers should provide input into how the program worked.



As our company has continued to grow, we’ve had the opportunity to further focus development roles, increasing our productivity in the process. Our testing is now fully automated and run by developers in test utilizing calculated test cases produced by engineers. This allows hundreds of test cases to be run continually throughout the development process, identifying issues with an implemented feature during development instead of just prior to going out the door, which allows additional flexibility in resolving the issue. Our product development requirements are now lead by product owners who work to define the requirements prior to programming development, talking with various customers, vendors, and students in our many training classes to ensure every feature developed sufficiently fulfills a customer need. This ensures the feature fulfills the work-flow requirement, reduces the number of times a feature may require “tweaking” after initial release, and more closely links development to our customers. The larger project teams also created a need for additional documentation, covering both feature development and coding methodologies.

It’s part of our employee culture to continually look for better ways of doing things, the above examples were pulled from various product design, agile management, and quality assurance methodologies and integrated into ESI’s product development life cycle by dedicated employee’s not afraid of a little change. It’s exciting to see as I review the NQA-1 specification sub-section for Computer Software that they share our view of how best in class analysis software tools should be designed and controlled in order to support even the most stringent industrial requirements.

Now it’s time to hear from you. What key steps in your product development do you think is the most important? What steps are necessary for success? Let us know. Please feel free to share your experiences, or opinions on this blog entry or any other subject that is of interest. I can be reached at blogger@eng-software.com.