No one loved group projects in school, but working together as a team is important at any level of business.
Working in a team always can be complicated, but that’s especially true when developing engineering services for medical devices, said Mike Goulet, Program Manager and Principal Software Engineer at Sunrise Labs. That’s why developing processes that run on their own, like continuous integration and automated testing, is critical.
“One benefit and one real challenge in medical device development is … controlling the tools that are used to develop the software. One of the projects I was on recently, I think there must be 20, 30, 40 maybe 50 if you add it all up – [there were] so many tools involved in that build of software between compilers, handwritten tools, off-the-shelf products, repositories, testing tools,” Goulet said.
“When you’ve got 20 developers, and you say, ‘This is how you’re supposed to develop the software, and these are the tools and configurations you’re supposed to use,’ it’s really, really important you do it in a very specific way because we have to control the inputs and outputs.”
That’s especially true in an industry like the heavily regulated medical device space. With continuous integration, all members of the team can find the right tools all in one place.
Keeping everyone on the same page and making sure the software stays in compliance is among the benefits of deploying continuous integration and automated testing, and, as Jim Turner, Director of Software Engineering at Sunrise Labs, noted, it’s an opportunity to make sure work isn’t repeated or undone, saving time and money for the client.
“The concept is not too hard, but entropy is at work. You get developers, you get five people together, and you don’t have control over what they’re going to do – you’ll have a mess on your hands very shortly,” Turner said. “So, think about the universe wanting to break apart. So does your code, ultimately, so you’ve got to put the processes together to bring it back.”