You can count on one thing in the world of software development: Nothing will stay the same for long. Agile teams recognize that change is a good thing. They embrace emerging technologies and innovations and constantly look for opportunities to incorporate new technologies in the products and services they provide, and to take advantage of new technologies in the ALM tools they use. ALM in the cloud, mobile ALM and social ALM are three examples of trending technologies that Agile teams need to embrace.
ALM in the cloud. As Amy Reichert points out in "Five hot ALM SaaS tools and services," we are finding more ALM offerings in the cloud. Using tools hosted in the cloud is similar to choosing to lease over own. This can be beneficial for many reasons. According to Reichert:
The advantages of an ALM cloud model are generally reduced cost, remote management of software updates, up-to-date security measures, customizable features, accessibility from nearly anywhere with an Internet connection and fast installation.
Performance testing is one example of an ALM application that may allow organizations to greatly reduce their costs by taking advantage of a cloud-based model. The traditional model would require building out a very expensive data center to simulate data required to properly load test. However, by taking advantage of cloud-based offerings, cloud servers are used to simulate traffic on a global scale. By partnering with other cloud providers, load tests can be executed from the regions corresponding to where customers are based, giving a more accurate picture of what type of performance can be expected from those regions. And all this is done only when needed. As a product line grows and changes, and we know it will, an organization is not stuck with outdated hardware and software or high maintenance costs.
Mobile ALM. Mobility is another technology trend that needs to be considered when choosing ALM tools. Gone are the days of being confined to a physical location when working. Development teams are used to having the flexibility of using their mobile devices at home, on the road or in the office. Although most developers will not be using their smartphones or tablets to throw code, there may be some aspects of the cycle they would like to be able to access or update via a mobile device. For example, Scrum masters may want to run a Scrum meeting using an electronic board accessible by mobile device.
However, the more likely users of mobile ALM are those teams producing mobile applications themselves. As we learn in Mobile ALM FAQ: Answers to mobile development questions, mobile ALM is defined as follows:
The term "mobile ALM" refers to the lifecycle process for applications that run on smartphones and other mobile devices. Essentially application lifecycle management (ALM) for mobile projects, the mobile ALM process spans application development, from initial planning to coding, testing and ongoing deployment. Mobile ALM is emerging as a discipline separate from ALM, because mobile applications pose unique challenges for software professionals at each stage of the lifecycle. Thus, in this case, mobile ALM refers more to the tools designed to provide support for mobile application development, rather than to providing mobility support for the ALM tool.
Social ALM. A third growing trend in the software industry is the use of social media techniques and features, such as the use of tagging, sharing or friending, in our tools. These techniques are designed to encourage collaboration and communication, and can be found in many ALM tools.
Social media: A guide to enhancing ALM with collaborative tools offers several articles that highlight collaborative ALM tools and describe common features that allow for virtual teaming, communication and change management. According to one article:
ALM tools are trending towards providing collaborative features that allow for strong virtual teaming, real-time communication, notification of changes and the archival of multimedia artifacts. These features are proving beneficial to software development teams, but they aren't without their issues. Look for ALM tools that will allow your team to work productively and collaboratively. Set guidelines to ensure tools are used consistently. Used correctly, tools that foster collaboration will be a big boon to your team.
Agile teams embrace change and take advantage of technology trends. Cloud computing, mobility and social collaboration are three trends that we see growing in the software development industry. The most innovative ALM tools are incorporating features and functions from these technologies, allowing development teams to use them when they develop code, and to provide support when they incorporate these same technologies into their own code.
Explore the evolution of ALM tools
Learn if cloud-based ALM is safe
Check out this essential guide on enterprise ALM
Or this one on the intersection of Agile and ALM
How to manage the TeamForge ALM tool