Unosquare, with offices in Portland, Oregon, and Guadalajara, Mexico, assisted an Atlanta-based $400 million healthcare services and technology firm in revamping its procedures and IT development processes. Unosquare helped to deliver greater quality and reduce the client’s IT costs. The client delivers products and services for hospitals and healthcare systems throughout North America.
Prior to contracting with Unosquare, the firm’s development staff was also responsible for software testing. Their focus was on unit testing, which examines the functionality of discrete portions of a software program without assessing how changes made in a specific module might effect other modules, or the larger program.
Many argue that unit testing can be time-consuming and tedious. It demands the development team be thorough and meticulously document their work. It is difficult for unit testing to account for every input scenario that may occur when the program is run in a real-world environment.
This is especially true when there is no automated quality assurance (QA) testing, a QA team separate from the software engineers, or a QA testing environment for new releases that is separate from production source code.
For this client, the result was end-users were experiencing too many problems during normal product use. And instead of focusing on developing new features, the client’s development team was spending valuable time pushing out software patches for discrete glitches.
Source code control was also a problem. This is magnified when the QA process focuses on unit testing. One developer would make a change and test that change in the code base, but that change might negatively affect changes made by another developer in the same environment. There was no process or documentation to control the development and release of new features.
According to Mario Di Vece, Unosquare’s Chief Technology Officer, Unosquare responded with three initiatives; an analytical system for pharmaceutical products, a system to categorize products sold in the healthcare market, and an independent quality assurance regime for software development. The key, however, was providing greater discipline to software development and deployment.
“We established a consistent, agile, development process in which we could plan and work through the features that needed to be addressed. We had meetings three to four times a week so that everybody was in sync with what we were doing,” Di Vece said. Unosquare established a process where the client could see a preview of the project each week. If there was some feature or functionality, discussed previously, that was not there, or needed to be changed, the client could identify it early and Unosquare could address the matter, Di Vece noted.
“This dramatically reduced the client’s workload because they did not have to produce detailed specifications, for the most part,” Di Vece said. “We can talk informally and then we will break that down into a set of work items in the proper format. And we keep the client informed and process their feedback every step of the way. We save them time. We save them effort. We document everything. And we get feedback immediately,” he said. Unosquare also ensures the software systems work properly. “If they do not pass quality assurance tests, then new software is not released,” Di Vece said.
The second project, called Product Data Utility, classifies all the products purchased by hospitals or any other health care facility. Hundreds of variables are analyzed for millions of line items. And many proprietary byproducts of that analysis are recorded. All of the elements of the analytical system project were applied here as well, Di Vece said. “We are using our source code control tools, our project management tools, and our issue tracking tools as value-added services, providing full visibility to our client,” he said.
The third project was to set up a dedicated quality assurance team. A major distinction in this effort is that Unosquare employs the client’s systems and procedures. “We seamlessly integrate and use their source code control tools, their project management tools, their issue tracking tools, and their time tracking tools,” Di Vece said. “In this since, we have been very successful in adapting to the client’s needs,” he said.
Moreover, the QA testing for any software release was done with “frozen” code. With the development team and the QA team being completely separate, one function did not bleed over into the other. That increases the control and reliability over the testing process. The cost of setting up and training a dedicated QA team was reduced by 40% by utilizing Unosquare’s Mexico-based team. Defects are now being caught by the QA team, tracked by the version reports, and logged within the tracking tool. All this came together as a well defined QA process within each software version. It also greatly reduces the chances that a customer will see a bug in production software
Unosquare continues to test client code in a more stable environment - not the development environment – with frozen code, thereby reporting only viable defects.
Unosquare is a bi-national corporation providing software development, testing, and support for a set of highly valued customers. We serve North American clients from offices in Oregon and our Nearshore delivery center in Guadalajara, Mexico.
Monday, August 16, 2010
- ► 2012 (7)
- ► 2011 (10)