This piece was written by Tom Pryce at Grid-Tools. Grid-Tools is a TAP partner of Skytap and we’re joining them on July 14th to present, “Testing is No Longer Constrained by Environments and Data.” Join us, or look out for an on-demand recording to follow!
In the “Age of the Customer”, every organization is a software organization, whose market share is won or lost on a daily basis. If they cannot deliver value on the constantly changing customer needs which drive the market, there is always a queue of digital innovators keen to take their place. A lengthy SDLC is therefore no longer commercially viable, as markets are led by those who can deploy an idea from the business to operations within weeks if not days.
More organizations are turning to continuous delivery in an attempt to remain competitive. Successfully adopting continuous delivery in turn depends on having a fully automated pipeline that can take an idea through implementation and deployment at pace, without compromising quality. This can only be achieved by removing the bottlenecks from a traditional waterfall environment, such as a lack of full-sized environments, and a lack of quality data to populate them.
A lack of full-sized environments
As applications have grown increasingly complex, with countless moving parts, provisioning the required number of full-sized environments quickly has become a common barrier to efficient, quality throughput. Instead, test and development teams are forced to contend for a limited number of environments, while inter-dependencies force them to sit idly waiting, just as in the traditional waterfall model. In fact, a massive 62-66% of development and testing time is wasted due to a lack of environments, which take weeks to configure manually – a process which swallows 30-50% of QA spend.
It’s worth remembering that Continuous Delivery is only as fast as its slowest part. If teams are forced either to sit idly for weeks, or to settle for a subset of the overall system when testing, software will be delivered late and will not deliver value on constantly changing customer needs. This will impact an organizations bottom line hardest, leading to a loss of customers, while giving competitors the advantage.
Data constraints also frequently cause test teams to choose between avoiding project delays, and the quality of their testing. Multiple test teams frequently rely on a limited number of copies of production data, which are stored in an uncontrolled manner using expensive physical hardware. If the data is being used by one team, it is unavailable to the others, while a change made to the data effects everyone.
As a consequence, the average tester spends half their time waiting for data to become available “upstream”, manipulating it, or creating it by hand where none exists. What’s worse is that when the data is actually provisioned, it typically covers just 10-20% of the tests which actually need to be run. Even if it was available instantly, testers would still have to decide between manually creating the most of the data they need (a slow, error-prone process), or not performing the tests required to deliver quality software first time round.
If the SDLC is continued to be viewed as a series of linear stages where data and environments pass from one team to the next delays will occur. Fortunately though, with the emergence of cloud-based environment provisioning and sophisticated test data management teams can access unlimited full-sized environments on demand. These environments can further come filled with all the data they need for testing and development, in parallel.
Such technology reflects a shift in paradigm, from viewing test data management and environment provisioning as a purely logistical issue (storing and migrating data), to focusing on how to provision exactly the right data, to the right environment, within minutes of it being requested by a tester.
The Skytap and Grid-Tools webinar, Testing is no longer constrained by environments and data, will focus on this shift, and will discuss what sort of technology can be used to successfully implement continuous delivery.