Step 3: Collaborate on complex bugs and fix them faster.
We all dread the phrase, "but it works on my machine." This problem is only exacerbated when teams are scattered across the globe and the back-and-forth work on issues results in the loss of serious time and money for the developers and ultimately the business. Rather than allowing for complex bugs or fixes to jump from one person to another, dev/test teams can utilize the cloud to collaborate in real time and resolve these issues at a faster pace.
Cloud solutions that enable "VM publishing" and "over the shoulder view" enable remote teams to work together using the same online environment, where troubleshooting and bug fixes can happen in real time. As discussed, Step 2 also allows the provisioning of numerous environments to safeguard test teams from being blocked from a release, and allows testers to access the live reproduction of an issue for immediate review.
Step 4: Share new releases with customers.
The sooner an issue or bug is identified during the creation of an application, the better. It's also much cheaper and easier to resolve bugs and design issues early on in the process. Cloud solutions that enable you to share new releases with a small, target group of customers enable you to leverage "extra eyes" and is very useful for identifying defects or issues early on.
In the "old school" model, customers are typically invited to the developer's location as the product can be easily set up by the team, rather than by the end-user. There are two issues with this approach:
- Customers often don't want to travel to provide their input.
- Provisioning beta versions of the application for a large group of customers can be challenging.
Using the cloud allows for unconstrained scale as applications can be made available anywhere there's an internet connection, at any time. Developers can provision numerous copies of an application to share with any number of customers. If a cloud solution provided "over the shoulder" viewing capabilities, developers could view each customer's interaction with the product while capturing any issues via a screenshot -- all from the comfort of their own machine. Once the customer evaluation is completed, developers can use the cloud resources for an alternate activity.
This new model will reduce the time and cost of collecting customer input early on. More importantly, customers will perceive the use of the cloud model as an innovative step the dev/test teams have taken to solve their problem faster. This builds additional confidence equity that will pay dividends over time.
Step 5: Automate the creation of "hotfix" repro for customer issues to get support, development, test and operations teams on the same page.
Once a product ships, a developer's job is over, right? Wrong. The lifecycle of an application far surpasses its release date. A company must still support users on earlier versions of a product, even though many customers have moved to the latest and greatest build. By utilizing the cloud, this process can be much more efficient as the test/SE teams can reproduce older versions using Steps 1-2, reproduce the issue at hand rather than the current state using Step 3, and validate the fix with the customer with Step 4.
Cloud computing offers the scale, access and ease of use essential to creating a highly efficient dev/test process. By following these steps from start to finish, developers and testers have the tools and tips they need to power Agile development in the cloud and create a closed loop feedback cycle that includes customers. Much like great musicians that constantly fine-tune and improve their instruments and composition, innovative dev/test teams can ship great quality software on time and under budget by leveraging the right cloud solution.