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.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment