1HP Makes ALM Work for the Enterprise
2The Complexity of the Application Lifecycle
Historically, ALM consisted of integrated, single-platform tool suites that managed the application lifecycle through requirements, testing, change impact and defect resolution. But this integrated approach did not align with business needs: Technology is constantly evolving, and application teams need to adopt the newest commercial or open-source tools. They’re also dealing with costs and the process changes that ALM requires. Given that, application teams adopt best-of-breed tools instead of standardizing across a single platform, resulting in disparate information related to application lifecycle being scattered across many tools and systems, requiring a management platform. Today, ALM is evolving to align all application teams during the application development process.
3Distributed Application Delivery Teams
Mergers, acquisitions, outsourcing and global work teams also have created challenges. Today, members of application delivery teams may be based in disparate locations anywhere in the world. Because they may use different toolsets and processes, information related to a development project can be scattered across multiple systems. This creates ongoing collaboration and traceability challenges, and the fragmentation in the development process limits agility, predictability and change readiness.
4A Plethora of Development Tools
There are multiple development tools as technology continues to evolve. Technology vendors can’t stop supporting legacy tools and technologies, but IT organizations want to adopt the most cutting-edge technology. The result is a variety of tools and technologies being used to deliver modern applications. Developers are required to work with multiple tools such as defect management tools, source code version control tools, build management tools, unit testing tools, continuous integration tools and the developer’s integrated development environment (IDE).
5And a Plethora of Development Practices
There also are a variety of processes and practices to use the new technology. From Waterfall to Agile to the variety of Agile flavors, each development team implements different processes to use technology. For example, the mobile application team releases applications more frequently and will use pure Agile practices, implement test-driven development and use one set of tools. Meanwhile, the Web application team implements Scrum iterative practices and uses Microsoft Visual Studio as the IDE, CVS for source code change management systems, Hudson for build management, and ALM for requirement management and defect management.
6Challenges of Application Teams
Application teams don’t have complete traceability and predictability in the application development lifecycle. Without having automated hand-off processes, from development to testing to production, teams are wasting time on administrative tasks such as reporting and set-up. Due to fragmentation in the development process, teams can’t understand the impact of committing new code changes on the functionality of the application, they are using only 60 percent of the code changes they create and about 40 percent of them are a waste.
7Modern ALM Solutions
8Bring Developers Into ALM Fold
To achieve collaboration across the application lifecycle, ALM solutions must bring developers into the fold by integrating with the developers’ IDEs. This would minimize reporting overhead and streamline task updates by allowing them to be made from the developers’ IDE, make all ALM artifacts visible in the IDE, and enable developers to view ALM requirements, defects and test results in their IDE.
9Minimize Time Spent on Work-Space Provisioning
Given the faster pace these days, there is more frequent switching between projects, resulting in more administrative tasks. Application delivery teams should spend their time adding new functionality and coding, not dealing with set-up and provisioning. This is where auto set-up solutions will be key to ALM solutions.
10ALM Must Adapt to Foster Innovation
To deliver innovative applications rapidly, organizations require visibility and collaboration throughout the application lifecycle. While it may seem this could be achieved by standardization on a common set of development tools and processes, the reality is that application delivery teams are most productive with the tools and processes they know well. Given that, ALM must adapt to become a common management platform that can be shared by all project stakeholders and allows individual development teams to use the tools and processes of their choice.