Do you find Application Lifecycle Management a confusing term? Not to worry, even four vendors of this solution type don't entirely agree on what ALM means.
Application Lifecycle Management (ALM) is one of those IT-related endeavors that has expanded from humble beginnings to its grand and glorious present as a discipline touching application development and deployment from cradle to grave. But if you're unsure whether Software Configuration Management (SCM), or ALM, or the more trendy DevOps is the correct terminology for this function, you're not alone. Not even a sampling of software vendors in this market completely agree on what ALM encompasses, or whether SCM or DevOps is a more appropriate term.
Broadly speaking, DevOps has a focus on extending the ALM process into the realm of operations, in which systems managers, system engineers, and system operators become involved with software in a production support role. However, this generally applies to large enterprises. For example, IBM's DevOps page highlights System z products.
A Rose by Any Other Name
So what are the differences between SCM, ALM, and DevOps? We asked four vendors in the IBM i tools market and didn't get a consistent definition.
"Configuration management is an umbrella term, very similar to the more recent DevOps terminology, and ALM really is still a subset of SCM/DevOps," notes Mary Langen, vice president at Midrange Dynamics North America. "ALM comprises change request management, requirements management, source code version control, integration, build, test and release management processes, deployment, and installation. SCM goes beyond those development-focused functions to include operational capabilities such as centralized management of infrastructure (virtual machines) and hardware asset management. The focus of ALM is to manage the development process vs. other things that support the process. This enhances division of responsibilities within the organization."
"SCM is a much older term," asserts Dan Magid, chief technologist, IBM i solutions, at Rocket Software. "It has evolved over time to cover the concepts of version management, build management, and even process automation. Today, software process automation is a very big part of what companies do when managing software development. Hence the name change to ALM, which is a more accurate term for systems that are designed to handle everything that happens from the time a change to an application is requested until the time the change is delivered into production. These systems automate all activity and track changes over the entire lifespan of an application. ALM covers management of user requests, prioritizing work, assigning tasks, managing versions of code, managing application versions, moving code from development to test to production, performing builds, tracking activity, managing releases and deployments, securing software assets, and a whole host of other functions. ALM is a much broader term than SCM and better describes the breadth of what these systems do."
"As long as we are talking terminology," Magid adds, "we are seeing more and more people referring to ALM as DevOps. This reflects the recognition that the development and operations processes involved in delivering a change are tightly integrated. Any company doing multiplatform development (or a modernization project) quickly realizes the importance of integration between the ALM system and the operations systems that are responsible for deploying and installing code."
"I believe that application lifecycle management is undergoing a degree of redefinition," opines Jim Fisher, operations manager at SoftLanding Systems. "And with that, it is now deemed to extend beyond traditional software configuration management (e.g., SCM can be considered a component of ALM). For me, ALM embraces development, operations, and governance, providing strong collaboration across the three areas, allowing continuous feedback."
Ghislain Jacques, vice-president of product development at Chrono-Logic, has a fourth, and simpler, opinion: "I think that SCM and ALM have come to mean almost the same thing. Remaining differences are in the methodologies used to perform the controls on planning, project management, and continuous integration practices."
So clearly, there is not a consensus opinion on the definitions—or even the boundaries—of SCM, ALM, and DevOps. It's an ongoing terminology shakeout that's likely to persist for at least several more years.
Despite their differences over terms definitions, all four vendor representatives agreed that the auditing and compliance requirements of various laws and regulations have been a significant driver of interest in SCM/ALM/DevOps solutions in the past few years. Chrono-Logic's Jacques put it most succinctly: "Auditing and compliance requirements of various laws and regulations have influenced the ALM market as IT departments are now aware of all the security required to maintain their assets. Additional controls, security features, and reports are now required, and ALM is the perfect tool to meet these regulations."
Where Is ALM Going?
When asked how they see the future of ALM-type tools unfolding, the four vendors offered different emphases.
"In general terms, I would expect further focus on Agile-centric ALM, providing better scaling across larger projects, better integration across ALM solutions to cater for cross-platform needs, and a continued push of collaboration features to help improve the flow of ALM communication. Also, further improvements for mobile support, asset management (as ALM becomes more tightly integrated with ITIL), and potentially more ALM options under the SaaS model," predicts SoftLanding's Fisher.
"One of the primary requirements of any strong ALM system is to be able to support current and future development tools, languages, and deployment requirements," foresees Midrange Dynamics' Langen. "In an effort to always be ahead of demand, it is essential for ISVs to be aware of new technology and the tools that support it. Continually evolving to meet the needs of vendor connectivity, project management, and service desk interfaces and smooth IDE interfaces will continue to be the highest priority."
"Additional project management features like non-technical information [are] required to manage and control project activities and the exchange of information between all individuals working on a project," prognosticates Chrono-Logic's Jacques.
"In a modernization environment, operations people must understand how to deliver an application that might have IBM i parts, Web parts, Windows parts, mobile parts, and other kinds of components. The operations staff will be responsible for managing the delivery of all those application parts to the appropriate places. The system must also work with the developers to identify how the parts are related. So ALM/DevOps will have to encompass mobile application management, mobile testing, Web server management and Web testing—as well as the backend application management. The ALM/DevOps system will need to ensure that all the application platforms are running on compatible versions of the code—right down to the mobile devices that belong to the end-user. ALM/DevOps systems will also have to add the capability to deploy parts to the cloud (both public and private). ALM DevOps systems will need to be able to provision servers rapidly as companies scale up and scale down their cloud deployments. As companies deploy more functionality as services, ALM/DevOps systems will also need to be able to provide comprehensive management of services," augurs Rocket Software's Berman.
ALM-Type Solutions for IBM i
If you're interested in software tools of this nature, what's more likely to be a useful guide than definitions of terms is to carefully analyze what kinds of functions your enterprise needs and then find a tool package the features of which best align with those requirements.
Listed below are ALM-type software applications that run on IBM i servers. Each product listing includes a brief description and a hot link to the vendor's product page. For a fuller explanation of features and functions available with each product, please consult the vendors' websites.
These descriptions are followed by listings for three IBM i utilities that help automate portions of change-management tasks but are not full-blown ALM solutions.
Applied Logic Corporation
PDE/400 provides an environment for developing and maintaining software applications. The product includes controls for project management, change management, object re-creation and compiling, documentation and cross-referencing, and other reporting and analysis functions.
ARCAD Software
ARCAD Pack for i is a suite of integrated software applications that are capable of functioning independently. Overall, the suite provides a complete environment for planning, developing, testing, and deploying software applications, as well as auditing all the steps involved. Suite members of particular interest for ALM actions are ARCAD Observer, which displays and analyzes all code components of an existing application, and ARCAD Skipper, which is a source-code manager for all software projects that includes utilities for source comparisons, managing dialogs between developers, auditing, and a validation system that prevents corruption of reusable code.
CA Technologies
CA Harvest Software Change Manager
CA Harvest Software Change Manager runs on IBM i servers using AIX and SUSE Linux. The product automates change-management lifecycles, streamlines and tracks workflows, facilitates auditing, manages build and release processes, centralizes definition and enforcement of best practices, and helps meet regulatory requirements.
Chrono-Logic
Chrono-Logic's iAM4 is an ALM application for IBM i and Windows servers that manages coding projects, deploys multiple sources and objects to other IBM i servers, cross-references all sources and objects, and provides managers with all information needed to manage and control development and maintenance projects.
IBM Corporation
IBM Rational Team Concert is a collaborative software development environment for building applications on IBM i, mainframes, and servers running AIX, Linux, Windows, and other operating systems. It includes change-management capabilities, such as source-control management, real-time and historical views of builds and work items across an application's lifecycle, and a stream-based software configuration-management solution using change sets.
IBM Rational Collaborative Lifecycle Management (CLM)
CLM is a lifecycle-management suite that runs on IBM i, and other servers running AIX, Linux, and Windows. Suite members include Rational Team Concert, which helps development teams collaborate and offers numerous dashboard-style control and reporting features; Rational Quality Manager, which manages and tracks application testing; and Rational DOORS Next Generation, which helps users capture, manage, and trace application requirements throughout the development process.
Intasoft
IntaChange is a change-management control application that runs on a central Windows server and is accessible via browser. Designed for non-technical users, it provides tools for tracking all changes to production software, meets auditing compliance requirements, automates most tracking and reporting actions, logs all change requests, and sends automatic alerts as work progresses.
Midrange Dynamics
Midrange Dynamics Change Management System (MDCMS)
MDCMS is an ALM solution that offers management tools for controlling projects, analyzing and cross-referencing applications, administering source and object code, testing finished software, and installing and distributing software across one or many IBM i servers.
Midrange Dynamics Open (MDOpen)
MDOpen provides change management services for multiplatform environments via a graphical portal that uses functions of the company's MDCMS product to streamline ALM activities for RPG, COBOL, and Java projects. MDOpen features an Eclipse plug-in that presents a graphical overview of settings, projects, and open-object requests across platforms and helps users edit and manage all MDCMS entities.
PTC
PTC Implementer is a change-management suite for IBM i that includes a developer workbench, integration with Rational Developer for Power Systems and other third-party development tools, a secure software promotion system, and tools for impact analysis and release management. Implementer supports parallel and concurrent development, the latest features of SQL and DDS databases, and expedited emergency development and version rollbacks.
PTC Integrity, which integrates with PTC Implementer, provides a suite of management tools for managing software requirements, evolution and release of software assets, quality issues, compliance, and best practices. The suite includes the PTC Integrity Modeler, which helps model and synchronize application source code, and PTC Process Director, which analyzes and manages enterprise-wide engineering processes.
Remain Software
TD/OMS is a software change management solution that supports the IBM i, and servers running Linux, UNIX, and Windows. Modules include project planning, code analysis, work management, software distribution, object transfers, and reporting. The product also handles component checking, build creation, GUI building, and interfaces to numerous third-party software development systems.
Rocket Software
Rocket Aldon Community Manager
Rocket Aldon Community Manager is a broad-spectrum IT workflow automation tool that includes features for controlling application-software lifecycle management. The product lets users manage development projects and IT services, use a workflow system to handle approvals and activity tracking, maintain compliance requirements, and manage an IT service desk. Other features include a requirements and incidents manager.
Rocket Aldon Deployment Manager
Rocket Aldon Deployment Manager helps users package and distribute files (e.g., code, build results, graphics, docs, web pages) to designated locations throughout the development cycle, design and set up deployment profiles, create redeployment packages for potential software rollbacks or disaster recovery, track all activities for audits, and double-check that deployment took place correctly for multiple servers or locations.
Rocket Aldon Harmonizer is a utility for comparing between three and 16 source-code versions. It locates inserted, deleted, changed, or moved records in source programs and creates a comparison report that identifies differences between source members. It also helps manage different versions of applications by creating a composite source file that incorporates all of the changes from the compared members to the reference source member. Editing controls let users exempt comment lines, blank lines, and minor formatting differences from being compared between versions.
Rocket Aldon Lifecycle Manager (Enterprise Edition)
Rocket Aldon Lifecycle Manager is a software management application for enterprise applications that runs on Linux, Windows, and IBM i servers. Designed to streamline and automate the software-development process, Lifecycle Manager handles logging and tracking of software change requests, forces development activities to pass through defined phases, monitors and manages multiple and geographically dispersed development teams, supports multiplatform development, automates deployment of finished application, and protects data via role-based security.
Rocket Aldon Lifecycle Manager (IBM i edition)
Rocket Aldon Lifecycle Manager (IBM i Edition) is a software management application tailored for IBM i enterprise applications and is similar to Rocket Aldon Lifecycle Manager (Enterprise Edition). It helps users track, streamline, and manage numerous application lifecycle functions, including change-request management, software configuration management, and application lifecycle management (ALM).
Rocket Aldon LM (Lifecycle Management) Web Portal is a web-based interface for managing lifecycle-management and application-deployment actions via a console-style dashboard for smartphones and tablet computers. It gives users access to deployment-set activities and deployment reports, enables initiation of deployment actions, and facilitates communications via email with embedded links to the portal.
SoftLanding Systems, a division of UNICOM Global
TurnOver for iSeries V100 is a change-management tool that helps users develop, deploy, and maintain software applications for IBM i, web, and multiplatform environments. It includes features for managing projects, version controls, application deployment, and overall software development processes. It also provides workflow tools, quality testing of software, and code analysis.
Thenon
SEE/Change is an ALM application that helps users manage and control the complete application lifecycle for software development and maintenance projects from initial user requests through configuring and deploying finished applications to local or remote sites. It includes specific modules for handling changes, problems, multiple software versions, auditing, and other functions.
Products That Automate Portions of Change-Management Tasks
Formula Software
Active File Compare is a Windows utility that checks two versions of source-code files for differences by doing a textual comparison and displaying the result in side-by-side windows with the differences highlighted. The utility provides a set of code-editing tools, supports numerous international languages, and optionally creates a difference report as an HTML file.
Fresche Legacy
X-Analysis is a suite of software tools that handle the software analysis part of any development project using RPG, COBOL, or Synon. Functions include extraction of relational data models and business rules from existing source code, impact analysis for data use, automated graphical representation of application design and flow, automated conversion of some code and databases, and tracking of application quality and complexity metrics.
Raz-Lee Security
Although not a full-featured change-management system, Change Tracker monitors and logs changes to software objects. It automatically records all information about changes made, including object attributes, source code, and file structures, in order to help enterprises comply with pertinent laws and regulations.
LATEST COMMENTS
MC Press Online