
Don't underestimate the benefits of managing
applications throughout their use
There are changes taking place in application lifecycle management
(ALM), with increases in the range of tools available to support
application development and in the scope of ALM. The scope changes
are particularly pertinent in the climate of low project
productivity that bedevils software creation.
There is a consensus that something needs to be done about the
management of large and complex projects: too many have serious
deficiencies, overshoot schedules and costs, do not meet user
expectations, or fail completely and are scrapped.
ALM can alleviate these problems and to meet the challenge is
reaching vertically into the business layer, to better meet
business needs and make IT visible as a business unit to higher
management.
Activities such as project portfolio management and requirements
management are now integrated into ALM and can feed information to
executives, for example providing concise indicators and reports to
alert management to the status of projects.
When many millions of pounds are at stake, this type of awareness
is essential and helps to bridge the culture gap that still exists
between IT and the rest of the business. The increasing visibility
of IT to the business also works in reverse: application developers
can better understand how their applications are affecting business
and feel that their work is appreciated.
The applications that are covered by ALM are no longer exclusively
those produced in custom in-house development, which can still
account for as much as 50% of applications in large enterprises. It
now includes commercial, off-the-shelf applications, integration
software, third party applications and components, as well as
offshore and outsourced applications and modules.
All applications need to be managed, whether in development or
during maintenance and support in production.
Project portfolio management plays a number of crucial roles in
helping to manage application development and application usage as
a business activity, such as:
lRationalising the number of applications within an organisation.
This is especially important where mergers and acquisitions have
taken place and in providing a global view of application use
lAligning IT with business needs and ensuring that projects in the
pipeline meet them, ensuring that business cases are made for new
applications to meet business needs, and prioritising projects in
the pipeline that are urgent for the business
lManaging manpower resources to fit business needs
lRunning quality assurance software metrics on applications and
making cost-benefit decisions on maintenance and support
lManaging application delivery
lProviding business intelligence about application
development.
Another addition to the ALM suite relates to requirements
management. For too long this has simply been a paper-based
gathering process or an activity that occurs only at the beginning
of a project. The fault in this approach is all too evident when
people dig deeper to better understand application development and
how to improve it. Requirements engineering, a mature practice in
the defence and aerospace industry, has been re-branded
requirements management and is being applied to IT in other
vertical markets.
It matters - possibly more so than any other aspect of application
development. You can draw a parallel between data and requirements.
The old adage "garbage in, garbage out" applies equally to
requirements. But getting requirements right is not an easy task.
For a start business users think in terms of solutions, whereas IT
thinks of requirements. To cross that divide we need business users
who understand technology, and IT people who understand the
business.
In requirements management the first step is to build a business
case for a proposed application and gather the requirements. This
process must identify all the stakeholders - all too often an
application is built and only then is it discovered that a class of
user has been overlooked.
Modern tools, such as those offered by Telelogic, Borland, and IBM,
keep the requirements traced to code development. This ensures that
the correct application is being built.
But the power of modern tools is to keep requirements in a central
repository, so that any change in requirements is instantly
propagated to all the project team - crucially developers and
testers - ensuring the latter are testing against the latest
requirements.
Managing change is often where projects fall down. Project
schedules seldom cater for change, whereas in practice change is
the norm not the exception. But the story does not end there
because once the application is released the user experience needs
to be fed back into the next release cycle of the application.
Requirements management provides the feedback mechanism for
retaining this information and linking it into the next cycle of
requirements.
Another factor these tools can help with is the increasing use of
offshore development, where distributed teams operate in separate
time zones. They can assist efforts to keep requirements
synchronised, aid collaboration - with comments attached to
requirement, and easily retrieved - and help to ensure that
developers and testers make fewer assumptions
ALM's extension to encompass project portfolio management and
requirements management now also extends beyond deployment into
application performance management. This automates the monitoring
of applications' performance and helps to reduce the costs of
maintenance and support. The latest generation of ALM suites has
also targeted core development activity by providing role-centric
tools, typically based on analyst, architect, developer, tester,
and project manager.
Over and above these changes in ALM is the notion that applications
do not have a simple beginning and end - rather they evolve.
Managing the evolution of an application through release cycles,
particularly in large projects, requires tools to make the process
easier.
ALM is the technology, but the most difficult aspect of application
development remains: people management. Here there are also changes
taking place, with a wider adoption of methodologies and process
practices. In combination, these changes provide a more robust and
repeatable development experience.
Michael Azoff is a senior research analyst at Butler
Group.
The Butler Group Application Development Strategies
conference takes place in London on 27-28 April