Top 7 Key Requirements of an Agile ALM Platform
By Laszlo Szalvay
[ Print |
Email This |
Application Lifecycle Management (ALM) can be described as the process of managing all phases of the software development cycle from initial requirements gathering to final release. Some of the key steps involved include planning, management, build, test, measurement and reporting. ALM platforms are end-to-end integrated solutions for managing these processes from a business, as well as, technical perspective.
Agile is an iterative software development methodology that has been growing rapidly among developers and is shaping the ALM market as more and more enterprise developers look to move from the traditional waterfall method of software development to a more agile approach. Agile and ALM, once two distinct market segments, are now beginning to consolidate. As a result we now have what we call Agile ALM platforms. If you are looking for a best of breed Agile ALM platform, 7 of the top requirements the platform should meet are to:
- Integrate Agile values, process and principles into the ALM platform:
Many development teams are moving to an Agile or iterative approach to ALM to address changing requirements and risk factors that will arise over the course of a software project. Agile teams focus on backlog prioritization and delivering the highest value feature sets first - features that will deliver the most business value and once completed, greatly minimize project failure. Testing is built into each iteration to improve quality. As technology or market requirements change over the course of the software project, development teams can adjust, with a minimum amount of rework, by following a continuous inspect and adapt approach. For large and complex development projects this can translate into huge savings and faster innovation.
- Manage the Application Lifecycle as a Single Value Stream:
A best of breed Agile ALM platform takes a holistic approach to the software development process. Rather than relying on separate point tools and manual techniques to manage the software lifecycle process, the Agile ALM platform integrates the entire software development process and tools from start to finish. This means that the architecture, development, release and maintenance phases are all integrated into one development platform with customizable workflow and multi-level security controlled by role based access and permissions.
- Align Business with IT Values:
Since failure rates are high when it comes to software development, it is critical that development teams align with business needs. Agile ALM platforms should incorporate an iterative planning process that involves key stakeholders throughout the entire development project. That way teams focus on high value feature development first, which will help to build ROI more quickly and provide visibility into the likelihood of whether a project will succeed or fail early on. Agile ALM platforms should also include a range of techniques for assessing status, progress, and quality. Simple, but powerful, tools and techniques like burndown charts, forecasting tools and backlog prioritization will help to do this.
- Support a Wide Variety of Development Environments:
An Agile ALM platform must be able to support distributed development teams that are spread across different organizations, time zones and geographies. It must be able to scale from small enterprise workgroups to large, complex global enterprise development environments that may involve hundreds or thousands of projects, programs and developers. Since the platform will likely need to be securely accessed by team members from many locations, it ideally should be web-based and include collaborative tools such as forums, wikis, shared workspaces, threaded discussions and more. By bringing people, processes, projects and artifacts together under one web-based collaborative development platform, organizations are able to greatly reduce costs and accelerate release cycles.
- Provide a Powerful, Flexible Platform:
Since organizations are moving toward web-services, SODA, SOA and SaaS, Agile ALM platforms today must support a spectrum of development and delivery models. Cross platform development is a reality for most enterprises. Therefore, Agile ALM platforms must be platform neutral and have the ability to support both Java and .NET projects. In addition, an Agile ALM platform must be easily extensible to third party applications and solutions, enable the reusability of code and support the provisioning of applications. The Agile ALM platform must also have workflow built in that can be customized and is able to handle and track changes from initial change request to final release.
- Provide Transparency and Traceability:
Agile ALM platforms should be built on a central metadata repository that acts as a backbone to the ALM platform, and helps to enable federated sharing and search, customizable workflow, repeatable processes, version management, role based security, structured and unstructured collaboration and more. Project visibility or transparency is facilitated through the integration of the platform development tools, a central shared repository, and the collaborative nature of the platform. The best Agile ALM platforms enable traceability of artifacts across processes, locations and tool types. Traceability is important because it enables artifacts and requirements to be traced back to the initial business need, and provides visibility into changes that were made over time, who made them and why.
- Support End-to-End Reporting and Analytics:
Tightly integrated development tools within an Agile ALM platform help to enable real-time viewing and reporting of a projects status that helps both business and IT make better decisions. Cobbling together reports from point tools that are not integrated will not give clear, accurate or immediate pictures of a development project status. Good Agile ALM platforms not only provide integrated, faster and better reporting but also the ability to give business and IT stakeholders a single view across all stages of the application lifecycle.
Laszlo Szalvay, VP and General Manager of the CollabNet Scrum Business Unit
CollabNet leads the industry in Agile application lifecycle management (Agile ALM) in the Cloud. The CollabNet TeamForge ALM platform, CollabNet Subversion software configuration management (SCM) solution, and ScrumWorks project and program management software enable teams using any environment, methodology, and technology to increase productivity by up to 50% and reduce the cost of software development by up to 80%. The company also offers training, including Certified ScrumMaster training, software development process improvement services, and an innovative community management approach to driving enterprise development success. As the founder of the open source Subversion project, CollabNet has collaborative development for distributed teams in its DNA. Millions of users at more than 2,500 organizations, including Applied Biosystems, Capgemini, Deutsche Bank, Reuters, and the U.S. Department of Defense, have transformed the way they develop software with CollabNet. For more information, visit http://www.collab.net
Additional Top7Business Articles from the Vision Category:
Article Submitted On: April 30, 2010