Gartner predicts that by 2020, 40 percent of organizations will have shifted from a project management model to a product management one to manage technology investments in digital business.
"Because of the agile emphasis on taking a product perspective, organizations now have the opportunity to more tightly couple their application portfolio to their investment portfolio, and, instead of all investments being 'projects,' many (if not most) of them will become 'new product releases.'"
Source: Predicts 2017: PPM Leaders (content available to Gartner clients)
To keep pace with this shift, many organizations are investing in application lifecycle management (ALM) tools to create business processes that govern the full lifecycle of software projects and portfolios.
ALM tools combine project/product management with business process management, and are designed to serve a variety of business needs, from starter systems to robust full-service solutions. As such, it can be difficult to know exactly which type of ALM tool is the best fit for your business.
We've created this guide to help you better understand all that ALM encompasses, so you can make a more informed investment decision when choosing ALM software.
Here's what we'll cover:
Application lifecycle management is a defined set of processes that govern how an organization manages software projects and investments, from concept to completion.
In this way, ALM fits within the larger IT project and product management markets, but speaks to a greater connectivity between business processes and software engineering.
ALM tools create an integrated environment that helps connect teams and improve the flow of work through each stage in the software development lifecycle (SDLC):
Although work is designed to flow from one stage to the next, the process can move backward or forward as needed. For example, work will move from development to testing, then back to development then onto testing again, before reaching deployment.
ALM tools connect teams at each of these stages, improving visibility and collaboration. From planning through maintenance, they are important for tracking changes and providing an audit trail for retrospectives. This transparency plays a large role in helping teams reach their goal of continuous delivery and improvement.
These tools range from comprehensive suites designed to manage applications from inception to retirement, to products that specialize in one phase, e.g., planning or test, to simple agile solutions or wikis designed to monitor application progress or code review.
While features will vary from system to system, ALM tools typically contain some or all of the following capabilities:
|Project management (or product management)||Plan and track software projects, commonly following agile workflows. Streamline task management, time tracking, resource management and scheduling, dashboards, reporting and analytics.|
|Requirements management||Define end-user requirements, break work down into actionable sequences, plan backlogs and schedule iterations.|
|Design and development||Track works-in-progress. Often, agile teams develop software in two-week iterations, or sprints. This allows for more frequent testing and review.|
|Bug tracking||Process, track and report on bugs in the application. Also called defect or issue management.|
|Quality assurance (QA) and testing||Document and track application testing to ensure quality and function meets predetermined requirements.|
|Release management||Support application deployment. Oversee software release, intake of end-user feedback and planning/initiating maintenance and improvements on application.|
|Process review and optimization||Monitor and audit various stages in software development lifecycle with the goal to optimize processes (build, testing, release, application performance etc.).|
|Collaboration||Enable users to connect and collaborate within the tool to facilitate group work. Can include content management wikis, group forums or activity streams, user logs, user mentions as well as chat.|
The two most common development methodologies are waterfall and agile, although agile is increasingly becoming the de facto software development model. Several variations on these models exist, including the big bang and spiral models.
Waterfall. A more traditional project management method, the waterfall SDLC model works best for smaller, risk-averse projects where the requirements are clear at the start and not likely to change over the course of the project. Work flows from one stage to the next, sequentially, with the output of one phase becoming the input for the next.
Agile. The agile SDLC model works well for projects of any size, where requirements may not be clear at the start or are likely to change over the course of the project. The application is broken down and completed in cycles, over numerous releases. Testing and feedback on each release is then incorporated into the next version.
Which SDLC model you chose is largely dependent on the size and scope of the project as well as the customer's requirements. ALM tools should support your team's workflows, not dictate them. It's important to choose a solution that aligns with your team's current processes, but is flexible enough to support multiple SDLC models.
Our service is simple and 100% free to customers like you because software vendors pay us when we connect them with quality leads. You save time and get great advice. Vendors get great referrals. It's a win for everyone!