For example Mashable noted that the use of mobile applications grew 115% in 2013. And PC World predicted that the total SaaS market will grow to $22 billion in 2015, up from $14 billion in 2012.The growth in mobile and SaaS has opened new markets for software applications, especially among younger users who demand higher quality and performance from their applications. They expect changes and improvements in software products to happen right here, right now.
To meet the increasing demand, many organizations have turned to Agile development methodologies as an alternative to the traditional waterfall approach in order to produce applications that are more customer-oriented and deliver more value to end-users.
Agile has seen huge growth in just the last four years. In 2010 Forrester reported that only 35% of organizations surveyed used Agile. Three years later Actuation Consulting reported that figure had doubled to almost 74%.
What exactly is Agile? As a quick refresher, Agile is a response to an increasingly complex and unpredictable world where requirements are constantly changing and market conditions require flexibility and responsiveness.
Boiling down the methodology very simplistically, Agile consists of:
In other words, Agile methodologies allow project teams to be more collaborative, independent and self-driven, while focusing on execution, process improvement, simplicity and quick response to change.
Though Agile has been with us for at least 13 years now (the Agile Manifesto was published in 2001), not every organization has incorporated it into their development processes. Agile will not replace all software development – it’s not a ‘one-size-fits-all’ approach.
According to Matthew Hotle, VP at Gartner (as noted in this TechTaget article): “The breadth of penetration (of Agile) into our client base is fairly high, but the depth is fairly low.” Hotle said that more than 50% of Gartner’s client base uses Agile, but only 10% of the work is actually being done in an Agile way.
In fact, most organizations implement a hybrid approach: Agile for front end development and waterfall for the backend.
But as new trends such as DevOps arise, Agile becomes an enabler for continuous delivery across the entire value chain.
The traditional waterfall methodology typically incorporated two separate teams – one for development and another for testing. The development team worked on the “design” and “implementation” stages, and the testing team worked on the “verification” and “maintenance” stages.
In Agile, developers and testers are encouraged to work side by side, performing both development and testing functions simultaneously during development. This process requires continuous collaboration between all stakeholders: managers, developers, testers, customers.
There are little to no rigid requirements documents and checklists. The team does whatever it takes at any moment to satisfy a customer’s requirements.
But this seeming “informality” is a little too much for some organizations. Many of them have raised major concerns regarding software quality levels, precisely because the methodology designates little time to incorporate a separate testing regimen.
Their concerns are based on:
Additionally, some organizations take issue with lack of a proper development infrastructure, and they fear that collaboration among team members with different personalities might cause friction which could negatively affect the testing process
But despite these misgivings, many organizations are taking advantage of Agile testing methodologies using geographically distributed teams. These virtual teams have several advantages:
Getting remote Agile testing teams to work requires tackling a few challenges, however. The daily stand-up meetings and constant collaboration, a hallmark of Agile, typically required shared workspaces.
But with remote teams, face-to-face communications can be a challenge. To increase collaboration, organizations should take advantage of technologies such as telepresence, instant messaging, and centralized repositories.
Time zone differences can also be a challenge. Our recommendation is to work with remote team members in overlapping time zones. The more the overlap, the easier it is to perform Agile testing.
The Agile development project management trend emerged during the last decade as a way to enable quicker turnaround times, more efficient development processes and more friendly software. It has seen important rise in adoption due to the exponential growth in cloud and mobile computing.
It has also enabled more efficient and organic testing, but the lack of documentation and a separate testing discipline within Agile has raised concerns among organizations wary of the lack of a formal testing methodology.
Despite these misgivings, many organizations have accepted agile testing, including the advantages of remote agile testing teams. Some of the benefits of remote teams are cost savings, the freedom to hire the best people no matter where they live, and the ability to continue development and testing 24/7.
To find out more about Agile testing, as well as cloud, mobile, automation and exploratory testing, check out our remote webinar, “The Future of Testing.”