What Business Owners Should Know About Application Lifecycle Management
Application lifecycle management (ALM) is a holistic approach to the conceptualization, creation, and use of a new software application. ALM methodology may be incorporated into software projects undertaken by a software development firm for delivery to the market. However, for the purposes of this overview, we’ll assume that an enterprise-level application is being developed for internal purposes. This might be an HR app for employee performance management, a training module, a customer-oriented help desk, or a specialized program for managing a company’s unique resources. The details of the specific application can vary widely and yet still be managed efficiently with ALM.
Isn’t This Just Another Software Project Management Approach?
That’s debatable. Traditional software project management tends to be restricted to the phases from planning through initial implementation. As a matter of course, project management stops when regular operations begin. In contrast, lifecycle management looks at the whole picture – up to and including deployment. This approach can provide a more accurate look at the long term cost of operating and maintaining an application after it would have been considered “complete” from a project management standpoint. ALM can even be used to determine the entire lifecycle of an application up to and including future obsolescence and retirement. This is the most comprehensive approach to determining both the true value of an application and the total outlay of resources required over time.
Stages of ALM
The processes involved in Application Lifecycle Management are generally grouped into 3 categories:
Operations or Maintenance
Governance is a fancy term for making sure the project has value and that it is carried out following best project management practices. It also determines how the application is serviced throughout its lifespan and final disposal at the end of that time. The most critical aspect of governance occurs at the idea stage before any significant resources are committed. This is when the concept of creating an application must be analyzed for value. As a business owner, executive, or other high-level decision maker, this is the time to nip a project in the bud unless the IT director and other involved parties can make a convincing, fact-based case for developing the new application.
Governance also covers the process of ensuring the project stays on track and ends up delivering the maximum ROI for the planned application. This includes project management activities that are related to quality management at the meta level (in other words, determining the rules that cover how, when, why, and what type of testing is carried out rather than the actual testing itself).
Development is actually a recurring phase in ALM. It is considered to cover more than the original creation of the application. It also refers to ongoing development such as upgrades over the lifespan of the application. Development can be structured in a traditional project management waterfall style that is repeated as needed over the coming years. Or, it can take advantage of any number of agile software development methodologies including Scrum that are more cyclical and iterative in nature. In either event, the development phase has several components. These include determining and articulating the requirements for the application, designing and building the application, and testing it prior to deployment. Development may also be perceived as encompassing initial implementation (for example with a small test group) prior to a full rollout.
Operations or maintenance is the stage at which the developed application is deployed at its full potential to all users. This phase (like the development phase) must follow the guidelines set forth under ALM governance. For example, project management rules might dictate how and when new applications are deployed to prompt user adoption and decrease disruption. Operation or maintenance activities should be performed using the resources set aside in the original project planning phase (unless providing more resources would actually increase the value of the application).
If, after deployment, resource requirements are projected to significantly exceed those allocated, this is an indication that there was an error in determining the ROI of the application. Governance should include a backup plan that determines the appropriate course of action to avoid simply pouring more money into an application that is under-delivering. The application may need to enter another development stage, the company may need to simply accept the lower value, or the plug might be pulled on the entire project if it is turning into a money pit.
The Business Case for Using ALM
In an ideal situation, Application Lifecycle Management:
Ensures that the final application serves current business needs, delivering the anticipated results with speedy ROI.
Leverages knowledge and skills available in IT to provide greater value to the organization as a whole.
Promotes automation of processes during development and testing to speed deployment - and during operation to reduce ongoing resource consumption.
Gives IT managers and team members greater guidance in decision-making during the project to help them make smart choices.
Provides greater visibility into development processes, promoting continuous improvement.
Standardizes and facilitates cross-team communication to limit errors and inconsistencies.
Increases accountability and provides a clear record of all actions and decisions made along with their impact on the project.
Supports the collection of relevant data for benchmarking and business analytics.
Makes it possible for IT to develop business applications that are in greater compliance with various industry, state, and federal regulations.
More recent developments in ALM are also promising to help business owner innovate, anticipate market needs, and provide marketplace leadership.
Is There a Down Side?
Detractors suggest that applying ALM principles increases the lifecycle cost of an application. However, since most other project management methods don’t attempt to forecast the total lifecycle cost, it’s unclear how one would reach such a conclusion. That being said, adding more levels of accountability will always increase the initial cost of developing an application. However, ALM is not intended to be used on one project and then discarded. It is designed to continue delivering value for an entire portfolio of projects. In other words, the price of implementing ALM is paid once and improves every subsequent application development project. When all is said and done, ALM is designed to help businesses maximize resource use and decrease risk.
Benefits of ALM for Developers
In some cases, IT may resist ALM since it involves more oversight than the project management methods they are used to. However, there is a strong argument to be made for why IT should get on board with Application Lifecycle Management. The entire software development field has an unfortunate reputation for abysmal performance in completing projects that are on time, within budget parameters, and able to deliver promised value. The ALM approach often involves a larger range of stakeholders since the value and cost of application must be viewed from the angle of operations as well as development. This does make it more challenging for IT to make a business case for an application if IT is not used to communicating well with other departments and decision makers. However, it also ensures that when buy in is achieved there will be greater stakeholder support. This is key for IT to obtain the resources and tools required to increase their success rate.
In addition, ALM can encapsulate most software development techniques (as mentioned earlier). The team members in IT will probably still be able to use their favorite methodology for design, development, and testing – as long as they do so in accord with the governance set up for the project. This might mean putting a greater focus on documentation than some of the more agile methods promote. Such an approach does require greater discipline. However, the practice will pay off over the lifespan of the application since future upgrades and versioning will be simpler to achieve even if new team members are involved at those later development stages.
In short, ALM can be presented to IT developers as:
Integrating application development more fully into the business processes of the organization
Providing IT with greater and more functional resources
Boosting the potential for success in application planning, development, and deployment
Overview of Popular ALM Tools
What types of tools does IT need to perform ALM efficiently? Tools generally address one or more of the following needs (either as separate tools or as collective systems):
Requirements Analysis and ongoing Management
Modeling, Design, Feature, Configuration, and Build Management
Project, Workflow, and Change Management
Issue Management, Monitoring, and Reporting
Software Testing, Deployment, and Release Management
Some of these tools, such as project management platforms, are also used outside of IT and may be administered primarily by other departments or as a collaborative effort. Others such as software testing are handled exclusively by IT. In either event, all decision makers should at least have a basic grasp of how to compare reports from these various tools with the governance structure and the desired outcome for the project.
ALM Tool Integration is Critical
The true benefits to both business owners and IT can only be realized when ALM is implemented properly. Having individual tools available for IT’s use in ALM is only part of the picture. For greatest effectiveness, these tools must be integrated with each other and with other tools within the organization. Many of the top ALM tool vendors are focusing on this concept as the next big thing as the shortcomings of current systems are becoming evident.
When individual tools are not integrated, they are cumbersome and less economical to use. There may be a significant amount of overlap in functionality. This type of redundancy makes the entire ALM suite more costly to acquire, use, and maintain. It also increases the risk of confusion as reported information about project status, requirements, or processes is drawn from several different sources. IT may end up investing significant resources simply trying to tie together and synchronize all the tools into a cohesive whole.
What Does the Future Hold for ALM?
The ALM system of the future (which is already becoming a reality) is one which integrates an entire suite of functions – but that permits businesses to select and pay for only the tools they actually need. These modules are cross-compatible with a variety of platforms, enabling synchronization with existing data rather than requiring a business to start from scratch when trying new tools. The ability to integrate in this fashion will reach outside the ALM sphere. For example, ALM could and should be integrated with ERP and other enterprise level programs within an organization. The highly compatible nature of modern ALM tools will also permit businesses to integrate tools from a variety of vendors rather than creating reliance on a single source. In fact, multi-vendor partnerships that make it easier for businesses to choose Best of Breed tools from each provider are likely to become increasingly popular. That being said, businesses will still have to weigh the complexity of such custom integration with the “out of the box” integration provided by a single-vendor solution.
The Role of ALM Consultation
With so many choices and the inevitable learning curve of putting an ALM in place, it’s not surprising that ALM consulting firms are proliferating. Such firms help clients assess the ALM strategy of their business, provide insight into tool selection, and assist with migration or integration to maximize ROI for an ALM system. Along with business and IT decision makers, these expert advisors will help determine the future direction of ALM development.
Are these services really necessary? Not every business needs a consultant in this area. However, organizations that are implementing their first ALM, updating from a legacy system, or interested in integration of many third party tools are likely to find such assistance particularly helpful. IT departments that already have a mature ALM system in place may choose to simply add new functions as needed based on in-depth knowledge of their unique business processes and needs. Business owners and executives should collaborate with IT in assessing their current ALM system to determine whether it is providing consistent value or if it might be time for an upgrade.