18
Wed, Dec
3 New Articles

Application Lifecycle Management: Some Definitions (and Misconceptions)

Change Management
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Integrated Application Lifecycle Management (ALM) provides the ability to innovate while reducing overhead costs, thus improving time to delivery, quality, value, and predictability.

 

The classic definition of Application Lifecycle Management (ALM) derives from the notion of "software as a product": identifying distinct and cyclical phases of requirements management, software architecture, development, testing, maintenance, change management, project management, and release management.

 

Most importantly, and to dispel a common misconception, the scope of ALM is broader than the simple software development lifecycle (SDLC). The lifetime of an application includes the entire time an organization is spending money on itfrom the initial idea through to the end of the application's life. To put matters in perspective, Forrester estimates that ongoing operations and maintenance consume 66% of IT budgets, while new projects and software initiatives represent only 34%.

 

To understand ALM, it's important to clearly distinguish between some common terms that are often misused. We often hear ALM, Software Configuration Management (SCM), and version control used interchangeably. (And change management is a vague umbrella term used to refer to any of these). In reality, ALM has evolved from SCM, which in turn has its root in basic version control. The functional coverage of each discipline is therefore quite different.

 

Version Control

Version control is an essential development practice for tracking and controlling changes to source code. Version control tools emerged as soon as programming became a team endeavor involving multiple versions of the same software deployed in different sites and developers working simultaneously on updates. As bugs may arise in only certain versions, it is vitally important to be able to retrieve and run any given version of the software to locate and fix the problem. Similarly, it may be necessary to develop two or more versions of the software concurrently, typically where one branch is maintained purely for fixing bugs, and the other (the trunk) for the development of new features.

 

Different version control tools utilize different techniques for managing concurrent access to the same source. The most prohibitive method of file locking will prevent simultaneous check-out on source. The most permissive (and common) method allows simultaneous modifications, with semi-automatic features to assist in the delicate operation of an ad hoc merge of changes.

 

Another fundamental feature in version control is the attribution of baselines, otherwise known as tags or labels, to identify a snapshot of the application at a given moment in order to be able to retrieve the same precise state of the sources at a later date.

 

Previously, CVS and now its successor Subversion have been widely used open-source tools in this category, both based on a client/server architecture.

 

Software Configuration Management (SCM)

Where version control manages source code changes, the scope of Software Configuration Management (SCM) is considerably wider. Traditional SCM identifies four procedures that must be defined for each software project:

  • Configuration Identification identifies configurations, configuration items, and baselines.
  • Configuration Control is the implementation of a controlled change process. This is usually achieved by a Change Advisory Board (CAB) whose function is to approve or reject change requests.
  • Configuration Status Accounting includes recording and reporting all necessary information on the status of the development process.
  • Configuration Auditing ensures that configurations contain all their intended parts and are consistent with specifications, including requirements, design documents, and user manuals.

 

Further, SCM addresses the management of environments (both software and hardware), build processes and tools, and defect tracking to ensure that every defect can be traced back to the source. SCM defines processes to prevent unauthorized changes, procedures to follow when making changes, required information, and usually workflow management as well.

 

SCM is one of the Key Process Areas (KPAs) required to reach level 2 maturity in the Capability Maturity Model defined by the Software Engineering Institute (SEI).

 

Examples of Software Configuration Management tools are PVCS and Rational ClearCase.

 

Application Lifecycle Management (ALM)

At the highest level, ALM capabilities manage the entire lifetime of an application from design to deployment and until its end-of -life. ALM is orders of magnitude more complex than basic version control of software.

 

In practice, ALM can be considered as three overlapping layers: governance, development, and operations. Planning for deployment likely begins shortly before the application is completed, and the act of deployment itself is a fundamental part of operations. Once the application is deployed, it must be monitored throughout its lifetime. Similarly, each update to the application must be deployed once completed. So effective ALM toolsets are integrated vertically between the three layers as well as horizontally across phases.

 

111113ARCADFigure1                       

Figure 1: ALM can be considered as having three aspects.

("What is Application Lifecycle Management?", Chappel & Associates)

 

Cloud Computing and Software as a Service (SaaS): The New ALM Model

With the advent of the cloud and software as a service (SaaS), certain aspects of the traditional Application Lifecycle Management model are shifting. The changes principally impact the downstream phases of software delivery and deployment, and in particular the boundary between development and operations departments.

 

Fifteen years ago, the software development lifecycle revolved around fixed requirements, local in-house development teams, "big bang" projects in which hundreds of modules were delivered at distant intervals, and stakeholder review/acceptance at the final delivery. This waterfall approach to development resulted in the majority of software projects failing to deliver in terms of cost, timeliness, and end-user satisfaction.

 

In contrast, IT projects today deal with evolving requirements, geographically distributed development teams, ongoing stakeholder engagement, and incremental delivery. The success of this new model relies heavily on team collaboration and process automation, and in turn, is making new demands on ALM tooling.

 

At the same time, tighter budgets, stiffer competition, and regulatory constraints are pressing IT departments to modernize not only their applications but also their methods and tools. Pervasive web and mobile components have made application architectures more complex, involving multiple platforms, often with a legacy business application at the core. ALM tools must manage the dependencies between diverse technologies and facilitate communication in teams of mixed IT cultures.

 

We all know that application quality impacts the revenue of a business as well as its ability to compete and innovate. Recent management studies report that application outages are network-related only 25% of the time and software-related 40% of the time. In today's business climate, massive software changes must be delivered with increasing frequency and to higher levels of quality. This imposes modernization efforts across both development teams and IT operations to become more proficient in rolling changes into production, with a closer cooperation between the two.

 

Therefore, both agile methods and, in turn, DevOps are central to the new ALM model, emphasizing pragmatism, collaboration, accountability, and a "need for speed."

Comparative Evaluation of ALM Solutions in the Market

Many companies are finding that existing ALM toolsets do not adequately support this dynamic landscape. In Q4 2012, the Forrester Wave report on Application Life-Cycle Management evaluated major leading ALM solutions against 116 criteria, ranking nine key players according to current offering, market presence, and strategy. As was the case in the previous Gartner ALM/Agile report from 2010, IBM again received highest ratings in 2012 for strongest product offering. Like Microsoft, IBM takes a general-purpose perspective on ALM, supporting traditional, agile, and hybrid planning methods. Agile practices are treated as a special instance of ALM workflows, metadata, and reportingin other words, a special configuration of their ALM tools.

 

According to Gartner, ALM is what enables sustainable agile practices. We see that new, collaborative approaches are what differentiate ALM tools today.

 

From Application Lifecycle Management (ALM) to Collaborative Lifecycle Management (CLM)

The IBM Rational offering for Collaborative Lifecycle Management (CLM) is an Eclipse-based solution built over the open Jazz platform, with a host of tools for wide-scale collaboration, real-time traceability, planning, and agile methods. It supports Web, SOA, and mobile application design with specific features for managing outsourced development. The goal is ambitious: to provide a common environment and toolset to unite developers on Windows, AIX, Linux, mainframe, and (even) IBM i.

 

The 2013 EMA Research Report "DevOps for a New Millennium" concludes that Rational CLM is an effective tool for agile team collaboration, continuous delivery, and the DevOps lifecycle.

 

Under the covers, Rational CLM integrates three existing tools designed to foster greater collaboration in the change management, requirements, and testing phases of the application development lifecyclenamely, Rational Team Concert (RTC), Rational Requirements Composer (RRC), and Rational Quality Manager (RQM).

 

RTC is the strictly ALM component of this CLM offering. By unifying technology cultures under the same toolset, RTC simplifies project management and helps break down the silos that inhibit efficiency and change.

 

The underlying Jazz platform provides for open collaboration across the software and systems lifecycle. It connects the disciplines of project planning, requirements, development, and testing and supports continuous improvement and feedback. Jazz products implement the Open Services for Lifecycle Collaboration (OSLC) specifications so that they can integrate with each other and with products from other tool providers.

 

OSLC means that RTC can easily interoperate with existing tools. For example, it's easy to import Bugzilla, Jira, or any other change-tracking system with CSV file support into TRC work items. Similarly Subversion and CVS repositories can be easily imported into RTC SCM. Connectors are available to provide dynamic integrations with Subversion, ClearCase, ClearQuest, Synergy, and others.

 

In June 2013, IBM commissioned Forrester Consulting to interview IBM CLM clients and examine the potential return on investment (ROI) an organization may realize by deploying CLM in order to increase communication process efficiencies and time savings. A financial analysis on four existing CLM customers was compiled into a "composite three-year risk-adjusted ROI." The reported composite ROI result was 522% over a three-year payback period.

 

Specific Requirements of Power Systems and the IBM i Platform

Rational Team Concert for i (RTC for i) builds on the core RTC product, adding a Team Server and Build System toolkit for IBM i. It introduces team collaboration features to the platform and manages native languages such as RPG and COBOL. RTC for i is shipped as an installable component for Rational Developer for i (RDi).

 

However, thanks to the well-deserved longevity of the platform, any application development or modernization tooling on IBM i requires specific support for its unique technical environment, capable of analyzing decades-old legacy code and variants up to the latest object-oriented languages. This specificity has tended to isolate development teams and discourage new developers from moving to the platform. For RTC to successfully federate Web and IBM i developers into a common environment, a rich layer of IBM i-specific technology is needed to maximize the automation of routine tasks.

 

Integrated with RTC for i, the ARCAD Pack for Rational provides the deep IBM i functionality needed for managing the many specialized technology variants on the platform. In particular, it completes the automation of dependency analysis, integration build, and deployment, simplifying the change process and shortening time to delivery. It supports all IBM i languages and environmentsfrom 30-year-old legacy applications in COBOL or RPG III through SQL to free-format ILE and newer object-oriented code.

 

With the combination of RTC, Rational Developer for i (RDi), and ARCAD Pack for Rational, teams working on multitier and application modernization projects are managed in a consistent way. The workflow and actions such as check-out, edit, compile, and check-in of changes, as well as association of changes with tasks or defects, are very similar whether the source is RPG, COBOL, CL, EGL, C#, PHP, or Java.

 

Figure 2 below shows a functional view of the IBM integrated solution for Power Systems development: a modern, productive work environment based on the standard Eclipse IDE, making IBM i easily accessible to all developers, from recent graduates to platform veterans.

 

111113ARCADFigure2 

Figure 2: An integrated solution for Power Systems development.

 

Conclusion

In summary, ALM is much more than just writing code. All three aspects — governance, development, and operations—are equally important. Taking a broad, holistic view of ALM and doing all three aspects well helps maximize the value of the applications we create.

 

It is through integrated, collaborative ALM solutions that we can address today's complex IT environments and demanding business climate. Integrated Application Lifecycle Management (ALM) provides the ability to innovate while reducing overhead costs, thus improving time to delivery, quality, value, and predictability.

 

As a highly rated example in the industry, the IBM Rational Collaborative Lifecycle Management (CLM) solution is designed to an integrated ALM approach. It brings together requirements management, quality management, change and configuration management, and project planning and tracking on a common unified platform. ARCAD Pack for Rational extends CLM with specific IBM i technology to empower IBM i teams to reap the benefits of modern agile delivery.

 

Rational CLM allows organizations to coordinate people, processes, and tools across multiple host platforms. It possesses a rich set of features including in-context team collaboration, lifecycle traceability across disciplines, real-time planning, development intelligence, and reporting. Rational CLM is a versatile and scalable product, fitting well with both formal and agile environments, allowing for continuous process improvement and a progressive modernization of methods and tools.

 

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: