Application Lifecycle Management: Creating Smarter Software
Wes Simonds 120000EFD6 email@example.com | | Tags:  code configuration documentation rail generation change application development signaling invesys dimetronic software management modeling lifecycle reporting requirements systems
0 Comments | 2,543 Visits
Quite a few of today's buzzwords don't mean anything definite either to the people who are listening or talking. If 'Application Lifecycle Management' (ALM) seems to you to fall into this group, though, I would argue it shouldn't. In fact, I bet I could get across the gist of it in two sentences:
Application development typically involves a series of stages. So if you want applications to be as bug-free and feature-complete as possible, you need to manage each of those stages as well as you possibly can.
That wasn't so bad, now, was it?
I could, admittedly, elaborate a bit more. Software developers generally also want to minimize their costs and risks and accelerate their development cycles. So these concerns play a major part in ALM theory and solutions as well.
Furthermore, the more complex applications become -- the more lines of code, the more development groups, the more elaborate the specifications, etc. -- the more important a governed approach to ALM gets. And the stronger the case for a best-in-class, integrated, ALM-focused suite of development solutions becomes.
To really spotlight the increasing importance of ALM, we might pick a case in which getting the software right is literally a matter of life-and-death -- a case in which 'crash' might imply a lot more than IT services. Such cases certainly exist.
The lower the margin of acceptable error, the stronger the case for ALM
One excellent example: Invensys Rail, a leading provider of trackside and on-board signaling systems used by railway operators in Spain and Portugal.
Some of the challenges this organization's software development team face include:
The margin for error in orchestrating this complex task is, needless to say, virtually zero. Let's just say that software development mistakes of the kind that frequently occur in other industries would generate global headlines in this particular case.
Five optimized stages of development from one integrated ALM solution
Such a situation clearly demands a governed, efficient, and consistent approach to ALM. Toward that end, Invensys Rail has turned to one primary solution provider for end-to-end lifecycle management.
'We needed an integrated solution to optimize our processes and procedures and provide our developers with the agility they need to respond to changes,' said Francisco Lozano, ERTMS Program Manager. 'This is what IBM Rational provided, from the requirements with DOORS to the code with Rhapsody.'
Notice the 'from' and 'to' parts of that last sentence. What Mr. Lozano means is that for each of the stages in the application lifecycle, the IBM Rational® solution delivers all the necessary capabilities needed to drive a better outcome -- even given Invensys Rail's constantly changing codebase of more than one million lines.
This earliest stage is, for obvious reasons, one of the most critical. The complete set of requirements for the application must be established; that's no simple task, because the requirements for today's largest and most complex applications typically stem from many, many sources and are expressed in many forms (or data formats). Fail ing to aggregate and centralize them all will certainly lead to trouble down the road -- or rail, as the case may be -- that might, in a worst-case scenario, turn out to be literally catastrophic.
Also important in the requirements management stage is that as new requirements come in, they are transmitted to other elements of the software portfolio appropriately, in order to support the new goals they were designed to achieve. This flow of information must be managed very carefully.
'IBM Rational DOORS® helps ensure that the delivered product meets Invensys Rail's and its clients' needs,' said Scott McKorkle, Senior Manager for IBM Rational. 'It enhances the quality of safety-critical systems by increasing the visibility of business objectives, customer needs, technical specifications and regulations.'
Configuration and change management
Given a set of requirements, the next two phases -- configuration and change management -- come into play. Code can't actually be generated yet, but based on the requirements, it can be designed, using standardized libraries and visualization tools.
Many architectural questions must be asked and answered at this point to assess and diminish risk. These questions might include: How are new requirements going to be implemented? What kind of conflicts might be created? What is the impact on the overall system going to be as a result? What are the direct and indirect consequences to the software and its utilization likely to be?
Here, too, ALM tools, working together and often in an automated fashion, can support a governed, risk-managed, collaborative process.
Said McKorkle: 'IBM Rational Synergy and Change provide a unifying change, configuration, and software delivery platform, bringing distributed development teams together for the development of complex systems and software. They help ensure that all development processes can be defined, implemented, automated, visualized and thus managed.'
This next phase is, of course, all about writing the actual code, but there's typically a lot more to the story than that.
Consider simulation, for instance; this is often needed to assess how well (or how badly) a given software build will perform under real-world conditions. In a dynamically changing environment, application stresses may fall outside expected boundaries, and it's necessary to ensure high tolerance for that possibility.
Interoperability -- certainly critical to Invensys Rail and its diverse base of railway operators -- is also a key factor to verify at this point. So is regulatory compliance.
'IBM Rational Rhapsody transforms complex program and regulatory requirements into deployable systems and software through model-based design, simulation and automated testing,' said McKorkle. 'Its model-driven development approach delivers the critical capabilities that Invensys Rail's systems engineers and software developers need to create demanding embedded and real-time applications.'
Documentation and reporting
Once applications have been developed, it will still be necessary to document them (to facilitate their use in real-world environments) and generate reports on demand (to illustrate utilization trends, patterns, or emerging issues that might require revision or optimization).
These reports, in addition to user/client feedback and other data points, then feed back into the next iteration of the application lifecycle, and the Requirements stage can begin again -- closing the development loop.
Thanks in part to its new ALM solution, Invensys Rail has certainly achieved impressive results. For instance, there is now 100 percent synchronization between the design model and resulting source code; changes in either one are instantly reflected in the other.
'The Rational solution facilitates this by uniting requirements and change management, model-based systems engineering, and software development into a fully integrated and traceable workflow,' said McKorkle.
And as a result, Invensys Rail's estimated time-to-market for new products has fallen by a remarkable 40 percent -- cutting the duration of the development cycle almost in half, and putting the company in a much stronger competitive position.
Take a closer look at the products that can help you achieve and improve ALM
Discover an integrated solution for product and systems lifecycle management
Get details on how Invensys Rail Dimetronic makes trains run fast and safe
Video: See how IBM Rational software keeps things on track for Invesys Dimetronic Rail
About the author
Guest blogger Wes Simonds worked in IT for seven years before becoming a technology writer on topics including virtualization, cloud computing and service management. He lives in sunny Austin, Texas and believes Mexican food should always be served with queso.