You are on page 1of 8

2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications

Application Lifecycle Management as Infrastructure for Software Process


Improvement and Evolution: Experience and Insights from Industry

Hermann Lacheiner and Rudolf Ramler


Software Competence Center Hagenberg
Softwarepark 21, A-4232 Hagenberg, Austria
{hermann.lacheiner, rudolf.ramler}@scch.at

Abstract—Application Lifecycle Management (ALM) is widely advancement to integrated tool suites also leveraged the
promoted by tool vendors and ALM solutions have attracted support for management activities such as project planning,
the attention of many software developing companies. In this effort estimation, task management, reporting and monitor-
paper we describe the introduction of an ALM solution for ing. This perspective also fostered the need as well as the
software development in a large industrial manufacturing ability to support process management as part of ALM. In a
company. The introduction is complemented by several small- Forrester Research report on ALM [13], for instance, the
scale process improvement initiatives. Thereby the ALM solu- significance of process management is expressed in the defi-
tion was turned on itself by using the tool for the tool evalua- nition of ALM as “the coordination of development life-
tion, the introduction as well as the process improvement ac-
cycle activities, … through: 1) enforcement of processes that
tivities. Based on this experience we explore whether the fea-
tures provided by ALM for software development are also an
span these activities; 2) management of relationships be-
effective utility for software process management. The paper tween development artifacts used or produced by these ac-
shows how the ALM solution was applied for process develop- tivities; and 3) reporting on progress of the development
ment, process documentation, process implementation and effort as a whole” [13].
process monitoring. We found that the concepts underlying Aspects of process management [7] can be found in most
ALM were suitable to support these activities and, further- of the ALM solutions available on the tool market. For ex-
more, endorsed the view that software processes are software ample, many tools provide support for process templates that
too. map the tool configuration to the building blocks of a soft-
ware process model (e.g., [2], [8]). Typically the process
Keywords-application lifecycle management; ALM; software templates are the starting point for tailoring the ALM solu-
eingineering environment; process management tion to the requirements of a software development organiza-
tion. In addition, several tools provide means to collect proc-
I. INTRODUCTION ess-related metric data that can be integrated in the ALM
The development of software products is a highly com- tools’ dashboards and reports.
plex endeavor, which includes numerous interdependent However, the premise that “software processes are soft-
activities, various different roles and a wide range of artifacts ware too” (see [9] and [10]) suggests that process manage-
spanning over all phases of the development project and – ment may benefit from ALM support beyond these dedicated
beyond that – across the phases of the product’s overall life- features. Thus, in this paper we raise the question: Are the
cycle. In response, Application Lifecycle Management concepts of ALM aiming at software development and main-
(ALM) has been proposed with the objective to provide a tenance also an effective utility for evolving and improving
comprehensive technical solution for monitoring, controlling the software process? We try to answer this question by
and managing software development over the whole applica- describing the results and experiences from the introduction
tion lifecycle (e.g., [2], [4], [8], [13]). of an ALM solution complemented by small-scale process
ALM is related to concepts from Product Lifecycle Man- improvement initiatives in an industrial manufacturing com-
agement (PLM) [12] in manufacturing and service industries. pany. In this context the ALM solution was used to manage
In contrast, the term ALM “has emerged to indicate the the tool evaluation, the introduction as well as the subsequent
coordination of activities and the management of artefacts process improvement activities.
(e.g. requirements, source code, test cases) during the soft- The paper is structured as follows: In Section 2 we give a
ware product’s lifecycle” [4] and was coined mainly by tool brief overview of ALM and related work. Section 3 presents
vendors to emphasize the move towards integrated tool the background of the case company and describes the intro-
suites. Many available ALM tools and solutions have been duction of the ALM solution including the accompanying
evolved out of a heterogeneous set of specialized engineering process management activities. Section 4 describes how the
and management tools covering activities that range from features of the ALM solution were used for process man-
requirements engineering over design, implementation, inte- agement. Section 5 discusses the results and lessons learned.
gration, testing, to deployment and maintenance. In Section 6 a conclusion and outlook on future work round
Due to this background, ALM commonly shows a strong out the paper.
focus on support for engineering activities. Nonetheless, the

978-0-7695-4488-5/11 $26.00 © 2011 IEEE 286


DOI 10.1109/SEAA.2011.51
II. RELATED WORK agement and quality assurance teams – distributed to differ-
Despite the widespread use of the term Application Life- ent subsidiaries across the world.
cycle management (ALM), a generally accepted definition or Overall far more than 100 employees are involved in the
a common understanding of the scope of ALM has not yet development and customization of the software for machin-
evolved. From the tool vendors’ perspective, ALM cumu- ery. The software consists of various different products and
lates to integrated tool suites covering activities that range spans from visualizations at the HMI level to low level con-
from requirements engineering over design, implementation, trol of machinery and periphery equipment. Each of the
integration, testing, deployment, to usage and maintenance different products and application levels resulted in a soft-
(e.g., [2], [8]). ware system with a history of numerous years of develop-
In contrast, Schwaber presents a less tool-focused picture ment and maintenance and the accumulated size of several
of ALM, which she defines as “the coordination of develop- hundred thousand lines of source code. Furthermore, ampli-
ment life-cycle activities, including requirements, modeling, fied by the distribution to separate development sites, a het-
development, build, and testing” [13]. She identifies three erogeneous landscape of software technologies and an equal-
pillars on which ALM is based: “1) enforcement of processes ly heterogeneous set of development tools and divergent
that span these activities; 2) management of relationships software development processes had evolved.
between development artifacts used or produced by these All software development activities are organized within
activities; and 3) reporting on progress of the development yearly development projects with one release synchronized
effort as a whole” [13]. for all projects. These yearly releases are driven by the me-
Likewise Kääriäinen and Välimäki consider “the coordi- chanical and electrical engineering processes that dominate
nation of activities and the management of artefacts” [4] as product development and management. Software develop-
central aspect of ALM. In their work they investigate the ment and all its activities are embedded in the context of
impact and evolution of ALM solutions. They conducted a mechanical and electrical engineering. The superordinate
series of case studies on two solutions from two different product development process provides only a rough guide-
software teams from one organization forming a longitudinal line with considerable room for interpretation on how the
study on ALM (see [4], [5] and [6]). According to activities, roles and deliverables of the software development
Kääriäinen and Välimäki the principal elements of an ALM process should be organized.
framework are: “creation and management of project arte- The product lifecycle is characterized by the innovations
facts”, “traceability of lifecycle artefacts”, “reporting of in mechanical and electrical engineering, the substantial
lifecycle artefacts”, “process automation”, “tool integration” investments bound in hardware manufacturing and assem-
and “communication” [6]. bling as well as the product maintenance cycles of more than
Pirklbauer et al. [11] emphasize the role of ALM for 10 years. In this context software is considered an enabling
strengthening the business perspective in software engineer- technology. Software engineering is expected to come up
ing. They discuss (technical) concepts that facilitate the with prompt and flexible initial solutions that evolve to sus-
combination of engineering and management activities, e.g., tainable products applicable for many different product lines
traceability, version control, measurement, workflow sup- with a high demand regarding dependability and reliability.
port, and collaboration. B. Introducing ALM and Process Management
From the tool perspective, an ALM solution can be cate- The case company decided to establish an ALM solution
gorized as software engineering environment (SEE). The
to address the above mentioned challenges. A dedicated
ISO/IEC Std. 15940 on software engineering environments
project was launched for the introduction of ALM. Although
refers to a SEE as “a collection of software services, partially
this project was performed in a highly iterative way, it can be
or fully automated by software tools, that are used to support
divided into five consecutive phases, each completed by
the execution of human activities in software engineering”
defined milestones: (1) evaluation, (2) piloting, (3) customi-
[3]. zation, (4) enhancement and (5) roll-out. Each phase in-
III. BACKGROUND AND CASE SETTING volved process management activities that were coordinated
and supported by utilizing the ALM solution. Figure 1 gives
The ALM solution described in this paper1 has been es- an overview of the phases and the involved activities.
tablished for software development in a large industrial man- 1) Evaluation
ufacturing company. This section introduces, first, the back-
The objective of the first phase was the selection of an
ground of the organization in which, second, the project
appropriate ALM solution for the case company. In the first
concerned with establishing the ALM solution took place.
phase, the goals and requirements for ALM were identified.
A. Organizational Background Based on a study of commercial and open source ALM solu-
As a large manufacturer of industrial machinery, the case tions a candidate ALM tool was selected.
company has more than three thousand employees located at As a starting point for the evaluation, requirements and
several production plants and subsidiaries worldwide. Simi- goals were elicited in initial workshops and further refined
larly software development teams are – like product man- iteratively. The goals were derived from the company’s
business strategies w.r.t. software development. They re-
flected the needs of the company independent of the underly-
1
Polarion ALM (http://www.polarion.com/products/alm/)
ing development process or ALM solution. The requirements

287
Process template and
Go/No-go decision tool configuration

ALM tool selected External tools


integrated

Evaluation Piloting Customization Enhancement Roll-out

ƒ Elicitation of goals ƒ Elicitation of usage ƒ Tracking tool con- ƒ Process guidelines ƒ Process quality and
and requirements scenarios (“stories”) figuration changes ƒ Tool usage and compliance report
ƒ Managing changing ƒ Tracing stories to ƒ Synchronizing process metrics ƒ Tailoring of process
requirements requirements and process documenta- ƒ Measurement part templates
ƒ Traceability matrix goals tion of the daily build ƒ New requirements,
for requirements ƒ Tracking defects ƒ Labeled releases of ƒ Dashboard visuali- stories, how-tos,
and goals ƒ Online process process templates zations rules, etc.
ƒ Project planning documentation
and management (“how-tos”)

Figure 1. Phases of ALM introduction and complementary process management activities.

describe what is necessary to achieve the goals in terms of executed with the ALM tool was made to document the tool
the development process and in terms of the ALM solution. evaluation. These descriptions were, of course, also stored in
For example, a requirement states that “developer activities the ALM tool and traced to the elicited requirements. By
should be managed as tasks”. making use of the ALM tool’s traceability support, an over-
To gather additional hands-on experience with the se- view of fulfilled requirements in terms of successfully exe-
lected tool candidate, the elicited goals and requirements for cuted and documented usage scenarios could be easily gen-
ALM were managed with the candidate tool. Using the se- erated. Problems experienced in usage scenarios were
lected tool also for the purpose of the evaluation laid the tracked with the ALM tool’s defect management.
foundation for managing the whole introduction project with The described usage scenarios piled up to a small but
the ALM tool. Hence the tool was used to plan and coordi- highly accurate and up-to-date documentation of activities in
nate project resources and tasks, to document elicited re- the software process and, furthermore, linked this documen-
quirements, to store project artifacts, and to track and report tation to tool-specific know-how. The resulting demand of a
the progress. light-weight, Wiki-like process documentation is another
With the selection of a candidate ALM tool a milestone example of a requirement that was identified due to the ac-
was reached, which marked the end of this phase and the tive usage of the ALM tool during the pilot phase.
transition to an extended evaluation in a pilot project. The end of this extended evaluation phase was marked by
2) Piloting a go/no-go decision about the selected ALM tool candidate.
The objective of the second phase was to gain feedback Based on a refined and extended set of requirements, the
from users about the ALM tool support for representative previously evaluation results were revisited and, finally, the
scenarios in their daily work. The ALM tool was set up in a decision was made to proceed with the selected tool.
basic configuration for the pilot project. In order to speed up 3) Customization
productive usage after a quick introduction and training The objective of the third phase was to customize the
session, a tool specialist continually supported the users ALM tool to optimally support the specific use cases of the
performing their daily tasks and adapted the ALM tool’s company. In the previous phase only the absolutely neces-
configuration if necessary. sary adaptations for the pilot project were made to keep the
Thereby the tool specialist recorded user feedback, e.g., effort during the evaluation at a minimum. In this phase the
issues concerning the functionality, usability or performance, full range of customization and productivity options was
which was used to refine the initially elicited requirements. utilized, e.g., for dashboards, work items, Wiki pages, filter
An important effect of the pilot phase was that completely settings, search queries, and workflows.
new requirements emerged once the users started to under- Compared to all other phases, the customization of the
stand the additional possibilities offered by the ALM tool. ALM tool claimed most of the effort in the introduction
Soon the users in the pilot project discussed new usage sce- project. The effort was managed via the ALM tool in form of
narios and adapted existing workflows to exploit these new tasks and change requests specifying what should be custom-
possibilities. For example, the ability to easily combine ized. In addition, customization tasks were traced to the
structured items such as tasks and requirements with unstruc- previously gathered requirements and usage scenarios to
tured text from Wiki pages resulted in a new approach for document their rationale.
requirement documentation and meeting protocols. An advantage of the selected ALM tool is that all settings
When existing and new usage scenarios were explored, a and configurations are stored in XML files, which are under
brief description of these scenarios and how they can be version control. Thereby the same version control system is

288
used as for any other artifact from software development. For the enhancement phase the final milestone marks the
Indeed, whenever a setting is changed, a new version of the integration of most of the different tools. However, the en-
associated configuration file is created and checked in. To hancement and integration tasks initiated in this phase will
keep track of what configurations were changed in resolving continue in future and gradually faded into the roll-out phase
a customization task, the ALM tool’s mechanism to link described below.
changes from the version control system with tasks and 5) Roll-out
change requests was utilized. Changes in configurations files The objective of the roll-out phase was to establish ALM
could be traced back to customization tasks and, finally, to support for the software projects of the company’s other
the underlying requirements for ALM representing the com- development teams. These teams were using various kinds of
pany’s goals and user needs. Hence, all settings and defini- different technologies, different tool sets and followed dif-
tions regarding the ALM tool and, ultimately, the develop- ferent development processes. As described above, it was the
ment process itself could be managed like software engineer- aim of the previous phase to address technology and tool
ing artifacts. issues via enhancements of the ALM solution.
Consequently, at the end of the customization phase, the In contrast, however, a common ground in terms of a
tool configuration with all its settings and accompanying “one-size-fits-all” solution is less likely for the development
process documentation was labeled as baseline in the version process. Although the overall development process appears
control system and released as template for future projects. to be similar across the different development groups at the
4) Enhancement first glance, there are many disagreements and incompatibili-
The objective of the fourth phase was to extend the tool ties as the established practices vary notably from group to
support beyond the functionality of the selected ALM tool. group. The differences manifest themselves, for example, in
Once the ALM tool was ready for the use by other software questions about how requirements are specified, how estima-
development teams, workshops were held, on the one hand, tions are made or have to be interpreted, how tasks are de-
to introduce the ALM solution and, on the other hand, to rived from requirements, and how responsibilities are dis-
identify open issues in the current configuration and process tributed among team members.
description. It was recognized that technology specific fea- For the different development groups such deviations
tures such as test frameworks, code metrics or the build may be necessary for good reason. Thus – although it is a
system did not fully cover the requirements of the other long-term goal to homogenize the development processes –
teams. Therefore additional tools had to be integrated. For the short-term solution is to keep the ALM tool’s configura-
example, a build system based on open source tools (Hud- tion open to incorporate process variants. Instead of enforc-
son2 and Maven3) was established as central integration hub. ing a particular usage, e.g., by defining mandatory workflow
It combines the different tools as part of the daily build, steps or input fields, once again process rules were used to
collects their results and presents or links them as part of the make deviations from the defined standard visible. A rule
build report. engine was developed to respond to the increasing demand
Since in the previous phases software engineering meth- for new process rules, the definition of rule sets, and the
ods and approaches were successfully utilized for establish- parameterization of rules.
ing the ALM solution, the daily build concept was also con- Monitoring deviations over an extended period of time is
sidered to be exploited for process management. It was necessary to surface inconsistencies in the overall software
found that the daily build provided an ideal mechanism for process that need to be resolved at company level. Currently
collecting data from the development projects about the a process manager is established as a dedicated role whose
usage of the ALM solution and the proposed software proc- duty is to launch and coordinate company-wide improvement
ess. This process-related measurement data was visualized in initiatives and to assess their results.
a dashboard integrated in the selected ALM tool. With a standardized development process for all groups
To assess compliance with documented usage scenarios the milestone marking the end of the roll-out phase will be
and guidelines, the measurements were extended by a set of reached.
queries that return artifacts and work items violating the
guidelines and common practices. Typical examples were IV. PROCESS MANAGEMENT ENVIRONMENT
“tasks need to be linked to a requirement”, “passed iterations For the evaluation of the ALM tool a dedicated project
must not have open tasks associated”, or “large requirements was launched that, initially, hosted the evaluation and intro-
in terms of estimated effort need to be split into smaller re- duction of the ALM support and, thereafter, evolved to a
quirements”. These process rules were run as part of the platform for process management initiatives. This particular
daily build to identify and manage violations on a daily ba- project itself utilized the functionality provided by the ALM
sis. The results were linked with problematic work items to tool, which it evaluated. Initially the ALM solution was
allow for a quick inspection and correction. Over time the mainly utilized for requirements engineering and project
number of process rules steadily increased and process im- management tasks (e.g., planning resources, tracking tasks,
provement evolved as an implicit activity once awareness monitoring progress, storing results) like in any other soft-
about critical deviances had been created. ware development project. Thereafter, with the transition
towards process management, the ALM solution has been
2
http://hudson-ci.org utilized as technical infrastructure and environment for proc-
3
http://maven.apache.org

289
Figure 2. Work items, trace links and views for process management in the ALM tool.

ess development, process documentation, process implemen- GOAL: Incorporate ideas from all personnel in
tation and process monitoring. development.
Figure 2 gives an overview of the main building blocks
of this environment. Details about how this environment has REQ: The system should enable company members
been implemented with the ALM tool’s functionality are to submit an idea.
described in the following. STORY: Submitting an idea via email.
A. Process Development Figure 3. Example of a goal - requirement - story chain.
As part of the evaluation of the ALM solution, require-
ments and goals were elicited in workshops and further re- Traceability provided a valuable aid for steering discus-
fined iteratively. The requirements and goals were recorded sions, setting priorities and guiding the successive adaptation
and managed with the ALM tool as work items of the type of the ALM solution and the development process. Further-
REQ and GOAL, utilizing the tool’s functionality for version more, when the goals, requirements and scenarios were re-
management, change control and traceability. For example, fined and adapted over time, suspect trace links indicated the
since every GOAL translated into one or several REQs, the need to verify the potential impact on associated items, e.g.,
corresponding associations were specified as trace links. A part of the process documentation.
traceability matrix was used to visualize and validate the B. Process Documentation
associations between goals and requirements. GOALs with- The development process was documented mainly from
out associated REQs or, vice versa, REQs without associated the perspective of process activities, which were described as
GOALs guided the discussions in the workshops towards a user stories and managed as STORY items. The related roles
necessary refinement of a goal or a potential superfluous involved in development were specified as additional attrib-
requirement. The handling of GOALs and REQs was facili- ute of a STORY. Since a story primarily captures the pur-
tated by attributes such as priority or state, whereby state := pose and a rough specification of the involved process activ-
{new, in discussion, ... closed}. ity, a step-by-step description of how to perform the speci-
To further elaborate the requirements, common usage fied activity is needed. Stories, thus, were complemented
scenarios representing activities in the software development with HOWTOs providing details on the process activities as
process were identified. To facilitate the discussion and in- well as best practices and hints for using the ALM tool.
volvement of ALM users (e.g., developers, requirements The decision to manage HOWTOs as separate work
engineers, project managers), the scenarios were specified items in the ALM tool enabled users to work with the proc-
similar to user stories known from agile development [1]. ess documentation like with any other specification and to
User stories too, were managed with the ALM tool as items take advantage of personal queries, filters and full-text
of the type STORY and traced to corresponding REQs. Thus, search. In addition, users were also able to create and modify
a traceability chain was established from the overall goals at HOWTOs to extend and improve the documentation. Chang-
company-level down to detailed scenarios at user-level. An es to these work items are under version control and adhere
example of a connected GOAL, REQ and STORY is given to a defined workflow; changes were reviewed and verified
in Figure 3.

290
by peers and, finally, enacted with the release of a new ver- description, extracts the variables and executes the query
sion of the process documentation. function. For example, the description of the rule mentioned
An alternative access to the process documentation is above, written as human readable statements, is presented in
provided in form of role-specific Wiki pages [14]. For every Figure 4.
process role a Wiki page has been generated that links to the
associated HOWTOs. The Wiki pages can be enhanced with
“In project %PROJECT_ID% every item of type
further annotations or additional Wiki pages can be created
%task% has to be linked to one item of type %req%.
to group related aspects of the documentation from different
There has to be at least %1% and at most %1% link be-
perspectives.
tween a pair of these items.”
C. Process Implementation Figure 4. Example of a process rule.
From the viewpoint of the ALM tool, the software devel-
opment process defines how the tool is configured in terms The text contains several variables surrounded by the
of, e.g., work item types, workflows, project settings, or character %. These variables are set as parameters of the
Wiki templates. Most of the configurable items and available query function checkLinkCardinality(projectId, fromItem,
options are stored in XML configuration files, which are toItem, minLinks, maxLinks).
under version control in the same manner as the artifacts The process engine executes the query function returning
from software development. Hence, from the viewpoint of a list of items violating the rule. The results from all exe-
the ALM tool, implementing the process mainly corresponds cuted process rules are compiled to a process quality report
to the customization of the tool, i.e., the modification of the published as Wiki page (Figure 5). Every project member
corresponding configuration files. has access to this report. The report is personalized as it
Some of the requirements were supported by the ALM contains only rules and items the user is responsible for. The
tool out of the box. For the majority of the requirements, items violating a rule are shown as links, so the user can
however, the standard settings had to be modified and the open an item with one click and take corrective actions.
provided templates and workflows had to be customized to
some extent. Every necessary change was specified and
commissioned as task represented by an item of the type
TASK in the ALM tool. TASKs were linked to the STORY
specifying the requirement that triggered the change. In
addition, the TASKs were also linked to the modified XML
configuration files in the version control system, which rep-
resent the implemented change. Further changes to the con-
figuration followed the same procedure.
After the process had been implemented and the new
configuration had been tested and stabilized, a baseline ver-
sion of the configuration was created and released together
Process rule Result
with the process documentation. The change history is doc-
umented in terms of the tasks associated to the baseline. Figure 5. Violations overview in the process quality report.

D. Process Monitoring The process rules are periodically executed as part of the
In addition to various process-related performance meas- daily build. It is based on the same build environment that is
ures shown as part of the ALM tool’s dashboard, the moni- used for building in the development projects. To visualize
toring of the compliance to process rules was considered a the process quality over time, the aggregated results are also
central indicator for process quality. Process rules encode the shown as trend graph in the build report, which is otherwise
guidelines accompanying process activities specified as used to depict test results.
stories. Examples are that “tasks need to be linked to a re-
quirement” or that “passed iterations must not have open V. RESULTS AND LESSONS LEARNED
tasks associated”. In total 33 process rules were defined, e.g., At the time of writing, the project is in the roll-out phase.
relating to items such as requirements, tasks or iterations. Even though some customizations and enhancements are
Process rules are constituted as item of the type RULE. They planned for the near future, the ALM configuration of the
are associated to STORYs via trace links. ALM solution as well as the documented process reached a
A specific property of RULEs is that they have to be ex- stable status. The results in terms of work items grouped by
ecutable. Therefore each RULE is also linked to a JavaScript type are shown in Table 1.
function that queries the repository of the ALM tool in order In the beginning a handful of GOALs had emerged as
to detect violations, which are usually specified in terms of important drivers representing the company’s software engi-
thresholds. A library of reusable functions implementing neering strategy. These goals were refined to REQs – on
various generic queries has been developed. Thresholds and average ten requirements exist per goal.
other relevant properties are embedded as variables in the Requirements were once again refined to STORYs,
textual description of the RULE. The rule engine parses the whereby several requirements may share one story. Stories

291
can be grouped according to affected process roles. Every with users. These GOALs and REQs were detailed into
story is assigned to exactly one of the roles: Technical prod- STORYs, so there is an initial peak of STORYs in the early
uct manager (5 stories), Project manager (10 stories), Devel- phases too. In the next iterations (iteration 3 to 5) the focus
oper (7 stories), Administrator (3 stories), Tester (2 stories), was on the refinement of HOWTOs to get a better under-
or Everyone (1 story). For every story typically two to three standing of the ALM tool. This resulted in feedback to
HOWTOs exist that provide step-by-step instruction on how REQs, which sometimes had to be changed and additional
to execute the story. REQs were introduced (iteration 6).
Towards the end of the piloting phase (iteration 10 and
Work Item Type Total 11) the users had become more experienced with ALM,
GOAL 9 which resulted in further REQs and additional changes. The-
REQ 59 se changes also caused an adaption of several of the HOW-
STORY 28 TOs, which shows as slightly delayed peak in iteration 11.
HOWTO 82 After the piloting phase only minor changes to REQs oc-
RULE 33 curred that do not stand out in the figure. In contrast, HOW-
TASK 122 TOs were more frequently changed with a significant peek in
iteration 15.
Table 1. Number of work items by type.

Up to now 33 RULEs have been implemented. The proc-


ess rules cover different areas of the software development
process: Requirements management (7 rules), project plan-
ning (9 rules), development (10 rules) and product quality (6
rules). Process rules have been introduced on demand. Cur-
rently only the most important aspects are addressed. More
rules would be necessary to cover all relevant aspects of the
development process.
In total 122 TASKs were needed – most ranging from 1 Figure 6. Changes of goals and requirements vs.
to 5 person days – to establish the ALM solution and to stories and how-tos.
adapt the process. About half of the tasks relate to the cus-
tomization of the ALM solution. This corresponds to the The introduction of ALM in the case company is an in-
share of the overall project effort consumed by the customi- teresting example for establishing tool support as well as for
zation phase, which is about 50 percent of the total effort evolving and improving processes. The key lessons we
from evaluation to enhancement, not including roll-out. learned in this project are:
Use prototyping for tool evaluation. Conventional ap-
REQ by Category Total proaches for selecting (software engineering) tools follow
Administration 7 evaluation procedures based on initially elicited require-
Requirements management 13 ments. Such approaches appear efficient and effective if
Change management 6 many tools with comparable features should be ranked to
Project management 8 elect an optimal candidate. However, in evaluating ALM
Implementation 6 tools we found the requirements could not be completely
Reporting 5 specified up-front since innovative features and concepts
Interfaces 4 fostered new application scenarios and implied new require-
Test management 6 ments. A prototyping approach resulting in the pilot project
Team collaboration 4 was thus necessary to gain confidence about the selected
candidate solution.
Table 2. Number of requirements by category.
Plan for customization and enhancements. A consider-
able share of the effort involved in introducing an ALM
Table 2 shows the number of REQs by category. With solution is consumed by the customization of the tool and the
one exception (the category “Requirements management”), tailoring of the process, even when process templates can be
the numbers of requirements are mostly uniformly distrib- used as basis. Not considering roll-out to different groups,
uted. The higher number of requirements in the category customization required about 50 percent of the effort and the
“Requirements management” reflects the company’s initial additional enhancement again about 25 percent. Similar
need to improve the requirements engineering and manage- findings have been reported by Kääriäinen and Välimäki [6].
ment process, which was one of the triggers for introducing Tolerate deviations, but offer feedback. Providing guide-
ALM in the first place. lines and feedback instead of imposing process compliance
Figure 5 illustrates the changes of GOALs and REQs in had a notably impact on the users’ acceptance of the pro-
contrast to STORYs and HOWTOs. These changes are posed process and ALM support. Basically the ALM tool is
grouped by iterations, each lasting about two weeks. In the capable to enforce rules by using strict settings, e.g., via
first iterations GOALs and REQs were elicited in workshops

292
required attributes for work items or conditional state transi- executable results. Reflecting on what software development
tion in the workflow. However, enforcing the rules by such actually encompasses – the source code, the underlying
mechanisms would prevent the use of the ALM solution for models as well as the activities and people that brought it to
exceptional cases not previously considered. Monitoring rule life – further support the appreciation of the role of process
violations and accepting a certain level of inconsistency and management.
deviations showed fruitful and even brought new require- Departing from this discussion, a main point of our future
ments and scenarios to light. work will be to investigate whether and how ALM solutions
can serve as instances of a software process. This question is
VI. CONCLUSIONS related to another target we are aiming at, the definition of a
Over the recent years, the concept of ALM has been comprehensive set of process rules. In this context we are
widely promoted by tool vendors and ALM solutions have interested in exploring how and to what extent the actual
attracted the attention of many software developing compa- processes can be reverse engineered from the configuration
nies. In this paper we described the introduction of an ALM and measurements extracted from an ALM solution.
solution for software development in a large industrial manu-
facturing company and the process improvement initiatives REFERENCES
complementing the introduction. For the management of [1] M. Cohn, "User Stories Applied: For Agile Software Development,"
activities from both, the introduction and the process im- Addison-Wesley, 2009.
provement, the ALM support was used. [2] M. Gousset, A. Krishnamoorthy, B. Keller and S. Timm,
"Professional Application Lifecycle Management with Visual Studio
Across all phases – evaluation, piloting, customization, 2010: with Team Foundation Server 2010," Wiley Publishing, 2010.
enhancement and roll-out – the ALM solution turned out to [3] ISO/IEC, "International Standard 15940, Information Technology –
be an effective utility not only for software development but Software Engineering Environment Services," ISO/IEC, 2006.
also for process management. Indeed, many activities in [4] J. Kääriäinen and A. Välimäki, "Applying Application Lifecycle
process management show similarities with the management Management for the Development of Complex Systems: Experiences
activities in software development and, furthermore, many of from the Automation Industry," 16th EuroSPI 2009, CCIS 42, Alcala,
the process-related artifacts can be treated similar to artifacts Spain, Sept. 2009, pp. 149-160.
from software development. Examples are (software | proc- [5] J. Kääriäinen, J. Eskeli, S. Teppola, A. Välimäki, P. Tuuttila and M.
ess) requirements or (user | process) documentation but also Piippola, "Extending Global Tool Integration Environment towards
Lifecycle Management," Confederated International Workshops and
the configuration and implementation (of developed applica- Posters on On the Move to Meaningful Internet Systems, OTM 2009.
tions | tools and process rules) as well as measurement re- Springer, LNCS 5872, 2009, pp. 238-247.
sults (from code analysis | process rules). Hence, process [6] J. Kääriäinen and A. Välimäki, "Impact of Application Lifecycle
management can draw many benefits from the features pro- Management – A Case Study," Conference on Interoperability of
vided by an ALM solution. Enterprise, Software and Applications (I-ESA), Berlin, German,
For the people involved in the project, this finding stirred March 2008, pp. 55-67.
far-reaching discussions. From the perspective of software [7] A. Kinnula, "Software Process Engineering Systems: Models and
Industry Cases," Oulu University Press, 2001.
development, the underlying software development proc-
[8] S. Krishna and T. Fenstermaker, "IBM Rational Team Concert 2
esses – and the management thereof – are often perceived as Essentials," Packt Publishing, 2011.
a separate thread, running in parallel but mostly detached [9] L. Osterweil, "Software processes are software too," 9th International
from the actual development activities. In many cases soft- Conference on Software Engineering (ICSE '87), Monterey, CA,
ware development and process management have drifted March 1987, pp. 2-13.
apart and, thus, software development and process manage- [10] L. Osterweil, "Software processes are software too, revisited," 19th
ment started to evolve in their own (small) universe, focusing International Conference on Software Engineering (ICSE '97),
on their own problems, elaborating their own solutions, with Boston, MA, 1997, pp. 540-558.
their own models, concepts and tools. The way in which the [11] G. Pirklbauer, R. Zeilinger and R. Ramler, "An Integration-Oriented
ALM solution was used for process management has brought Model for Application Lifecycle Management," 11th International
Conference on Enterprise Information Systems (ICEIS 2009),
both worlds closer together. Reusing the concepts from soft- Springer, LNBIP 24, Milan, Italy, May 2009, pp. 399-403.
ware engineering for process management wherever possible [12] A. Saaksvuori and A. Immonen, "Product Lifecycle Management,"
shaped a common language that fostered mutual understand- 3rd Ed, Springer, 2008.
ing. Perceiving the ALM tool and its configuration as part of [13] C. Schwaber, "The Changing Face Of Application Life–Cycle
the implementation of the process created awareness about Management," Technical Report, Forrester Research Inc., 2006.
the contribution of process management for software devel- [14] K. Stapel, E. Knauss and C. Allmann, "Lightweight Process
opment. Documentation: Just Enough Structure in Automotive Pre-
The inherent risk that process management is by this development," 15th EuroSPI 2008, CCIS 16, Dublin, Ireland, Sept.
2008, pp. 142-151.
means reduced to tool support can be opposed by the ques-
tion whether software development is only concerned about

293

You might also like