<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Methodology of Building ALM Platform for Software Product Organizations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ivo Pekšēns</string-name>
          <email>ivo.peksens@itella.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>AS Itella Information Mūkusalas 41b</institution>
          ,
          <addr-line>Rīga, LV-1004</addr-line>
          <country country="LV">Latvija</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This work investigates Application Lifecycle Management (ALM) and elaborates a methodology for building an ALM platform for organizations dealing with manufacturing of software products. The meaning of platform is defined and available ALM platforms on the market are analyzed as a part of the methodology execution. Emphasis is put on basic principles coming from PLM - Product Lifecycle Management which are about integration of different parts and roles in an organization with the purpose of better information exchange that positively impacts business agility, performance and visibility.</p>
      </abstract>
      <kwd-group>
        <kwd>Application Lifecycle Management</kwd>
        <kwd>Software products</kwd>
        <kwd>Tool integration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Application Lifecycle Management (ALM) is a term coined in various sources,
(examples [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) around Information Technology (IT) industry during the last
decade, but no two definitions are the same. Often the scope of ALM is narrowed
down to software development activities only, including maintenance at best. A more
detailed investigation (examples [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]) shows that ALM is very similar to PLM
– Product Lifecycle Management which covers much broader scope – from idea till
end of life of the product. The question is – if software is a product why cannot ALM
cover the same scope as described by PLM, especially taking into account the
maturity of the latter? (Term PLM is rooted in manufacturing and has been widely
used for years describing the whole lifecycle of the physical/hardware products).
      </p>
      <p>
        The idea behind PLM is to solve the problem of un-integrated work of different
roles and parts of an organization that collaborate on product throughout its lifecycle
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The main elements of the solution are product information flow, visibility and
availability that make the work integrated and effective which is crucial for product
innovation in today’s fast pace business world.
      </p>
      <p>
        The ALM platform in short encompasses all the technical means that enable the
above stated qualities of the information throughout the software product lifecycle.
While it is possible to build such a platform from existing tools and systems, market
offers out-of-box ALM solutions [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] specifically addressing the
software product lifecycle management. Vendors like IBM, Microsoft, Hewlett
Packard and others are the key players in this market niche.
      </p>
      <p>Organizations participating in software business usually have some set of tools in
place therefore obtaining an out-of-box ALM platform is a huge responsibility and
requires a thorough fit-gap analysis prior to making the decision.</p>
      <p>This article describes the elaborated methodology for building the ALM platform
based on current state of an organization producing software products. At the end,
execution (partial) of the methodology with fit-gap analysis method to four ALM
platforms available on the market is presented.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Structure</title>
      <p>The elaborated methodology consists of two parts:
 ALM Readiness check – describes/defines target organization’s product lifecycle
against ALM Reference model;
 ALM Tool investigation – investigates tools that support the described product
lifecycle and evaluates them accordingly to ALM Reference Requirements
(derived from the ALM Reference model).</p>
      <p>Figure 1 illustrates the mapping of the methodology foundation (ALM Reference
model and ALM Reference requirements) to the product lifecycle and its tools.</p>
      <sec id="sec-2-1">
        <title>2.1 ALM Reference model</title>
        <p>
          In order to build the ALM platform, reference points are needed. Investigation of the
information about IT industry shows that there is a lack of independent, objective
guides/methods for ALM type of solutions. Variety of sources [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ],
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] has been researched and none of it describes the whole lifecycle of the
software product in a clear, concise way. For this reason originally constructed ALM
Reference model for building ALM platform is presented that defines and integrates
ideas from various approaches into one common model that covers the whole
lifecycle of a software product very similar to how PLM does [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. See Figure 2.
        </p>
        <p>Birth/Growth/End-Of-Life block is either a starting, improvement or end-of-life
point for the product. Depending on organization, this may be a small set of few
separate products reaching to huge program and product portfolio management
processes that are targeted in this block. This block maintains product’s full
information that is updated on frequent basis.</p>
        <p>
          Business model block is the place where product’s feasibility is validated before
the actual product development is started. It is included in the model as extension to
classical project management. It is proposed to function according to innovative way
of creating business models as proposed by A. Osterwalder [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. Its main benefit is in
being a visual one-pager style look [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] at the project/product/idea from many
perspectives which leads to much more precise validation of financial information.
        </p>
        <p>
          R&amp;D block represents Research &amp; Development phase of the model which
includes finding the right technology and running software development according to
some of known software development approaches [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>Production/CRM block is the last phase which mainly includes processes like
Release and Customer Relationship Management (CRM). Challenges in here are
release strategy choice, actual release management, customer feedback incorporation
into development and similar. The key idea of this block’s relation with block 1 is
getting the real production statistical data and CRM data as input into block 1 for
correct and timely decision making about the fate of the existing products
(termination, further development, new product).</p>
        <p>
          Analytics is the core of this model as it is meant as continuously analyzing part of
processes and information in other blocks. It can be divided into internal and external
parts. Internal is any type of analytics solution up until enterprise level business
intelligence implementations [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], whereas external is interface to something as Big
Data1.
1 From http://visual.ly/big-data: “Big Data is data that is too large, complex and dynamic for
any conventional data tools to capture, store, manage and analyze. The right use of Big Data
allows analysts to spot trends and gives niche insights that help create value and innovation
much faster than conventional methods”
        </p>
        <p>Main feature of the model is Integration which makes all parts of it work as one
system. This way it achieves high agility and visibility of information under
processing.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>ALM Reference requirements</title>
        <p>In order to execute partially the methodology with fit-gap analysis method, twenty
nine ALM Reference requirements are derived from the ALM Reference model that
represent the model’s blocks in more details. See Appendix: ALM Reference
requirements2.</p>
        <p>2. Identify
product lifecycle</p>
        <p>Yes
3. Identify phases,
processes
4. Aligned to
Reference
model?</p>
        <p>Decision to develop</p>
        <p>ALM platform
1. Certification and/or
mgmt framework
in place?</p>
        <p>No
Yes</p>
        <p>Yes
7. Way of
working
described?</p>
        <p>Yes
8. Product
lifecycle
identifiable?</p>
        <p>No</p>
        <p>10. Describe
No</p>
        <p>9. Define
5. ALM Tool
investigation
No
6. Align product
lifecycle to Reference
model</p>
        <p>2 Some of requirements are not shown due to space limitations.
The second part of the methodology – ALM Tool investigation is based on the fact
that all processes need tools in order to be executed; therefore it deals with the
investigation of the technical means, which are mainly software application tools that
support the execution of identified software product lifecycle. See Figure 4.</p>
        <p>Completion of ALM
Readiness check
1. Identify tools
covering the
product lifecycle
5. Identify not
integrated tools
6. Are those from
one vendor?</p>
        <p>Yes</p>
        <p>Yes
7. Can those be
integrated?
8. Integrate
according to
tool vendor
guidelines</p>
        <p>No</p>
        <p>No
2. Update product
lifecycle
descriptions
11. Investigate
vendor tool change
according to</p>
        <p>OSLC
and/or
TASKTOP
12. Implement</p>
        <p>tools
9. Update product
lifecycle
descriptions</p>
        <p>No
3. All tools
integrated ?</p>
        <p>Yes
10. Integrate
according to</p>
        <p>OSLC
and/or
TASKTOP
guidelines
4. Fit-gap analysis
of tools to
Reference
requirements</p>
        <p>End
with fit-gap
analysis results
building practical specifications for integrating software.
that produce software product manufacturing tools and applications for use by IT
industry players. Emphasis is on the fact that ALM platform might be either one
complete solution from one vendor like, for instance, IBM or it can consist of various
tools made by various vendors. The key thing is to make them all work integrated, so
they can be called the ALM platform. ALM Reference requirements representing the
ALM Reference model can be considered as an instrument to verify the conformity of
the tools that form the ALM platform to the proposed ALM Reference model.
5</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>ALM platform analysis</title>
      <p>
        For execution (partial) of the elaborated methodology, test organization is introduced
that has passed the first part of the methodology and has one vendor ALM platform
in-house. This way the second part of the methodology gets executed that deals with
the tools. Four participants were chosen according to Gartner [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and Forrester [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
recommendations and those are IBM Rational, Microsoft Visual Studio ALM, Rally
Software ALM and Atlassian based ALM ([
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]). Analysis approach is
based on information investigation which is available mainly on the vendor websites.
Neither real world testing, nor customer feedback survey was used. Fit-gap analysis
method was used with the twenty nine requirements as described in section 2.2.
Tables 1 – 7 show ALM platform analysis scores.
4 http://tasktop.com/ - Commercial organization, specializing in software development tool
integration.
      </p>
      <p>Overall (Table 1) the highest score goes to IBM Rational and none of the platforms
completely conforms to the proposed ALM Reference model. Tables 2 – 5 show
scores for other blocks. Integration feature (Table 7) the highest score goes to Rally
Software ALM.
6</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>Emphasis was put on looking at software products similarly as it is done in other
areas, for example, car manufacturing. The reasons for this are to underline that the
making process of software products is very much alike. Integration of tools and
information flow becomes very crucial in this case. The elaborated methodology for
building the ALM platform is model based, the latter being introduced also as part of
the work. The reason for this is shortage of such models as shown by the research.
Although this is an original work, the model itself is put together from already
available information about the subject of software based products. The methodology
itself consists of two parts – product lifecycle definition and lifecycle tool
investigation. As our work shows, in majority of cases, ALM platforms are built on
top of existing tools not obtained as out-of-box solutions. Nevertheless, testing the
model and reference requirements on ALM platforms available on the market allowed
us to conclude that none of those conform the model for 100%. The reasons behind
this might still be very diverse interpretation of what is ALM by different vendors
resulting into delivery of appropriate solutions as well as shortage of solid, industry
accepted knowledge about ALM the same like it is about PLM.</p>
    </sec>
    <sec id="sec-5">
      <title>Appendix: ALM Reference requirements</title>
      <sec id="sec-5-1">
        <title>ALM Reference model: Birth/Growth/End-Of-Life</title>
        <p>Product profile
There must be support for seeing general product
information - name, status (idea, development,
maintenance, ending), versions, lifespan and similar.
Multiple products (portfolio) support is mandatory.
There must be a centralized storage of product backlog.
It must be possible to filter it, based on various criteria
(proposed, approved, denied, etc.). Important attribute
of each entry is its financial value.</p>
        <p>There must be a way of describing product roadmap
and product releases with names, dates and possibly
other information.</p>
        <p>It must be possible to validate idea of a new product.
Approach like “Business model generation” can be
used. This feature must allow modeling business value.
It must be possible to validate any new release of an
existing product similar to 2.1 and it also must be
linked. This feature must allow modeling business
value.
1
1.1
2
2.1</p>
      </sec>
      <sec id="sec-5-2">
        <title>ALM Reference model: Business model</title>
        <p>Idea validation
1.2</p>
        <p>Product backlog
1.3</p>
        <p>Product roadmap
2.2</p>
        <p>Release validation</p>
      </sec>
      <sec id="sec-5-3">
        <title>ALM Reference model: R&amp;D</title>
        <p>Release backlog
Waterfall methodology
support
Iterative methodologies
support
UML and other
diagramming for
requirements definition
Source control
Programming language
independence
Depending on the method used, here must be a
possibility to create subset of requirements from the
product backlog according to product roadmap.
It must be possible to run development projects
according to waterfall method.</p>
        <p>It must be possible to run development projects
according to iterative methods.</p>
        <p>It must be possible to complement requirements with
diagrams in different notations.</p>
        <p>Various types of source control must be supported by
the platform.</p>
        <p>This part of platform must also be vendor independent
thus allowing performing work in variety of
technologies (.NET, C/C++, Java) or it must be easily
extensible to accommodate different frameworks.</p>
      </sec>
      <sec id="sec-5-4">
        <title>ALM Reference model: Production/CRM</title>
        <p>Release management
5.2</p>
        <p>Social media monitoring
Analysis block must be social networking friendly. It
4.2</p>
        <p>Production deployment
4.4</p>
        <p>CRM</p>
      </sec>
      <sec id="sec-5-5">
        <title>ALM Reference model: Analytics</title>
        <p>Connections
There must be possibility to manage several releases of
the product. It must be clearly visible in which state is
each release. Besides, generation of release notes must
be possible as well.</p>
        <p>It must be possible to deploy the finished release into
the production environment or mark the release as
ready to manufacturing (RTM) in case of
shippable/embeddable product.</p>
        <p>It must be possible to use the same environment that is
used for R&amp;D also for handling support requests as
well as perform CRM activities. This part of ALM
platform must be integrated with ERP system of the
enterprise or any other that holds customer/partner data.
Analysis block of the solution must take data from
other blocks around it. If there is no built-in Analytics
sub-system, that supports integrated work of blocks 1-4,
it must declare options on connectivity with other
analytic solutions/enterprise systems.
5.3
5.4</p>
        <p>Web data monitoring
Existing data warehouses
must be possible to search in public social media data
according to keywords. Example of such solution is
“Hoot Suite”
It must be possible monitor and search information in
public web according to keywords.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Chappel</surname>
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>What is application lifecycle management?</article-title>
          , http://www.davidchappell.com/WhatIsALM--Chappell.pdf/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Rossman</surname>
            <given-names>B.</given-names>
          </string-name>
          : Application Lifecycle Management, pp
          <fpage>218</fpage>
          ,
          <string-name>
            <surname>Tebbo</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Woody</surname>
            <given-names>L.S.:</given-names>
          </string-name>
          <article-title>Where the acronym ALM does come from?</article-title>
          , http://leonardwoody.com/
          <year>2011</year>
          /07/18/where
          <article-title>-does-the-acronym-alm-application-lifecyclemanagement-come-from/ (</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <article-title>BigLever software, Inc: PLM, ALM</article-title>
          and PLE, http://www.biglever.com/technotes/plm_alm_spl.html
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Klassen</surname>
            <given-names>M.:</given-names>
          </string-name>
          <article-title>PLM and ALM - strange but necessary bedfellows</article-title>
          - http://www.eclipsecon.org/2013/sessions/plm-and
          <string-name>
            <surname>-</surname>
          </string-name>
          alm-%
          <source>E2%</source>
          <volume>80</volume>
          %
          <fpage>93</fpage>
          -strange-necessarybedfellows,
          <source>The Eclipse Foundation</source>
          ,
          <fpage>2013</fpage>
          - 27 p.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Serignese K. SD</surname>
          </string-name>
          Times -
          <article-title>Organization works to blend application, product lifecycle management -</article-title>
          - http://www.sdtimes.com/link/34381,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>7. PLM Technology Guide, http://plmtechnologyguide.com/site/?page_id=435/</mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>8. IBM. Collaborative Lifecycle Management, http://www01.ibm.com/software/rational/alm/collaborate/</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Microsoft</surname>
          </string-name>
          . Visual Studio ALM - http://www.microsoft.com/visualstudio/eng/alm
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Rally</given-names>
            <surname>Software</surname>
          </string-name>
          .
          <source>Rally ALM</source>
          platform - http://www.rallydev.com/platform-products/
          <article-title>deliverfeatures-users-love-faster.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Atlassian</surname>
          </string-name>
          . - http://www.atlassian.com/software.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Gartner</surname>
          </string-name>
          .
          <article-title>Selection Criteria for Success in Choosing ALM Products -</article-title>
          http://www.gartner.com/id=1839116/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gartner</surname>
          </string-name>
          . Magic quadrant 2012 - http://www.gartner.com/technology/reprints.do?id=
          <fpage>1</fpage>
          -
          <lpage>1AX7YJM</lpage>
          &amp;ct=120614&amp;st=sb
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Forrester</surname>
          </string-name>
          . Wave - http://www.forrester.com/pimages/rws/reprints/document/60080/oid/1-
          <fpage>LMW1C9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ovum</surname>
          </string-name>
          . Independent, objective analysis - http://ovum.com/section/home/
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Qvum</surname>
          </string-name>
          .
          <article-title>Decision matrix on selecting ALM -</article-title>
          http://download.microsoft.com/download/7/A/0/7A007614-A916
          <string-name>
            <surname>-</surname>
          </string-name>
          4A7C
          <source>-ADC1- 1B1EBC1F9A57/Report%20- %20Ovum%20Decision%20Matrix%20on%20Selecting%20ALM.pdf</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>17.TechExcel. ALM Tool vendor comparison - http://techexcel.com/comparison-of-alm-tools/.</mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Osterwalder</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <source>Business model innovation: Wiley; 1 edition</source>
          , 2012 - 288 p.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Business Model</surname>
          </string-name>
          Foundry - http://businessmodelgeneration.com/.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <article-title>A federal government website. Selecting a development approach</article-title>
          - http://www.cms.gov/Research-Statistics-
          <article-title>Data-and-</article-title>
          <string-name>
            <surname>Systems/</surname>
          </string-name>
          CMS-InformationTechnology/XLC/Downloads/SelectingDevelopmentApproach.pdf
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <article-title>Decision Sciences Institute. Business Analytics: The Next Frontier for Decision Sciences -</article-title>
          http://www.decisionsciences.org/DecisionLine/Vol43/43_2/dsi-dl43_
          <article-title>2_feature</article-title>
          .asp
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>