<<

MASARYK UNIVERZITY FACULTY OF INFORMATICS

Master’s Thesis

Application Lifecycle Management Solutions

Bc. Martin Procháska Brno, 2012

Declaration I declare that this thesis is my original copyrighted work, which I developed alone. All resources, sources, and literature, which I used in preparing or I drew on them, I quote in the thesis properly with stating the full reference to the source.

In Brno, 8th January, 2012

…………………………..…. Bc. Martin Procháska

Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. V Brně, 8. ledna, 2012

…………………………..…. Bc. Martin Procháska

Acknowledgment Firstly I would like to express my gratitude to my supervisor, RNDr. Ondřej Skřehota, for his valuable comments and remarks which he provided me with during the numerous consultations. Secondly, I would like to also thank to Mr. Andreas Schmidt, Quality Manager for Siemens AG ICMOL CTE ITS R&D, who was willing to consult my thesis externally. Lastly, I would like to thank to my girlfriend and family for being supportive.

Dedication I dedicate my work to Mr. President Václav Havel, who brought democracy to Czech Republic and enabled us to live, work and study freely. We will never be able to thank him enough. 5. 10. 1936 - 18. 12. 2011

Abstract This thesis presents the Application Lifecycle Management /ALM/ concept and maps the related areas of development as well as their specific for ALM solution. It discusses the aspects of ALM solution software implementation and also outlines the possible adoption process together with connected issues. In the second part, the current software market is sought for notable ALM software products. The selected products are analyzed for their structure and integration possibilities based on publically available information.

Shrnutí Tato práce prezentuje koncept zvaný „Application Lifecycle Management“ a mapuje relevantní oblasti softwarového vývoje včetně specifických požadavků pro ALM řešení. Dále jsou diskutovány aspekty softwarových implementací ALM řešení a je nastíněn proces osvojení spolu s možnými problémy. V druhé části práce jsou uvedeny významné ALM produkty nalezené na základě průzkumu trhu a je analyzována jejich struktura a možnosti integrace.

Keywords Application Lifecycle Management, ALM, , Software Development Lifecycle, Software Development Support, Software , Agile Development, Compliance, Traceability, Integration

Klíčová slova Application Lifecycle Management, ALM, softwarový vývoj, životní cyklus softwarového vývoje, podpora softwarového vývoje, řízení softwarového projektu, agilní vývoj, shoda, sledovatelnost, integrace

Contents

1. Introduction ...... 11 1.1. Chapter Overview...... 12 1.2. Objective ...... 12

2. Software Development History and Evolution ...... 13 2.1. Beginnings ...... 13 2.2. Software Development Lifecycle ...... 13 2.3. Waterfall Methodology ...... 13 2.4. Iterative and Incremental Development ...... 14 2.5. Agile Methodologies ...... 15 2.6. The Necessity of Global Concept ...... 15 2.6.1. Connecting the Companies’ Universe ...... 16 2.6.2. Keeping the Agile Under Control ...... 16

3. Application Lifecycle Management Goals ...... 17 3.1. Addressed Issues ...... 17 3.1.1. Poor Traceability between Related Work Artifacts ...... 17 3.1.2. The Lack of a Broader View ...... 18 3.1.3. Insufficient Communication and Poor Knowledge Gathering ... 18 3.1.4. Inflexible Synchronization of Dependent Tasks ...... 18 3.1.5. Difficult Collaboration ...... 19 3.2. Key Goals of ALM ...... 19

4. Areas Covered by ALM ...... 20 4.1. Project and Portfolio Management ...... 20 4.2. Reporting ...... 21 4.3. Requirements Management ...... 22 4.4. Development / Implementation ...... 22 4.5. Software ...... 23 4.6. Test Management, and Quality Management ..... 25 4.7. Defect Tracking and Product/ Service Support ...... 26 4.8. Customer Relationship Management ...... 27 4.9. Documentation / Collaboration ...... 27 4.10. Build and Release Management / ...... 28

5. ALM Software Implementations ...... 30 5.1. Solution Architecture ...... 30 5.1.1. Monolithic ...... 30 5.1.2. Point-to-Point Integration ...... 31 5.1.3. ALM Integration Hub ...... 31 5.1.4. ALM Framework ...... 32 5.2. ALM Solution Product Aspects ...... 33 5.2.1. Single-Vendor and Multi-Vendor ...... 33 5.2.2. Software as a Service ...... 33 5.2.3. Open Source ...... 33 5.3. Integration ...... 35 5.3.1. Integration Attributes ...... 35 5.3.2. Integration Technologies ...... 36

6. ALM Adoption ...... 37 6.1. Motivation for ALM Adoption ...... 37 6.2. Pitfalls of ALM Adoption ...... 38 6.3. Rollout Strategies ...... 39 6.3.1. “Rip and Replace” ...... 39 6.3.2. Migration ...... 39 6.3.3. Integration ...... 40 6.4. Goals of ALM Adoption ...... 40 6.5. ALM Adoption Process...... 40

7. Comparison of Selected ALM Solutions ...... 42 7.1. Comparison Profile ...... 42 7.1.1. Focused ALM Customers ...... 42 7.1.2. Selection Criteria ...... 42 7.1.3. Comparison Criteria ...... 42 7.1.4. Data Actuality Disclaimer ...... 42 7.2. Selected ALM Solutions ...... 43 7.2.1. Atlassian , Confluence, FishEye and Bamboo ...... 44 7.2.2. CollabNet TeamForge and ScrumWorks Pro ...... 46 7.2.3. HP Application Lifecycle Management 11.00 ...... 48 7.2.4. IBM Rational Solution for Collaborative Lifecycle Mgmt...... 50 7.2.5. IkanALM ...... 52

7.2.6. Kovair ALM Studio and Omnibus Integrations Middleware ...... 54 7.2.7. Application Lifecycle Management .... 56 7.2.8. OpsHub Integration Manager & Analytics Manager ...... 58 7.2.9. Concerto ...... 60 7.2.10. Polarion ALM ...... 62 7.2.11. PTC MKS Integrity ...... 64 7.2.12. Rally Unlimited Edition ...... 66 7.2.13. Rocket Aldon ALM products ...... 68 7.2.14. Seapine ALM ...... 70 7.2.15. Serena Orchestrated Application Delivery ...... 72 7.2.16. SmartBear Software ALMComplete ...... 74 7.2.17. TaskTop Dev Enterprise and TaskTop Sync ...... 76 7.2.18. TechExcel DevSuite ...... 78 7.2.19. ThoughtWorks’ Adaptive ALM ...... 80 7.2.20. VersionOne ...... 82

8. Conclusion...... 84 8.1. Designated Goals and Related Findings ...... 84 8.2. Limitations ...... 87 8.3. Further Work ...... 87

9. References ...... 88

The List of Abbreviations

ALI Application Lifecycle Intelligence ALM Application Lifecycle Management API Application Programming Interface BM Build Management CCF CollabNet Connector Framework CCM Configuration and Change Management CMMI Capability Maturity Model Integration COM Component CRM Customer Relationship Management FDD Feature Driven Development HTML Hypertext Markup Language IAF Integrated Application Framework IDE Integrated Development Environment IT Information Technology ITIL IT Infrastructure Library ITSM IT Services Management JDK Development Kit JRE Java Runtime Environment MSF Microsoft Solution Framework OS OSLC Open Services for Lifecycle Collaboration RUP Rational SaaS Software as a Service SCM Software Configuration Management SDLC Software Development Lifecycle SLA Service Level Agreement SOAP Simple Object Access Protocol SVN Subversion SW Software UI User Interface VCS System XP

1. Introduction The importance of software development has been rising from its beginning. Being driven by the technological progress, digital systems penetrate the new areas every day. Twenty years ago, the operating systems /OS/ could be found mainly in personal or other computers. Today, embedded operating systems power TVs, ATM machines, printers, ticket machines and even cheap digital photo-frames. Soon it will be profitable for producers to create OS-powered refrigerators or home heating systems and we will see the software market to expand even more. Another factor driving the evolution of software development world is the increasing complexity of the computer system. There were complex and critical systems twenty years ago, but the nature of today’s internet-powered world forces the companies to open their critical e.g. banking or health insurance systems to clients directly. That necessarily brings additional complexity, security requirements and also the claim for shorter release cycles. The software development companies are striving to cope with these challenges. While every aspect of software development process evolves, the overall process improves only slowly. Today, we have highly abstract programming languages, powerful Integrated Development Environments /IDE/, advanced testing techniques, powerful artifact repositories but the coordination of dependent tasks or work handovers are often clumsy. It has been established that the coordinative and routine work consumes a significant time of a worker. Additionally, the rising complexity of computer systems is laying requirements for perfect quality. Working with disconnected tools we will never be able to ensure the required level of compliance necessary for critical computer systems. Application Lifecycle Management /ALM/ can solve some of the issues and therefore act as process improvement framework.

11

1.1. Chapter Overview The main chapters are dedicated to the objectives defined for this thesis. The chapter reference is included with the description of stated goals. While chapters 2, 3 and 4 mainly present the theoretical basis of the domain, chapters 5, 6 and 8 are dedicated to presentation of the findings and the collected data. 1.2. Objective Although the acknowledgment of ALM is increasing, some companies still remain uninformed or doubtful. The objective of this thesis is to provide an overview of ALM concept and help the companies to choose the platform fitting most to their environment. Since it is not possible to define objective criteria for absolute classification of ALM solutions the goal of this thesis is to provide enough theoretical background information about the domain and collect the data about the currently available solutions support companies’ ALM adoption process.

This goal is going to be achieved via following subtasks:

1. Present the history of software development and its implications for ALM. (chapter 2)

2. Present the core ideas of ALM concepts. (chapter 3)

3. Describe the areas of software development and define their specific requirements for ALM solution. (chapter 4)

4. Analyze the various aspects and possibilities of ALM solution software implementations. (chapter 5)

5. Outline the possible ALM adoption and integration process together with common issues. (chapter 6)

6. Analyze the software market for enterprise ALM products focusing on their integration capabilities. (chapter 7)

12

2. Software Development History and Evolution 2.1. Beginnings Compared to other domains of human creativity Software development can be considered to be quite new. While domains such as Architecture exists for thousands of years, the beginnings of computer programs are tied together with the invention of computational machines. Although, the bases were laid in the 19th century with the mechanical computers, the first formulation of algorithm and digital electronic computer is attributed to Alan Turing for his essay “Computable numbers with an application to the Entscheidungsproblem (Decision problem)” published in 1935. For the next 25 years computer programs were evolving with hardware introducing the magnetic memory for their storing, first operating systems and more advanced programming languages. The increased level of abstraction as well as concepts such “Structured Programming” had allowed the computers to be used for more complex applications. 2.2. Software Development Lifecycle As the complex computers systems began to emerge, the intuitive software development practices quickly started to be recognized as insufficient and the formalized definition of the whole software development process became an urgent need. In the year 1970 Winston W. Royce published the notoriously known paper “Managing the Development of Large Software Systems” (Royce, 1970). This paper is often cited as the first full definition of Software Development Lifecycle /SDLC/ covering all the respective areas from the till the product deployment. Despite the fact, that he personally did not use this term within the paper, his methodology was lately named as “waterfall” because of its linear structure. 2.3. Waterfall Methodology Among other attributes, Royce emphasized the planning and design phase, clear definition of requirements for every phase and importance of quality management. The waterfall methodology was adopted by many software producers as a quick solution how to formalize their software development activities. Despite the undeniable contribution to the software development formalization, during the times, the waterfall methodology started to show some weaknesses. The strong isolation of the phases as well as their strictly linear sequence, were discovered as the main disadvantages. For example, the testing phase, placed almost at the end of the software development process, sometimes caused, that the product issues were discovered late and the project could not be finished on time. It should be

13

noted at this point, that even though Royce presented his methodology as linear he suggested two SDLC iterations (the internal preliminary version and the final version). Also, interestingly, Royce emphasized the importance of customer feedback – the future thrust of Agile development and topic ignored by many software producers for many years after. Therefore, it can be discussed, which issues were rooted in methodology itself and which were caused by its misusage. The fact is, that waterfall and similar linear methodologies has been used for decades and, what more, they can be seen in some companies even now a days.

Figure 1 - "Waterfall" software development methodology

2.4. Iterative and Incremental Development Even though the iterative development is often considered as a modern replacement for the waterfall, it is not completely true. The ideas of iterative development were defined as long ago as the waterfall methodology itself. Some records about iterative development are dated even sooner (Larman, et al., 2003). One of the first notable definitions of Iterative development was the paper “Iterative Enhancement: A Practical technique for Software Development” (Basili, et al., 1975). Basili presented the idea that some systems are too large to be designed at once. He suggested starting with skeletal implementation of the product and continuing with incremental implementation of the product features having a full SDLC cycle for each increment. Basili assumed that in order to integrate each increment into already existing product, changes to product’s architecture will be necessary and that will conclude in continuous

14

architecture and modularity improvement. Also the separate SDLC cycle should provide better quality control and naturally reveal, localize and isolate the possible issues. It can be stated, that the idea of iterative development has proven to be correct and all modern recognized methodologies focusing on large systems are incremental.

Figure 2 - Iterative Development Scheme

2.5. Agile Methodologies In the year 2001 linear methodologies (although still used) were already generally perceived as outdated and were being replaced mostly by rigid iterative methodologies such as or /RUP/. The same year, 17 software developers met to discuss “lightweight” software development methods. As a result, they created so called Agile Manifesto (Sutherland, et al.) – the set of ideas emphasizing the importance of human factor in a software development process. Some of the existing methodologies were marked as too robust and inflexible and the current level of customer involvement as insufficient. The lightweight methodologies (such as Feature Driven Development /FDD/, Scrum or Extreme Programing /XP/ techniques) battle this rigidness by adaptive planning and extensive communication with the customer as well as inside the development team.

2.6. The Necessity of Global Concept The SDLC defined the scope of software development process, the incremental development was rooted as necessary for both flexibility and , and the agile techniques are being adopted as a way of increasing the productivity and (again) the flexibility. But what is the Application Lifecycle Management /ALM/ and what is its purpose?

15

2.6.1. Connecting the Companies’ Universe SLDC process is not a simple one. It is a complex and highly structured process touching many areas. What more, SDLC process is not isolated. In a large software producing companies, there are always multiple software development projects which have to be continuously synchronized in order to deliver a software solution as a whole. Additionally, there are several areas outside the scope of actual software development activities which depend on SDLC process and its outcomes. What is the main subject heavily influencing the productivity of any complex process? It is the infrastructure. With a good and reliable infrastructure every process activity can focus on its primary function not wasting the effort in support or common sub-activities. ALM points to providing such an infrastructure for (multiple) SDLC processes as well as on connecting them to the global process implementing the strategy of the company. 2.6.2. Keeping the Agile Under Control With agile techniques, the democracy comes into the worker teams relaying on their self-organizing capabilities undeniably boosting their performance. In the ideal world SLDC process would function similar to bee’s process of delivering the honey – hundreds of cooperating subjects committed to common goal effectively functioning without any control or guidance. But people are far more complex than bees. They are not unified in their behavior; they have feelings and needs often conflicting with each other. Therefore, bringing the human factor into process has to necessarily bring some problems too. The “Problem Management” teaches us, that the problems can’t be generally eliminated. The goal is to quickly identify the issues and solve them effectively minimizing their impact. But how can we monitor such a complex process as software development without explicit control of working teams? Again, ALM can support that. ALM is able to continuously gather the data across the whole process, enabling a quick identification and targeting of emerging issues keeping the advantages of both agile development and rigid process control (West, et al., 2010).

16

3. Application Lifecycle Management Goals ALM process is much like the SLDC process, related to activities necessary for delivering a software product (Duggan, et al., 2011). In the opposite of SDLC, ALM aims for coordination and evaluation of these activities more than for actual execution and therefore can be thought of as the orchestrator and monitor of software development processes. ALM also differs from SDLC in the area of domain leverage (Chappell, 2008). The SDLC is usually considered to cover mainly the activities connected with the actual software development of the product. ALM in the opposite covers the whole lifecycle of the product including marginal areas such as project initiation or project support. ALM usually encapsulates multiple SDLC cycles relevant to each software version of the product. Important fact to understand is that the process of software product development is extremely diverse in all of its aspects. The software development methodology, the product complexity and structure, the size of the development team, geographical distribution of the participants, stability and performance expectations for product - all of these aspects are different for almost every two software products. The ALM process has to be flexible enough to fit all the possible varieties but also deeply connected with every area of the process. Otherwise it will fail to deliver the required level of traceability, automation and reporting– the three pillars of ALM (Schwaber, 2006).

3.1. Addressed Issues Even though the process of software development varies a lot and the company’s environments vary, the issues experienced during development tend to be quite common for most of the software projects. The key issues addressed by ALM are: 3.1.1. Poor Traceability between Related Work Artifacts In order to monitor the process of development, system handling the relations between several project artifacts across all the areas of ALM is necessary. Nowadays, almost every software development team features some sort of issue tracking tool. Unfortunately, common lack of integration to other areas such as build management disallows execution of advanced queries such as “issue patches included in the latest release”. The Management system is correctly considered as a necessary instrument for software development but there is much less effort dedicated to the management of the documentation. Having the historical versions of source code enables the development of a patch or a service pack. Having the historical versions of documentation and tests related to this code enables

17

us to enforce the same level of quality for the patch as we require for the latest version. The lack of traceability is often root cause for other issues addressed bellow. 3.1.2. The Lack of a Broader View In the scenarios where the software products are complex and require many development teams, measuring the development process can be difficult. In the scenarios featuring the outsourced teams, variety of software development methodologies and used tools, this problem turns into the problem of advanced data-mining. Nonetheless, solution project managers need the performance indicators based on data gathered across the all subprojects in order to keep the solution development on track. They also need the possibility to explore the problematic subprojects in a detail to address the specific issues. It is impossible for managers to explore the individual tools (which may vary from subproject to subproject) to get the required information. Therefore, the gathered information must be presented to them in unified and understandable way. 3.1.3. Insufficient Communication and Poor Knowledge Gathering Communication is a crucial aspect of a software development. For effective function there must be a reliable communication link between all relevant subjects involved in software development. The principles of agile software development even mark the communication as the top one priority (Sutherland, et al.). That comes into direct conflict with the trend of using multiple geographically separated teams or even the virtual teams (groups of separated individuals communicating primarily distantly and often asynchronously) (Svozilová, 2011). Nowadays, the distance communication is technologically affordable making the extensive communication possible even across long distances. On the other hand, without proper way of capturing the transferred information, that information is only used by the current receiver and usually only once. Almost all today’s software producers feature in-place or distance communication and collaboration tools but only few enforces usage of the tools enabling the gathering and indexing of the transmitted information in either written or audio-visual way. 3.1.4. Inflexible Synchronization of Dependent Tasks Some software development activities can be handled in a parallel way, other activities have natural dependencies. For example, in order to execute the test of any product feature, the future must be firstly implemented and made accessible to the tester. Secondly, the tester must be informed that the preceding task had finished. The developer can inform the tester directly. But that is highly inefficient and often not even possible - agile methodologies allow any of the currently unallocated testers to to the relevant . The partial solution could be a usage of

18

test management software. Unfortunately, the usage of isolated test management software products featuring no integration to the development environment requires the developer to replicate the work artifact status change also into testing software thus giving him again the opportunity to postpone it or even to neglect it. In order to maximize the productivity and reliability, there must be an automatic solution responsible for the effective distribution of acknowledgments across the borders of relevant areas of software development. 3.1.5. Difficult Collaboration As the acknowledgments also the actual deliverables of software development work have to be transferred between the involved subjects. Many companies still feature semi-manual workflows defined for this purpose. I.E. the delivery of latest product version for testing purposes is done by the development team member who uploads the build results to the dedicated file share. The tester is then required to manually download the latest build results and deploy them to the test environment. Again, there is enough space for human mistakes and the traceability is poor. The Tester is not able to determine, whether the build results stored at the file share are the latest ones and he is not able to retrieve the previous results when needed as well. 3.2. Key Goals of ALM Based on the addressed issues described in previous chapter, following goals for ideal Application Lifecycle Management process can be defined:

 Full Domain Coverage – All areas related to software development as well as connected areas are covered by ALM process.  Full Technological Coverage – The areas are fully covered across all technology used.  Full Traceability – Relations between artifacts crossing the borders of related areas are maintained and tracked with the history record.  Full Repository Integration – Based on relations relevant information is being synchronized automatically.  Full End-tool Integration – ALM solution provides a user-friendly and effective User Interface /UI/ for point tools in order to provide the relevant information of related artifacts (and also to enable their basic control) from the context of the end-tool.  Process Enforcement – Defined software development process is enforced across the relevant areas in order to synchronize them. Evaluation of the overall process is made possible by traceability.

19

4. Areas Covered by ALM There are several areas related to SDLC process such as Requirements Management, Defect management or the actual Implementation. Some areas are necessary for other areas to function (e.g. Configuration Management or Reporting). In order to deliver the results, software development process more-or-less cycles through the presented areas. ALM represents an infrastructure network connecting and synchronizing all the areas. The following chapters present the common areas of company’s SDLC process and its surrounding. Nonetheless, ALM represents an extensible concept and can incorporate also the less common areas such as Accounting, if it is beneficial for company.

Figure 3 – Common areas covered by Application Lifecycle Management

4.1. Project and Portfolio Management Project Management and Application Lifecycle Management have a common goal – to coordinate and manage the project to the successful end. Additionally, Project Management often needs the outputs from the multiple parts of software development process (Schwalbe, 2010). Without the proper integration of development process, Project Management cannot function efficiently (Doležal, a další, 2009). Contrary to the ALM, Project Management is interested in overall performance and health indicators of the project state where ALM, as already described, manages only the relations between concrete entities and events. This similarity implies in the deeper relationship between ALM and project management when compared to relationship with other areas. The role of the ALM in the relationship is to deliver the required data to Project Management. Project Management evaluates these outputs usually emitting some corrective actions (Hipps, et

20

al., 2010) which are than distributed back to the respective areas by the ALM process, i.e. manages the related domains. The Portfolio management operates on even higher level. If the project management uses the data from project plans and from their current state, Portfolio management manages the whole projects and project programs. The necessary project data can be again delivered by the ALM process. Although, at this time is more common to see the Project and Portfolio management products coupled in one implementation. For different projects within the portfolio (or even within the same Project Program), different development methodologies and management practices are often used which also implies in different tooling set. Without full project and technology coverage, the ALM solution is not able to provide Program and Portfolio Management support.

Key Requirements for ALM Related Artifacts Coverage of all projects Project-specific management tools Ability to abstract and present Project data, Reporting solution the data Ability to manage the related Project plans, Test plans, Deployment domains plans, etc.

Table 1 – Key ALM requirements for "Project and Portfolio Management" area

4.2. Reporting Reporting represents an instrument, which is able to extract the key indicators from the raw data and present them in an easily readable form. It operates with all the data produced by Software Development Process (and its relatives) and, therefore, it also has a tight relationship with ALM. Effective and functional reporting is necessary for the Project, Portfolio and Quality management to operate. Additionally, it is the key component which enables the ALM concept to be applied across the whole portfolio. For these reasons, the Reporting component should be incorporated directly in the ALM solution.

Key Requirements for ALM Related Artifacts To incorporate Reporting ALM solution software technology implementation itself. Provide the Reporting ALM solution software technology to other components implementation itself. of solution as a Shared Service

Table 2 – Key ALM requirements for "Reporting" area

21

4.3. Requirements Management Requirements management is the area, where the actual features enter the project. Requirements management is responsible for the detailed description of these features (Schwalbe, 2010). The consequent activities such as analysis and modeling, development, testing, integration and deployment of these features span the rest of the software development lifecycle. Without ALM solution covering these relationships it is very hard to correlate the deliverables against the requirements. Agile Development techniques require the project owner to dynamically cooperate in the way of refining and validating the requirements as well as validation of the deliverables during the whole product or service lifecycle. The ALM solution should directly feature or effectively integrate collaboration instruments to support collaboration over requirements.

Key Requirements for ALM Related Artifacts Traceability to other areas Tasks, Issues, Tests, Source Code, Releases, etc. Collaboration support, Alert Collaboration instruments, ALM users features

Table 3 – Key ALM requirements for " Management" area

4.4. Development / Implementation In the development area the actual deliverables are being created. That includes writing of the program source code, production of graphics resources, or data sets being delivered as a part of the software product or service. It is important to note that the ALM process should be able to support all the development tools or at least to track its deliverables by supporting the repository. In the past twenty years the developer tools evolved from plain text editors into sophisticated Integrated Development Environments /IDE/, which are able to provide support to the during the code creation. Many powerful functions have been introduced into the IDEs. On- the-fly static code analysis enables the issues to emerge without the need to compile the sources, IDEs can easily find all places, where specific code artifact is being referenced. IDEs can also handle generating of the code fragments or language constructs like interface implementation, conditional block or loop declarations. Features simplifying refactoring of the existing code are also highly appreciated among developers, especially between those working on a long time running projects. All the features mentioned boost the productivity of the heavily, but standing alone, they have a small impact on the overall software development process. In the past, dedicated team of programmers was assigned to create the product according to the detailed specification. This

22

product was then tested in the late phase of the project. At that time, programming could be considered as a fairly isolated phase of the project. Today’s development practices require the programmer, in most cases, to work agile and cooperate on an hourly basis. Therefore, the collaboration plays a key role in the area of the software product implementation (Schwalbe, 2010). The delivery of the work artifacts must be immediate to enable theirs and validation against requirements. The trend of the last years has been to enhance the IDEs to support all other roles involved in the software development process. The software producers can benefit from that, because using a multiple tools integrated into one product is likely to lower the license costs and complexity of integration. On the other hand, such products can easily become overpowered with features and too complex to serve the initial purpose effectively (Parker, 2011). What more, some diversity of the tools comes naturally from the diversity of the people’s roles involved in the software development process (Chappell, 2011). For example, both developer and project manager need to access the current development plan. It’s natural for the developer to use his IDE to access the plan, because it spares him time used for entering dedicated project management tool, which would also lack the features needed specifically for the project development (e.g. tracking the code changes against task). Project manager, on the other hand, does not need developer’s specific features, but he requires the “bigger image” view on the actual state of the projects. Some of the modern IDE tools try to solve the complexity through the “perspective” features enabling one product to serve different purposes. At this time, it is difficult to say, whether strictly role specific tools or massive IDEs featuring multiple perspectives, will be more used. Most likely, it will be the combination of both. With that said, good ALM solution has to be able to support both and provide such an integration of its interface, which will enable basic but effective control of related artifacts.

Key Requirements for ALM Related Artifacts Coverage of all development Development tools and their products tools End-user usability of ALM Integrated User Interfaces of ALM, Dev. integration tools

Table 4 – Key ALM requirements for "Development \ Implementation" area

4.5. Software Configuration Management The deliverables of the development and implementation phase have to be stored. Software Configuration Management /SCM/ platform is necessary in order to preserve the traceability across the historical data, multiple product versions and multiple product variants.

23

The deliverables of the development have to be securely stored and managed. Software Configuration Management discipline provides the necessary processes and tools. Version Control System /VCS/, as the key component of SCM, is a solution maintaining and managing the software configuration assets. Typical work item of the VCS is a . New version of the item is saved every time a change to the item is committed to the VCS. Groups of controlled items represent software components or whole products. The version of the product can be retrieved from VCS as a set of item versions actual to the given time and date. Such a set of specific item versions is usually referred to as “snapshot”. Advanced features such as “branches” can be used to support the development of the product with multiple variants. Label feature can be used to name the important snapshots, e.g. released versions of the product. Many contemporary SCM systems also track the groups of versions changed in one transaction usually called “”. Even though SCM mainly focuses on software source code control, it can be also used for storing of other files requiring the version control such as documentation or binary files produced by Release Management. That can be beneficial especially in the situations, where version level traceability between these files and source code files is required. It can be said that the main purpose of SCM is to enable traceability of changes for all controlled items across multiple versions and, in the first place, across the history. The main interest of ALM concerning the SCM is to extend this traceability beyond the borders of SCM allowing, for example, to track the relations between the reported issue and the changed code, which fixes that issue. SCM, in opposite to ALM, had been already adopted by software producers long time ago (Kääriäinen, 2011). Many companies producing the SCM solutions have developed (or are currently developing) the ALM implementations. Some of them are building their ALM solutions around their SCM solution using it as a foundation for ALM infrastructure (Kääriäinen, 2011). Even though that it is a feasible and proven implementation strategy, potential adopters should be also aware of the fact that integration that is too tight among these areas can be limiting for the scenarios requiring connection of multiple SCM solutions into an ALM solution.

Key Requirements for ALM Related Artifacts Traceability to other areas Requirements, Documentation, Tasks, Issues, Tests, Releases, etc. Coverage of all development Development tools and their products tools End-user usability of ALM Integrated User Interfaces of ALM, Dev. integrations tools

Table 5 – Key ALM requirements for "Software Configuration Management" area

24

4.6. Test Management, Test Automation and Quality Management No doubt, every area of software development lifecycle has its importance – but the testing clearly stands in the front. Surprisingly, the best quality was not always the number one priority for customers and, consequently, for software producers. The tolerance for issues in software used to by quite high and in some areas it still remains high (Lanowitz, et al., 2011). Of course, there have always been quality critical systems such as banking or infrastructure systems in the past times as they are today. On the other hand, many contemporary software producers are willing, in accordance to agile development, to publish the beta version of the product in order to maximize the customers feedback during the development phase. Therefore, it can be said, that the required product quality is (and always was) dependent on the type of the software. Nonetheless, there is a significant difference between the market today and ten years ago. As it was already mentioned, the software market is still growing. Today, the “embedded development” is moving the digital world. Cost decrease of technology has enabled the “systems on chip” to replace many applications previously devoted to one-purpose electronics. And if there is a tolerance for malfunctioning desktop software, there is none for malfunctioning embedded systems, especially in the applications from life science, banking sector, or industry critical areas. Another actual topic of software development with the similar consequences is the “Software as a Service” /SaaS/ concept. Desktop software can be quite easily sold with hidden issues, but on the other hand the “Service Level Agreement” /SLA/ often applied to SaaS concept defines the requirements for the . All premises mentioned imply the fact, that overall required software quality is higher than before. The and quality assurance itself is evolving to meet these requirements, but how can ALM help to achieve this? Again, it can be done by the integration with other areas of software development and especially through reporting support. Proactive and extensive testing can provide the actual information about the health of specific software components. ALM can aggregate this information for whole projects and also validate, whether all requirements are covered by tests (Göthe, et al., 2008). The diversity of tools dedicated to software testing and quality assurance is probably higher than other topics. The testing tools often depend on the type of the product being developed. Naturally, tests designed for embedded systems require a different testing agent (software executing the tests) than test suites designed for a web portal. ALM solution should be able to gather the data from multiple testing tools in order to enable cross-project, solution-wide reporting. Therefore, again, we must stress the importance of full technology coverage by ALM solution.

25

Key Requirements for ALM Related Artifacts Traceability to other areas Tasks, Issues, Source Code, Releases, Requirements, Project plan, etc. Coverage of different test Test management tools and Test agents strategies Data abstraction for project Test results health evaluation purposes

Table 6 – Key ALM requirements for "Test Management, Test Automation and Quality Management" area

4.7. Defect Tracking and Product/ Service Support Software testing helps discovering the issues. No matter whether the issue is discovered by internal testing or it is a product of customer feedback, as a first step it has to be captured by some issue tracking system. The number of product issues found in the software is one of the key indicators of the software quality. Therefore, for project management and quality assurance purposes, this information should be available outside the issue . Of course, the main purpose of issue record is to supply enough information for issue resolution process. The recorded issue usually has to enter the development plan, than the developer replicates and analyze the issue. That requires the source code of product version, for which the issues was discovered as well as the related documentation. Optionally, the developer needs to confront the requirements connected with that particular code part. Issues resolution usually implies in the source code change, which has to be than tracked back against this issue in order to enable the review process. In case the Release Management has the information which product versions use the affected source code, it can guide us to the product versions or variants which might be affected by the same issue. This scenario shows us clearly, that almost all areas covered by the ALM must be accessed during the issue resolution process.

Key Requirements for ALM Related Artifacts Traceability to other areas Tasks, Tests, Source Code, Releases, Requirements, Project plan, etc. Data abstraction for project Issue numbers, Issue tendency health evaluation purposes

Table 7 – Key ALM requirements for "Defect Tracking and Product/ Service Support" area

26

4.8. Customer Relationship Management Customer Relationship Management /CRM/ as a discipline stands a bit aside from ALM, but it has implications to Issue Tracking, Requirements Management and Project Management areas. The CRM solution can be used for customer feedback gathering, requirement co-creation and feature prioritization. Unfortunately, the current support for CRM solution across ALM solutions is not very strong and the integrations are yet to emerge. Therefore ALM solution should be checked for general extensibility, if the CRM connection is required.

Key Requirements for ALM Related Artifacts Support for required CRM Integrations for required features of CRM solution solution

Table 8 – Key ALM requirements for "Customer Relationship Management" area

4.9. Documentation / Collaboration The definition of a document can be quite wide. In our context, the document usually refers to any kind of a descriptive file which is related to the ALM activities or is produced by them. Usually, the in-line source code documentation is treated as a part of the source code and handled by SCM solution. The other documents (e.g. requirement definitions, issue attachments, model diagrams) can be, as it has already been discussed, either also handled by the SCM solution or a standalone “document-” solution can be adopted. Both solutions usually provide support for versioning, which is one of the key requirements for documentation. Using the SCM solution for document management can ease the reference handling, but often lacks the advanced indexing possibilities and therefore is unable to support features such as full text search or indexing by the tag words. The dedicated document servers can provide these features but, on the other hand, references to other ALM artifacts can be harder to track because another repository has to be integrated into ALM solution. Besides the document repository integration, the level on end-user tool integration is also important. In cases where the point-tools (actually working with document’s content) lack the direct integration with the document repository can be many manual steps necessary to store or retrieve the file. Therefore, integration plugins for commonly used office products are desirable. As a second strategy how to overcome this issue, many of collaborative products are trying to adopt the web browser based on collaborative solutions such as WIKI pages, forums or in-browser office toolkits. Typical software producing company will be likely to use both.

27

Key Requirements for ALM Related Artifacts Traceability to other areas Tasks, Tests, Source Code, Issues, Releases, Requirements, etc. Ability to provide the access Document repository integrations, area to document repositories specific tool integrations.

Table 9 – Key ALM requirements for "Documentation / Collaboration" domain

4.10. Build and Release Management / Continuous Integration The build management is a key area of ALM, where the work deliverables are assembled into usable packages. With a few exceptions (such as static code analysis), the most of the test and quality assurance practices (e.g. unit tests, regression test, mocking tests) are unable to run on the raw source code data making the build management a prerequisite for the test and quality management (Göthe, et al., 2008). Typically, Build Management /BM/ and release management systems work over the SCM system, which is used for source code retrieval, code labeling and often also for storing of builds results. Taking the opposite point of view, the SCM system often uses the BM system for so called “Continuous Integration” implementation. This feature validates the source code change before it is allowed to enter the source code repository. That guarantees the quality of SCM storage to retain on the level, which can be ensured by the build and automated tests used for this validity check. Because such a close connection between these components, ALM solution can hardly serve as an infrastructure between them. But, it can again serve very well as an evaluator and orchestrator of the BM processes keeping them synced with the rest of ALM process. When some version of the software product or service is finalized, the release procedure has to occur. The release process usually includes building and testing of the given version and also the deployment of the results. It was already discussed several times, that the software development practices are shifting from streamlined long-running processes to agile and iterative, making the release procedure occur more frequently (Göthe, et al., 2008). No matter whether the release is done for internal (manual testing) purposes or it is an official release for customer, the release process must be maximally effective and, therefore, fully automated. Another aspect is, again, the traceability. The software release can be thought of as a constructed machine. When the machine is reported as malfunctioning by the customer, the information about contained components is needed in order to track down the issue. The machine

28

blueprints are often necessary to solve the issue. The list of other machines using the same components as well as the list of customers owning these machines is needed in order to address the issues which are likely to emerge. In a summary, the key requirement for ALM solution concerning this area is to track all related information for every particular release of the software and to automate the surrounding processes.

Key Requirements for ALM Related Artifacts Traceability to other areas Requirements, Source Code, Documentation, Issues, Tests, etc. Ability to control the build Build Agents, Test Agents process and connected processes Data abstraction for project Build results health evaluation purposes

Table 10 – Key ALM requirements for "Build and Release Management / Continuous integration" domain

29

5. ALM Software Implementations Without the implementation, the ALM is only a process description covering the whole software development chain and the surroundings. This process can be adopted in many ways and, in theory, even without any software tooling support. But wasting the effort of working subjects on running the ALM process itself would be conflicting with some of the basic ALM ideas (effectiveness, process automation). We did mention the complexity of ALM process several times already. In order to create a full-scale ALM solution, dozens of tools have to be covered as well as their deliverables. The great part of these tools is often produced by third-party companies therefore harder to integrate. Additionally, the diversity of ALM solution components creates a “living” eco-systems, where the integrations have to be constantly maintained in order to cover new functions of both ALM framework and integrated tools. These facts the software ALM solutions extremely difficult to implement and create a challenge even for the largest software producers like IBM or Microsoft. 5.1. Solution Architecture 5.1.1. Monolithic The monolithic ALM solution would basically mean a super-product containing the functions of all the required point tools and all would be shared functionally with limited integration possibilities. Some “traditional” ALM producers used to have such products in the past, but as the market is evolving (and smaller progressive producers are emerging) they are shifting to the framework concept increasing the modularity and decreasing the initial solution price. The satisfied users of monolithic solutions can stay with their current ALM vendor, in case the product remains supported. Customer of outdated products, unsatisfied customers or customers willing to extend their coverage of ALM process can consider adoption of different ALM solution. Even when choosing different ALM vendor the migration of monolithic environment is likely to be more simple compare to other concepts.

+ Pros - Cons The contained point tools are Unlikely to cover all required ALM areas integrated in a cohesive way Unified user interfaces and Very high initial price (including unused vendor support functionality) No duplication of functionality Maximal vendor lock-in Good maintainability Poor extensibility

Table 11 – Pros and Cons of Monolithic architecture

30

5.1.2. Point-to-Point Integration Point-to-point architecture is a configuration featuring no integration mean. Every point tool is integrated directly with all other point tools willing to access its data. Such a confirmation increases the number of required integrations drastically and is extremely hard to maintain (Hipps, et al., 2010). Also, there is a lack of shared functionality and shared repository for relations and artifact . The automated macro processes spanning multiple tools are impossible or very difficult to implement. This configuration is a reality in many contemporary software producing companies (ALM users). The main reason is that they started to build ALM environments before the ALM solutions have emerged. Many of these companies are now trapped in the net of third-party or custom-made integrations, keeping the old versions of products just to keep the integrations functional. Such companies should highly consider adoption of more conceptual solution because point-to-point configuration cannot stand for fully-capable ALM solution. The ALM Hub or Framework with good integration capabilities can be able to cover some of the already used point tools (or their new versions).

+ Pros - Cons The custom integrations Expensive to implement, expensive to under full control maintain Limited or now support for integrations from tool producer side The home-brewed integrations are often clumsy or unstable No shared functionality (reporting, macro process)

Table 12 – Pros and Cons of Point-to-Point integrations

5.1.3. ALM Integration Hub ALM integration hub is a solution focused primarily on integrations of third-party tools. Such a solution usually features only the repository, holding the relations and metadata. The actual work artifacts are stored in the repositories of integrated point-tools. None or limited point-tool functionality is delivered with such ALM software solution. Smaller (and progressive) ALM producers emerge to offer ALM solution compliant with this concept as an opposite to heavy-weighed (and expensive) ALM monoliths and frameworks. This concept is consistent with ALM ideas, it can satisfactorily integrate different software platforms and usually it also supports the largest amount of point-tools. On the other hand, there is usually no unification of point-tools in a means of GUI concept and shared functionality can be provided only via plugin into integrated point-tools (integration from tool side). The reporting and the macro

31

process enforcement can be limited compared to ALM framework and should therefore by examined for considered ALM products. + Pros - Cons Best coverage of diverse No unification within point-tools, limited environments shared functionality Integrations supported by Reporting and process enforcement ALM producer capabilities can be limited (should be examined) No vendor lock-in for point- tools

Table 13 – Pros and Cons of ALM Integration Hub

5.1.4. ALM Framework The Concept of ALM Framework represents a platform, where the point-tools can be considered more as plugin modules than as integrated applications. It also usually features general centralized storage capable to support variety of point tools. The point-tool modules are usually created by ALM producer itself taking the full advantage of the framework architecture. Unified storage and deeper integration makes the reporting and process enforcement easier to implement. Third-party point-tools are typically integrated from tool side and their capabilities are limited compared to ALM producers’ native point-tools. The ALM producers naturally prefer its tools. The integration API is usually accessible for the third-party point tools producers but only chosen partners have the ALM solution producers’ support in integration efforts. The ALM framework solution being considered should be examined in order to explore the integration capabilities for the third-party point-tools.

+ Pros - Cons Cohesive ALM solution with The domain and technology coverage can unified storage be limited Shared functionality Notable vendor lock-in available in point-tools Good support for reporting and process enforcement

Table 14 – Pros and Cons of ALM Framework

32

5.2. ALM Solution Product Aspects 5.2.1. Single-Vendor and Multi-Vendor Many companies in ALM market produce more or less complete ALM solutions. These products span several architecture types. It is quite common for larger companies to fill the holes in their ALM stack with tools gained through acquisitions (Duggan, et al., 2010). Therefore, special interest should be dedicated to the integrality of ALM solution (is it really built on top of the ALM framework or is it just a refurbished collection of ALM tools?). Smaller companies unable to ensemble full ALM solution from their resources often take an advantage of partnerships with the companies of similar size. E.g. dedicated issue-tracking or requirements solutions are connected to companies existing ALM solution. Such solutions are usually built on ALM hub taking both the advantages and disadvantages of this architecture. 5.2.2. Software as a Service SaaS concept had emerged as an efficient way to decrease the service cost and outsource the maintained of the service. Unfortunately, this concept can be hard to apply for ALM. Despite the fact that several ALM SaaS solutions exists already, their current usability for enterprise clients can be doubted. That is mainly because sharing all development and management data with another company requires a high amount of trust and legal assurance. Secondly, not all (local, end-user) tools required by ALM solution users are ready to integrate with dislocated SaaS solution making the full scale ALM solution harder to implement. And lastly, customizations and custom integrations (sometimes based on “hacks” and exploits of inner functionally) can be harder to implement against the SaaS solution because their limitation to services’ public API. On the other hand, the capabilities of ALM solutions are improving constantly and smaller ALM users can find the ALM offerings fitting their needs taking the full advantage of out-of-the-box product with low maintenance cost and assured availability (Duggan, et al., 2010). 5.2.3. Open Source Open source software has been affecting the software development for a long time already. Naturally, it has also impact on ALM evolution. Many commercial point-tools or components of ALM ecosystem are being replaced by their open-source alternatives delivering a reasonable savings. The Subversion control system, Track issue tracking system or IDE can be named among many others. These tools are already well connectable with many commercial ALM offerings. The popularity of mentioned Eclipse IDE (and its derivatives) is so high, that most of current ALM vendors cannot afford not to integrate with it.

33

Focusing on ALM solution itself, the current open-source offerings are smaller. In the near past there was an Application Lifecycle Framework /ALF/ project formed around Eclipse foundation. Serena Software had chosen the Project as a base for their open-source ALM efforts and had taken the position of a project leader (Shaw, 2007). On the contrary, IBM had rejected the adoption explicitly preferring their Jazz solution (www.cbronline.com, 2006). The ALF project was terminated in November 2008. One of the reasons mentioned in project termination review was a lack of support from other ALM vendors and lack of community support (Serena Software, 2008). Currently, there is another living project under the Eclipse foundation. The Eclipse Mylyn project has an ambition to connect various ALM products to Eclipse IDE (Kersten). Some ALM related articles from the late past predict that opened and vendor-neutral ALM Hub or Framework will replace the commercial offerings through time (Thornsby, 2011). Nonetheless, the overall effort necessary for the implementation of a full-scale platform and technology independent ALM framework (including the shared functionality) is reasonably high. There is an open question, whether the effort is feasible for current communities. We assume that the support and guidance from multiple commercial ALM vendors and their will to participate in such a project are necessary. The Eclipse Mylyn is being driven by the Tasktop Company, which offers also commercial ALM Hub built upon the Mylyn. Another open source initiative related to ALM is the Open Service for Lifecycle Collaboration /OSCL/ (open-services.net). Being supported by IBM, Tasktop and other notable brands, OSLC aims to define an open standard for the ALM tool integration and data interchange. That should allow creating truly ALM framework supporting multiple repositories. The ability to expose the user’s interface in HTML form should ease the access from integrated tools. There are also smaller companies and open-source communities which collect available open-source components and connect them into solution in order to form a full-scale ALM solution. As the offer of open-source point tools is widening, these solutions are reaching an interesting coverage of ALM sub-domains. But, such solutions are often constructed as a set of specifically integrated tools rather than built on ALM framework. Therefore, their support for other point-tools (including commercial ones) should be revised. Endeavor Application Lifecycle Management is an example of fully open source ALM solution with good coverage in basic Areas, which unfortunately advertise only a few integrations.

34

5.3. Integration 5.3.1. Integration Attributes As the definition of the term integration is clear – The act of combining or adding parts to make a unified whole1 – the real meaning can be very relative and often hidden. When used for description of connected ALM components, it can mean anything from clumsy manual import to full duplex connection within two components, systems or tools. Therefore, in order to measure the overall quality of integration several attributes should be defined (Thomas, et al., 1992), (Booch, et al., 2002).

 Depth (Data Relationship) How much information is the integration able to track and transfer between two connected systems? E.g. plain relations, state attributes, hierarchy dependencies, relations to other artifacts, attachments, etc. Can the integration handle user customized source data?

 End-User Usability (Presentation and Control Relationship) Is the integration to the end-user tool provided in a convenient way? Is all relevant information from integrated source available? Can the source data be edited directly from the context of the end- user tool?

 Global Concept Compliance (Process Relationship) Is the integration to support global concepts such as macro-process over whole SDLC cycle?

 Flexibility How quickly can be the related information access from other system? E.g. In a real-time, with delay, after schedule sync, after manual sync.

 Reliability Is the sync process stable? Does it handle heavy loads?

 Configuration Complexity Cost of the integrations require configuration in order to support custom data and process of the source. Is the ALM user capable of doing so? Is there any commercial support available?

1 http://www.thefreedictionary.com/integration

35

 Maintenance Costs Are any manual steps necessary in order to keep the synchronization running? How difficult is to reconfigure the integration for the change of process or resources?

No matter whether there is a -host or repository-repository relationship between the integrated components, there has to be integration support on both sides (Booch, et al., 2002). As the diversity of components is increasing (different platforms, API technologies, data formats), the effort necessary for satisfactory integration is rising too (Dahlqvist, et al., 2001). The unification and standardization can help to achieve better unified solution (Pederson, 2006). On the other hand, the specific integrations are needed until the all point tools and other products aiming to ALM market will adopt a standardized API and legacy tools will disappear from companies’ toolsets. The cost of integration is directly dependent to its complexity (Wicks, 2005). The dependency is not linear. Achieving the maximum integration is often too costly; the cost of the integration should correspond with the added value.

5.3.2. Integration Technologies In order to minimize the vendor lock-in and maximize the integration possibilities the ALM solution should use as many (widely recognized) open standards as possible. From this point of view complete open-source ALM solution would be ideal. In reality, other important aspects such as feature set or level of support have to be considered giving the current ALM vendors the opportunity to sell their products. Even though we mentioned the opening of ALM market, many ALM producers still tend to control their integrations in order to maximize their chance for selling their point-tools. That includes usage of proprietary protocols and missing API documentation (Parker, 2011). Considered ALM products should be, therefore, deeply inspected for their validating both the existing integrations as well as the possibilities for their creation. Namely these aspects can be noted:

 Used Protocols – E.g. Web services, OSLC, /COM/ interface.  Used Data Formats – E.g. XML, JSON, HTML  Support for Event Subscription – Which allows the real-time connection within systems (Parker, 2011)  Support for GUI Integration and Sharing Across Tools – E.g. HTML hosting

36

6. ALM Adoption We can see from the history of the software development that it takes a reasonable amount of time to adopt new concepts or methodologies. ALM adoption is an ongoing and long running process. There are several factors pushing the ALM adoption. As the importance of these factors rises, the ALM Adoption accelerates. The main issue significantly complicating the adoption is the fact that the ALM itself as a concept is evolving. The scientific research supported by ALM practitioners brings new ideas how to create better integrated ALM systems covering the all necessary areas. Traditional ALM solution producers are struggling to implement the ideas together with keeping the compatibility (Duggan, et al., 2010). New progressive producers often bring innovate solutions but are, in their case, battling for market share and global recognition. That creates a very complex and difficult market for the customer to choose the product fitting its environment, and obstructs the adoption. 6.1. Motivation for ALM Adoption Any company can benefit from ALM adoption, but some aspects raise the possible benefits (Duggan, et al., 2011), (West, et al., 2009):

 The Size of the Company Larger and enterprise companies usually feature more complex environment with cross-project dependencies and diverse technologies and will benefit more from the unification provided by ALM solution.  The Complexity of the Product Complex product with multiple editions is likely to require more process support. Also products targeting the platforms with high quality requirements will need a robust quality assurance process.  The Diversity of the Environment Differing projects using various software platforms, programming languages and market models (custom software, SaaS) imply in different sets of tools. That increases the requirements for unification (ALM) solution.  The use of Agile Methodologies The agile methodologies positively affect the productivity on low level but make the development process harder to monitor. ALM can monitor the development process across different methodologies including the agile ones.

37

 Geographically Distributed Teams The use of dislocated teams brings additional requirements for collaboration and knowledge gathering. ALM can form a collaboration platform encapsulating all necessary tools by unifying the data access and forms of communication. That can better the continuous improvement process.  Compliance Requirements ISO 9001, ISO 12207 or CMMI specifications represent a well- recognized standard of quality. These standards lay rigid requirements for process standardization and auditability. The ALM process implementation requires a definition of the whole underlying SDLC process. Having a functional ALM solution also means having the development process defined. Additionally, the ALM traceability and reporting functions can easily supply the information necessary for an audit.

6.2. Pitfalls of ALM Adoption Adoption of ALM is a complicated process with a lot of pitfalls. The comprehensive analysis of current environment and preparation is necessary in order to forego the potential issues. Some of the issues are unavoidable and should be noted. These can be:

 There is no unified ALM process The implementation of ALM process is specific to companies’ environment.  The price of ALM adoption is relatively high ALM adoption requires a notable amount of effort which has to be spent on analysis of current environment, choosing the appropriate product, solution configuration, piloting and rollout. The product licenses cost for both ALM solution product and the point-tools replacing some of the legacy tools has to be also counted.  The SDLC processes will change through the time The ALM process should be easily adaptable to the changes.

38

6.3. Rollout Strategies There are several strategies how to deploy the ALM solution. The ideal strategy for the given company will be mainly determined by its current environment, auditability, requirements for legacy and active projects and available amount of effort and resources. The piloting phase is an important part of adoption process which can validate the functionality of new solution (Parker, 2011) as well as prepare working subjects for the environment change.

6.3.1. “Rip and Replace” In this scenario the old environments are discontinued completely and a new environment is established. There is usually no piloting process on the real data and no data are transferred to the new environment. This strategy is applicable only for environments with low requirements for auditability and with high level of change acceptance. Last but not least, the valuable data should be extracted from old environment prior to its retirement (Hipps, et al., 2010).

+ Pros - Cons No legacy data or tools in Often does not meet standard new environment auditability requirements The environment can change completely discontinuing also the functional tools The investments in current tools can be lost

Table 15 – Pros and Cons of "Rip and Replace" Rollout Strategy

6.3.2. Migration The migration strategy aims to transfer all relevant data into new environment. The disadvantage can be the down-time necessary for the migration process and the day-to-day change of the used environment. Both these issues can be partially eliminated, when the piloting of new environment is included.

+ Pros - Cons Relevant data are transferred Additional cost (for data migration) Rapid change of environment (in case of no piloting)

Table 16 – Pros and Cons of Migration Rollout Strategy

39

6.3.3. Integration The integration strategy will incorporate parts of current environment to the new environment. That can preserve the useful tools and current investments. Nonetheless, some components of the current solution have to be replaced in any case.

+ Pros - Cons The useful tools are preserved Additional cost (for integration)

Table 17 – Pros and Cons of Integration Rollout Strategy

6.4. Goals of ALM Adoption The successful ALM adoption is likely to require the combination of all strategies described in order to achieve the goals which primarily are:

 Retirement of legacy tools and data  Definition and validation of current development processes  Implementation of functional ALM solution fulfilling the ALM goals (better traceability, increased environment cohesion, higher automation) (Duggan, et al., 2011), (Hipps, et al., 2010), (Göthe, et al., 2008)

6.5. ALM Adoption Process ALM adoption process is a sequence of steps necessary for successful deployment of a new ALM solution. The given list includes only the main activities and does not have an ambition to stand for exhaustive process definition. The important steps in process of ALM adoption are:

1. Analysis of current environment That includes analysis and definition of all projects which should be covered by the ALM solution (used technologies, development methodologies and tools) and analysis of current development processes.

2. Specification of new environment Which tools should be discontinued? How will be the development processes changed?

3. Selection of potential ALM solutions and point-tools replacing the discontinued tools

40

That includes validation of possibilities of ALM solution, possible integrations and ability to implement the required processes.

4. Validation of potential ALM solutions through piloting and specification refinement

5. Final selection and transition to selected ALM solution

As a complex process, ALM should be adopted iteratively. The initial analysis and specification is needed in order to select the appropriate solution and define the scope of desired deployment. Then the incremental implementation should follow and react to the responses of changing environment. After the major transition to new solution the processes of continuous improvement should be established in order to keep the ALM processes effective and up-to-date.

41

7. Comparison of Selected ALM Solutions

7.1. Comparison Profile 7.1.1. Focused ALM Customers As there are different types of ALM adopters, the presented comparison focuses on companies which are likely to benefit most from ALM solution. These are primarily enterprise companies, where all discussed influencing factors (complex products, distributed teams, scaled agile practiced) occur. 7.1.2. Selection Criteria The focused customers are likely to search for most advanced ALM solutions. Such solutions have to be highly configurable and feature a high domain (as well as technological) coverage. 7.1.3. Comparison Criteria The ALM solutions are hard to compare absolutely. The high diversity of customers’ environment and specific requirements disallow that. Therefore, this comparison is intended to be a market scope analyzing the architecture and integration capabilities of selected ALM solutions. The audience of this thesis is encouraged to perform the custom comparison based on presented data and own requirements. 7.1.4. Data Actuality Disclaimer The most of the selected companies were requested to participate. Unfortunately, many of them did not respond or explicitly denied to provide the data for the purpose of this thesis. Therefore, the presented data are based on publicly available sources or personal experience. All used sources are referenced with the date of retrieval. Nonetheless, ALM solutions are rapidly evolving products and presented marketing information can be sometimes misleading. For these reasons, 100% percent actuality cannot be assured, although the quality is generally sufficient for the initial ALM solution selection.

42

7.2. Selected ALM Solutions Commonly used ALM solutions or solutions with the high integration potential are listed in the following chapters. Each selected solution is introduced by its description sheet and the table of integrations. The solutions are listed in alphabetical order by company name. The integration table is identical for all listed solutions; only the values describing the integration possibilities differ. The areas (subdomains) of ALM can be found in first column. Second column is special and contains a name(s) of ALM products or components which are part of the given ALM solution and covers the given area. In the next columns commonly used products relevant to the specific ALM areas are listed. The integrations possibilities are described by two sub-rows (integration level and integration author). For some of the integrations additional information is placed under the table and referenced by number. The sub-rows do not apply to “Integral Product” column. The stated level of integration is roughly based on the integration depth and flexibility which is judged from available information sources (configuration/user guide, forums, latest release date). The integration author determines the author of integration runtime (module, plugin, template) or, preferably, the subject providing the integration support.

43

7.2.1. Atlassian JIRA, Confluence, FishEye and Bamboo Company Atlassian Included and Related Products GreenHopper Bonfire Confluence Bamboo Architecture JIRA is a JAVA-based ALM Framework running primarily as Web application inside the Apache Tomcat webserver. Through JDK The database is used as central storage. All major database technologies are supported; HSQLDB is bundled with JIRA for evaluation purposes. Both Windows and deployments are possible through their JDK/ JRE implementations. JIRA rich plugin framework. The plugin modules are developed as JAVA runtimes and utilize the JIRA’s extensibility APIs.

Description JIRA has evolved from Issue tracking system into fully-featured planning and management solution. Both planning artifacts and their workflows are customizable. Other Atlassian’s products can be integrated to the solution in order to extend the out-of-the-box functionality:  Confluence – Dashboards and collaboration  GreenHopper – Predefined Scrum and extension for JIRA  Bamboo – Continuous Integration and Build Management  FishEye – SCM Integration  Crucible – Tool  Bonfire – Web testing software Atlassian runs a Plugin Exchange site which serves as central marketplace for Plugin Modules. Native Atlassian plugins as well as community developed ones can be found there.

Extensibility Extensibility is possible primarily through the noted Plugin Modules. Atlassian provides an SDK and documentation for all available extension points.

Online Sources Retrieved (including integration information) 2011-12-16 Atlassian Offerings http://www.atlassian.com/software/jira/overview Atlassian Plugin Exchange https://plugins.atlassian.com/plugin/home JIRA Hardware and Installation Requirements http://confluence.atlassian.com/display/JIRA044/JIRA+Requirements JIRA Developer Documentation https://developer.atlassian.com/display/JIRADEV/JIRA%20Developer%20Documentation

44

Area T01 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: JIRA partial 1 unknown partial import 3 unknown unknown full 15 integration author: tool site unknown third-party third-party unknown unknown third-party Reporting MS Reporting Seapine ALM Services Reporting JIRA unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer JIRA partial 4,22 partial 5 partial 22 unknown third-party third-party third-party unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full full full unknown partial 11 partial 12 ALM site ALM site ALM site unknown third-party tool site Software Configuration AccuRev SCM Codesion SCM IBM Rational Microsoft TFS SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions used by JIRA FishEye, partial 13 full 14 full partial 22,23 partial 10,22,23 full unknown unknown partial 23 full 14 Bamboo third-party ALM site ALM site third-party third-party ALM site unknown unknown third-party ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager unknown unknown partial 5 partial 16 unknown unknown unknown unknown third-party third-party unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac JIRA import 17,22 import 17 import 17 ALM site ALM site ALM site Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint partial 15 full partial unknown full third-party ALM site ALM site unknown ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud IBM Rational JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Confluence full 18 partial 19 partial 19 partial partial 15 unknown partial 15 full 20 unknown unknown partial 21 third-party third-party third-party tool site third-party unknown third-party tool site unknown unknown tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack JIRA full full partial 15, 22, 23 import 2 partial 5,22,23 full 10,22,23 full partial 22 unknown partial ALM site tool site third-party third-party third-party third-party tool site third-party unknown tool site 1) Via CA Agile Vision product, 2) Using clearvision affinity, 3) Soyatec Gantt Chart Project plugin, 4) Go2Group DOORS JIRA Connector, 5) IBM Rational OSLC Adapter for JIRA, 10) TFS4JIRA plugin, Tideum JETI plugin, 11) NetBeans JIRA plugin, 12) Oracle Team Productivity Center, 13) AccuRev Repository Plugin for Bamboo, 14) Via JIRA SVN plugin, 15) Various plugins available via Plugin Exchange, 16) Go2Group JaS Plugin, 17) JIRA Importers Plugin, 18) JFrog Bamboo Artifactory Plugin, 19) JIRA Build Notification Plugin, 20) TeamCity Issue Tracker Integration, 21) AnthillPro Integrations, 22) Via OpsHub ALM hub, 23) Via Tasktop ALM hub

Table 18 - Available Integrations for JIRA, Confluence, FishEye and Bamboo 45

7.2.2. CollabNet TeamForge and ScrumWorks Pro Company CollabNet Included and Related Products ScrumWorks Pro CollabNet Desktop Subversion (Edge) Lab Management Architecture CollabNet TeamForge is an ALM Framework solution. It runs as JAVA based web application utilizing Tomcat webserver and JBoss application server. Red Hat, SuSE, CentOS platforms are supported for deployment of latest version; Windows port is under development. PostgreSQL 9.0, Oracle 11 (R1 and R2) and Oracle Client 11g are supported as data stores. The integrations are made possible through the CCF and IAF technologies (see extensibility).

Description ALM TeamForge provides almost complete ALM feature built primarily around Subversion SCM features. Namely it is a support for planning, issue tracking, reporting. It also utilizes the Hudson as building solutions and provides built and release management. Document management and rich collaboration platform (featuring project portals, wiki pages and forums) is also part of the solution. TeamForge integrates tightly with ScrumWorks product – the company’s agile project management solution. CollabNet is an owner of Codesion Cloud Services which uses to sell its products as SaaS offerings.

Extensibility TeamForge utilizes the open-source CollabNet Connector Framework /CCF/, which provides rigid base for live bi-directional integrations. CollabNet provides several certified integrations out-of-the- box; other integrations are community or partner based. There is no visible adoption of CCF standard among other ALM vendors. There is also Integrated Application Framework /IAF/ technology, which enables the external applications to utilize TeamForge’s shared services and create relations to its objects. For Integration of other SCM solutions, the Generic SCM adapter is mentioned with no further information.

The integrations targeting only the CollabNet SVN are not included in the integration table.

Online Sources Retrieved (including integration information) 2011-12-18 CollabNet TeamForge http://www.open.collab.net/products/ctf/ CollabNet Community http://www.collab.net/community/ CollabNet ScrumWorks http://www.open.collab.net/products/scrumworks/ Supported software for CollabNet TeamForge 6.1.1 http://help.collab.net/index.jsp?topic=/sysadmin.vmplayer.611/reference/teamforgesoftware.html CollabNet Connector Framework /CCF/ http://ccf.open.collab.net/ Integrated Application Framework /IAF/ http://help.collab.net/index.jsp?topic=/teamforge540/action/siteadmin-integratedapplications.html Web Services APIs http://www.collab.net/products/components/apis/ctf/

46

Area T02 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: ScrumWorks unknown unknown full unknown unknown unknown unknown integration author: unknown unknown ALM site unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting ScrumWorks, unknown unknown TeamForge unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer ScrumWorks, unknown unknown unknown unknown TeamForge unknown unknown unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper CollabNet Desktop full unknown full unknown partial 1 unknown client ALM site unknown ALM site unknown ALM site unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions Subversion (Edge), unknown full full partial 1 unknown full unknown unknown unknown full Codesion unknown ALM site ALM site ALM site unknown ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager TeamForge unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac TeamForge, partial 1 unknown unknown ScrumWorks ALM site unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown full full unknown unknown unknown ALM site ALM site unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro TeamForge full unknown full partial full unknown full unknown unknown unknown full ALM site unknown ALM site tool site tool site unknown tool site unknown unknown unknown tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack TeamForge full full partial unknown unknown unknown unknown unknown unknown partial 4 ALM site ALM site ALM site unknown unknown unknown unknown unknown unknown ALM site 1) CollabNet SVN Connector to IBM Rational ClearCase, 2) SVN SCM only via NetBeans plugin, 3) Mentioned in ScrumWorks capabilities, 4) For Codesion Cloud Service

Table 19 – Available Integrations CollabNet TeamForge and ScrumWorks Pro

47

7.2.3. HP Application Lifecycle Management 11.00 Company Hewlett-Packard Included and Related Products HP Requirements Management HP Agile Accelerator HP ALM Development Management HP ALM Enterprise Release Management HP Test Management HP Test Execution Architecture HP ALM is a JAVA based ALM Framework based on well-known HP Quality Center product. The server component is deployable on Windows Server platforms and several Unix-like platforms. The Oracle Database (10+) and Microsoft SQL Server (2008 SP1+) are supported as data stores. The client application utilizes the Microsoft.NET framework and targets the Windows platform only. The area- specific components such as Test Management are implemented as extensions modules for the HP’s ALM framework. The platform also features the HP Application Lifecycle Intelligence /ALI/ which is an embedded ALM hub serving the integration purposes.

Description With the HP ALM 11 in the center, HP provides a rich set of modules covering the most of the ALM. Based on HP’s traditional products, the solution emphasizes the Quality and Software testing. The ALM 11 extends the Project Management and Requirements Management functionality of its Quality Center predecessors. HP also puts an effort into Agile Development Support through the HP Agile Accelerator and related tools. HP provides a number of repository integrations out-of-the-box through its ALI technology and HP ALM Synchronizer product. On the contrary, the only supported client runs the windows platform. As compensation, HP seems to support Tasktop company and their ALM hub opening the way to Visual Studio and Eclipse IDEs. Extensibility The extensibility is possible through HP ALM plugins utilizing the ALI technology. The Open API for ALI is mentioned in data sheet but neither SDK nor documentation was discovered during the information collection. The second possibility is the ALM Synchronizer product, for which the SDK exists but seems to be outdated compared to ALI. HP has the integration strategy, but the current information availability for integration developers is rather week. HP ALM or predecessor HP Quality Center is often supported by ALM hubs (e.g. Tasktop, OpsHub).

Online Sources Retrieved (including integration information) 2011-12-10 HP ALM 11 http://www8.hp.com/us/en/software/software-solution.html?compURI=tcm:245-937026 HP ALM 11 and Quality Center 11 System Requirements http://h18000.www1.hp.com/products/quickspecs/14061_div/14061_div.HTML HP ALI 2.0 Product Specification and User Guide http://updates.merc-int.com/qualitycenter/qc110/others/ali/index.html HP ALI Data Sheet http://h20195.www2.hp.com/V2/GetPDF.aspx/4AA3-4670ENW.pdf HP ALM Synchronizer http://updates.merc-int.com/qualitycenter/qc110/sync/almsynchronizer/index.html HP ALM Add-ins http://update.external.hp.com/qualitycenter/qc110/index.html

48

Area T03 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: HP ALM 11 partial 1 unknown unknown unknown unknown unknown unknown integration author: tool site unknown unknown unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting HP ALM 11 unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer HP Requirements partial 7 unknown full 2 partial 4 Management, third-party unknown ALM site tool site Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper HP ALM 11, partial 5 unknown partial 5 unknown unknown unknown win. desktop client third-party unknown third-party unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Seren a StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions full partial 4 unknown unknown unknown full 6 unknown unknown partial 5 full 6 tool site third-party unknown unknown unknown ALM site unknown unknown third-party ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager HP Test Mgmt. unknown unknown unknown unknown unknown unknown Execution unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac HP ALM 11 partial 7 unknown partial 7 third-party unknown third-party Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown partial 1 unknown unknown unknown unknown third-party unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro unknown unknown unknown full full 6 unknown full 6 unknown unknown unknown unknown unknown unknown unknown tool site ALM site unknown ALM site unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack HP ALM 11 full 4 unknown full full 2 partial 3 full 2 full partial 7 unknown full tool site unknown ALM site ALM site third-party ALM site tool site third-party unknown tool site 1) Via CA Agile Vision product, 2) HP ALM Synchronizer, 3) Several possibilities, 4) Support for predecessor - HP Quality Center, 5) Via Tasktop ALM Hub, 6) Via HP ALI, 7) Via OpsHub ALM hub

Table 20 – Available Integrations for HP Application Lifecycle Management 11.00

49

7.2.4. IBM Rational Solution for Collaborative Lifecycle Management Company IBM Included and Related Products Rational Team Concert Rational Quality Manager Rational Requirements Composer Architecture Jazz ALM framework is a base for IBM’s modern ALM offerings. The central point is a Jazz Team Server which provides an infrastructure and shared services for key components and area-specific extensions (CCM, RM, QM, etc.). These components are deployable on separate servers to support high scalability. The client typically connects through API of selected component which cooperates with Jazz Team Server and utilizes the Shared Services on behind. The area-specific components may also provide the web UI to enable direct user access. Every component usually possesses its own data store, but they can also utilize the Shared Data Storage of Jazz Team Server. The OSLC standard is used to manage the data relations between several applications hosted in Jazz Platform. The Jazz Team Server and area-specific components provided by Rational can be deployed on both Windows-like and Unix-like systems utilizing the Java platform and Apache Tomcat or IBM WebSphere application servers. Multiple DB technologies are supported (IBM Derby, DB2, Microsoft SQL Server, Oracle Database). Description The Rational solution for Collaborative Lifecycle Management includes tree key components.  Rational Team Concert – Change, configuration and build management  Rational Quality Manager – Test planning, management and execution  Rational Requirements Composer – Requirements management across the project lifecycle Rational is working continuously on integration of their full product size into the Jazz platform. The key products (e.g. Rational Insight, Build Forge, Asset Manager, Rhapsody and Software Architect Design Management) has been rewritten already to fit the platform. Most of the rest of the Rational’s Portfolio is connectable through client or server integrations. Besides that, key legacy systems such as Rational ClearCase and ClearCase can be integrated via ClearCase and ClearQuest synchronizers. Most of the current Jazz tools expose the Web UI as its primary client. Some tools (e.g. Team Concert) feature the direct IDE integration for Eclipse and Microsoft Visual Studio IDE. Extensibility Theoretically, the architecture of Jazz platform should allow other companies to build their own Jazz components. We cannot see such efforts yet. But, in contrary, many ALM vendors already extend their software with the OSLC functionally in order to integrate with Rational Jazz components. Additionally, there are third-party ALM hubs with OSLC connections extending the integration possibilities to smaller or older products.

Online Sources Retrieved (including integration information) 2011-12-05 The Rational solution for Collaborative Lifecycle Management, powered by Jazz https://jazz.net/projects/clm/ Collaborative Lifecycle Management System Requirements https://jazz.net/library/article/632 Jazz Platform https://jazz.net/about/about-jazz-platform.jsp Jazz Products https://jazz.net/about/about-jazz-products.jsp Rational Team Concert Integrations https://jazz.net/projects/rational-team-concert/integrations/

50

Area T04 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Team Concert unknown unknown partial 1 unknown unknown unknown unknown integration author: unknown unknown third-party unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting Team Concert unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Requirements full full full partial 3 Composer ALM site ALM site ALM site third-party Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full full 5 full unknown full 6 full 7 ALM site third-party ALM site unknown third-party third-party Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions unknown unknown partial 8 full unknown partial 8 unknown unknown unknown partial 9 unknown unknown third-party ALM site unknown third-party unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager unknown full full unknown unknown unknown unknown ALM site ALM site unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac Team Concert partial 4 unknown partial 4 third-party unknown third-party Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint Team Concert unknown unknown export partial 13 full 13 unknown unknown ALM site third-party third-party Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Team Concert full full full partial full full partial 14 unknown unknown unknown full ALM site ALM site ALM site tool site ALM site ALM site third-party unknown unknown unknown tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Team Concert full 12,15 unknown full 11 full full partial 4,15 partial 4 partial 4 unknown partial 4 third-party unknown third-party ALM site ALM site third-party third-party third-party unknown third-party 1) Atech Team Connector (ATC), 3) Rational Quality Manager / CaliberRM connector 1.5, 4) Via OpsHub Integration Manager for RequisitePro, 5) JazzConnect-IntelliJ, 6) RtcNbClient, 7) Oracle Team Productivity Center, 8) Proof of concept, 9) Linking work items to Subversion repositories, 10) Perforce with Rational Team Concert 3.0, 11) BSD Group adaptor, 12) JazzConnect JIRA Edition 2.0, 13) Via Mainsoft SharePoint Bridge, 14) Jenkins RTC Plugin, 15) Via TaskTop Sync ALM Hub

51 Table 21 – Available Integrations for IBM Rational Solution for Collaborative Lifecycle Management

7.2.5. IkanALM Company Ikan Development Included and Related Products IkanALM

Architecture IkanALM is a Java based ALM Hub with featuring a Web-UI. It can be deployed on both windows and unix-like systems, where JRE and appropriate application server is available. Various database technologies can be used (MySQL, Oracle, MS SQL and IBM DB2). The product provides a RESTfull API and command-line interface.

Description IkanALM represents an ALM hub which has with the ability to provide a unified access to various ALM tools. It features a central storage and can orchestrate the build, test and deployment processes and also integrate with various Version Control and Issue Tracking systems.

Extensibility The integrations are provided for the major ALM tools but there is no advertised support for the third-party or community integrations.

Online Sources Retrieved (including integration information) 2012-01-01 Product Overview http://www.ikanalm.com/product/product.html IkanALM Architecture http://www.ikanalm.com/product/architecture.html Technical Features http://www.ikanalm.com/infocenter/technical-information/technical-features.html

52

Area T21 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: unknown unknown unknown unknown unknown unknown unknown integration author: unknown unknown unknown unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer unknown unknown unknown unknown unknown unknown unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions unknown unknown unknown full unknown unknown unknown unknown unknown full unknown unknown unknown ALM site unknown unknown unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager IkanALM unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac IkanALM full unknown full ALM site unknown ALM site Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro IkanALM full unknown unknown unknown unknown unknown unknown unknown partial 1 unknown unknown ALM site unknown unknown unknown unknown unknown unknown unknown ALM site unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack partial 1 partial 1 partial 1 unknown unknown partial 1 unknown unknown unknown unknown ALM site ALM site ALM site unknown unknown ALM site unknown unknown unknown unknown 1) For bug tracking

Table 22 – Available Integrations for IkanALM

53

7.2.6. Kovair ALM Studio and Omnibus Integrations Middleware Company Kovair Included and Related Products Kovair ALM Studio Omnibus Integrations Middleware

Architecture Kovair ALM Studio represents a web-based ALM solution, which is available for on-site as SaaS. It is said to have a central repository. The second product, Kovair Omnibus Integrations Middleware, is an ALM Hub, which can work either solely or connected with ALM Studio suite. It is an SOA based integration technology and it is said to have Open API enabling third-parties to integrate with the Hub. Unfortunately, no further information about the technologies or APIs is directly available for any of Kovair’s products.

Description ALM Studio provides a set of ALM area-specific modules covering most of common ALM universe. The solution enables the traceability and process enforcement across all modules. It also addresses the compliance requirements. Process templates are available for common development methodologies. Omnibus Integrations Middleware builds on ALM hub concept, but explicitly addresses the Process Enforcement and the Reporting issues connected with this type of ALM solution architecture. It should be capable of macro-process implementation across different point-tools and repositories, and that is a feature to pinpoint.

Extensibility The out-of-the-box integration capabilities are above-average in both number and quality. The Integration bus is set to enable 2-way synchronization and a reliable stability for available integrations. On the other hand, there is no “under the hood” information about used technologies, no directly available documentation, no SDK and no community. That forces the potential customers to relay on Kovair only in terms of custom or future integrations efforts.

Online Sources Retrieved (including integration information) 2011-12-20 Kovair ALM studio http://www.kovair.com/alm/application-lifecycle-management-description.aspx Kovair Omnibus Integration Middleware http://www.kovair.com/omnibus/omnibus-adapters.aspx

54

Area T05 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: ALM studio, partial unknown full unknown unknown unknown full integration author: Omnibus Integration ALM site unknown ALM site unknown unknown unknown ALM site Reporting MS Reporting Seapine ALM Services Reporting ALM studio, unknown unknown Omnibus Integration unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer ALM studio, partial 1,2 partial 2 full partial Omnibus Integration ALM site ALM site ALM site ALM site Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full unknown full unknown unknown unknown ALM site unknown ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions unknown unknown unknown full unknown full unknown unknown unknown full unknown unknown unknown ALM site unknown ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager ALM studio, unknown unknown unknown unknown unknown unknown Omnibus Integration unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac ALM studio, unknown unknown unknown Omnibus Integration unknown unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint ALM studio, unknown unknown full unknown full Omnibus Integration unknown unknown ALM site unknown ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro ALM studio, full unknown unknown full unknown full unknown unknown full unknown unknown Omnibus Integration ALM site unknown unknown ALM site unknown ALM site unknown unknown ALM site unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack ALM studio, full unknown partial unknown partial 2 full unknown unknown unknown unknown Omnibus Integration ALM site unknown ALM site unknown ALM site ALM site unknown unknown unknown unknown 1) For old version. 2) OSLC adaptor under development, 3) Advertised for HP Quality Center only

Table 23 – Available Integrations for Kovair ALM Studio and Omnibus Integrations Middleware

55

7.2.7. Microsoft Visual Studio Application Lifecycle Management Company Microsoft Corporation Included and Related Products Team Foundation Server 2010 /TFS/ Visual Studio /VS/ 2010, Team Explorer (Everywhere) Microsoft SQL Server 2008 Microsoft SharePoint (Server / Services) Microsoft Test Manager Architecture ALM Framework with central data store (TFS + Microsoft SQL Server with Analysis and Reporting Services) for source control ALM artifacts (planning, tests and build metadata). TFS integrates SharePoint product for document management and collaboration purposes. The Microsoft’s clients connect through Simple Object Access Protocol /SOAP/ API. Server modules (listeners) can by implemented using .NET in order to receive the SOAP calls. There is also Client Object Model API provided as both .NET binaries and JAVA binaries. Description Microsoft’s TFS represents a fairly complete ALM solution. It features a customizable process engine which can work over ALM artifacts from central data store. There are three out-of-the-box process templates provided by Microsoft (Microsoft Solution Framework /MSF/ for Agile, MSF for Capability Maturity Model Integration /CMMI/, Visual Studio Scrum 1.0). Platform is accessible through several web interfaces (TFS Web Access, SharePoint Portal), single purpose clients (e.g. Test Manager) and complex IDEs (Visual Studio, Eclipse-like IDEs). There is also integration to Microsoft Office Excel and Microsoft Project for planning and reporting purposes. Extensibility TFS can be extended using the noted APIs. Additionally, client-side check-in policies can be implemented for specific clients. The out-of-the-box repository integrations are possible through standalone open-source product called TFS Integration Platform which basically represents a small ALM Hub. The project is also being released by Microsoft as supported Team Foundation Server Integration Tools. The integration is not live, the tool is designed for migration or scheduled synchronizations. The configuration complexity is high to very high depending on the scenario. Besides the integration platform, there are also direct third-party integrations for several point- tools. Integrations to other-points tools are available through third-party ALM hubs (e.g. OptHub or TaskTop). Build Engines not integrated by default can be incorporated via customizable TFS Build template. Point-tools and components (such as other SCM systems) integrating only with Microsoft VS IDE are not listed in the integration table. Online Sources Retrieved (including integration information) 2011-12-10 Visual Studio Application Lifecycle Management http://msdn.microsoft.com/en-us/library/fda2bad5.aspx Team Foundation Server Architecture http://msdn.microsoft.com/en-us/library/ms252473.aspx Extending Team Foundation http://msdn.microsoft.com/en-us/library/bb130146%28v=VS.100%29.aspx TFS Integration Platform http://tfsintegration.codeplex.com/ Team Foundation Server Migration And Integration Solutions http://msdn.microsoft.com/en-us/vstudio/bb840033 Team Foundation Server 2010 SDK http://archive.msdn.microsoft.com/TfsSdk Team Foundation Server SDK for Java http://blogs.msdn.com/b/bharry/archive/2011/05/16/announcing-a-java-sdk-for-tfs.aspx

56

Area T06 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Team Foundation unknown unknown full unknown unknown unknown unknown integration author: Server unknown unknown ALM site unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting Team Foundation full unknown Server ALM site unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer partial unknown partial 18 unknown tool site unknown third-party unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper Visual Studio full partial 3 full partial 10 partial 4 partial 5 ALM site tool site ALM site third-party tool site tool site Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions Team Foundation unknown unknown unknown partial 1 full unknown unknown unknown partial 7,17 partial 1,7 Server unknown unknown unknown third-party ALM site unknown unknown unknown third-party third-party Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager TFS, Test Manager partial 6 unknown unknown full partial 9 unknown tool site unknown unknown tool site tool site unknown Defect tracking Bugzilla Mantis Edgewall Trac Team Foundation partial 18 unknown partial 18 Server third-party unknown third-party Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint SharePoint unknown unknown full full 17 full unknown unknown ALM site third-party ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro TFS Build unknown partial 12 partial 13 partial partial 14 unknown partial 15 full full unknown partial 16 unknown third-party tool site tool site third-party unknown third-party tool site ALM site unknown tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Team Foundation partial 11 unknown partial 8 partial 1 partial 17,18 full partial 18,19 partial 18 unknown full Server third-party unknown third-party third-party third-party ALM site tool site third-party unknown tool site 1) TFS Integration Platform, 3) SCM only via IDEA TFS Integration Plugin, 4) SCM only via SvnBridge, 5) SCM only via Microsoft Team System VCS Extension, 6) TfsCmSystem plugin, 7) Timely Migration, 8) HP Quality Center Synchronizer, 9) Integrations for SCM, Builds and Testing, 10) TeamAddins plugin, 11) TFS4JIRA plugin, Tideum JETI plugin 12) With recompiled TfsCcNet plugin, 13) CC TFS Plugin, 14) Hudson TFS Plugin, 15) Jenkins TFS Plugin, 16) AnthillPro Integrations, 17) Via TaskTop Sync ALM Hub, 18) Via OpsHub ALM hub, 19) Via Visual Studio plugin Table 24 – Available Integrations for Visual Studio Application Lifecycle Management 57

7.2.8. OpsHub Integration Manager & Analytics Manager Company OpsHub Included and Related Products OpsHub Integration Manager OpsHub Analytics Manager

Architecture Both OpsHub products represent an ALM Hub. The analytics Manager features a central warehouse, where it aggregates the data from connection tools for reporting purposes. The detailed technology and deployment information is not directly available.

Description OpsHub products are ALM Hubs. The main purpose of the Integration Manager is to provide a two-way synchronization of connected tools and repositories. OpsHub features a conflict detection/resolution technology as well as a data format translation service. The Analytics Manager aggregates the relevant data into the central warehouse to enable reporting over integrated systems. None of the tools advertise the process engine or the process enforcement across integrated tools but can enable it by synchronizing the connected systems with the central storage.

Extensibility OpsHub advertise integrations for many popular ALM suites and area-specific point tools. But there is no information about the used technologies, APIs or extensibility options. The customers are encouraged to request the currently missing product integrations via the contact form.

Online Sources Retrieved (including integration information) 2011-12-28 OpsHub Products http://www.opshub.com/products/index.html Integration Manager Datasheet http://www.opshub.com/Integrations_Datasheet.pdf Analytics Manager Datasheet http://www.opshub.com/products/Analytics_Datasheet.pdf

58

Area T18 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Integration Manager unknown unknown unknown unknown unknown unknown unknown integration author: unknown unknown unknown unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting Analytics Manager unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Integration Manager full unknown full unknown ALM site unknown ALM site unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions Integration Manager unknown unknown unknown unknown unknown full unknown unknown unknown full unknown unknown unknown unknown unknown ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager Integration Manager unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac Integration Manager full unknown full ALM site unknown ALM site Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Integration Manager unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Integration Manager full unknown full 1 unknown full full full full partial 2 full ALM site unknown ALM site unknown ALM site ALM site ALM site ALM site ALM site ALM site 1) Advertised for HP Quality center, 2) Advertised for old Serena TeamTrack

Table 25 – Available Integrations for OpsHub Integration Manager & Analytics Manager

59

7.2.9. Parasoft Concerto Company Parasoft Included and Related Products Parasoft Concerto Parasoft ALM Virtual Appliance Parasoft Test

Architecture Parasoft Concerto is an ALM management and integration platform which, together with other Parasoft’s products form an ALM solution. It is available within the “Parasoft ALM Virtual Appliance”, which is complete virtualized ALM solution and probably also supports both windows and linux platforms. Concerto itself is an integration technology, but no integration API is advertised with the exception of “Open API” note for Defect and Test Management in company’s integration table.

Description Parasoft Concerto represents a process policy-driven ALM solution. It targets the main requirements for ALM solution functionally – management of and reporting over the development process across the all necessary areas. The Policy-Center component provides a process health monitoring capabilities with a number of preconfigured templates targeting various compliance requirements.

Extensibility Parasoft Concerto features a high number of company-based integrations. It also advertise the “Access to Parasoft scanners source code allows your team to customize any development infrastructure integration”, but no information about available APIs ore SDKs was found within publically available information. That probably also reflects no visible community-based integration efforts. NOTE: Integrations were marked as partially for lack of information concerning their capabilities.

Online Sources Retrieved (including integration information) 2011-12-25 Parasoft Concerto http://www.parasoft.com/jsp/products/concerto/alm.jsp?itemId=473 Concerto Platform and Integrations http://www.parasoft.com/jsp/products/concerto/home.jsp?itemId=343 Concerto TechSheet http://www.parasoft.com/jsp/products/support/concerto/Concerto_TechSheet.pdf

60

Area T08 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Parasoft Concerto unknown unknown partial unknown unknown unknown unknown integration author: unknown unknown ALM site unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting Parasoft Concerto unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Parasoft Concerto partial unknown partial unknown ALM site unknown ALM site unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper partial unknown partial unknown unknown partial ALM site unknown ALM site unknown unknown ALM site Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions partial unknown unknown unknown unknown partial unknown partial partial partial ALM site unknown unknown unknown unknown ALM site unknown ALM site ALM site ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager Parasoft Test unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac partial unknown unknown ALM site unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown partial unknown unknown unknown unknown ALM site unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Parasoft Concerto partial unknown partial unknown partial unknown unknown unknown unknown unknown partial ALM site unknown ALM site unknown ALM site unknown unknown unknown unknown unknown ALM site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Parasoft Concerto partial unknown partial 2 partial unknown partial 1 unknown unknown unknown unknown ALM site unknown ALM site ALM site unknown ALM site unknown unknown unknown unknown 1) Advertised for Test Management / Test Manager 2) Advertised for HP Quality

Table 26 – Available Integrations for Parasoft Concerto 61

7.2.10. Polarion ALM Company Polarion Included and Related Products Polarion ALM

Architecture Polarion ALM is an ALM Framework. It is a JAVA based web-application and it runs both windows-like and linux-like systems. There is no explicit requirement for DB storage; Subversion is required for version control purposes. The platform features native JAVA API as well as a Web-Service based API.

Description Polarion sells its ALM suite as full package covering the whole lifecycle. It benefits from the unified platform which provides the product with a cross-area workflow, relations and reporting. The process templates for both agile and traditional development methodologies are available and can be adjusted to fit specific needs. The product also addressed the compliance requirements via predefined templates and validation reports.

Extensibility The Polarion ALM platform is extensible through provided (JAVA/Web-Service) API extensions and predefined product templates. These are available through the Polarion POP extension database. Both community based and Polarion based extensions can be found there, most of them available for free.

Online Sources Retrieved (including integration information) 2011-12-23 Polarion ALM http://www.polarion.com/products/alm/index.php Polarion POP - Extension Database http://extensions.polarion.com/polarion/extensions/ Polarion Factsheet http://www.polarion.com/downloads/Polarion_ALM_2010_factsheet.pdf

62

Area T22 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Polarion ALM unknown unknown import / export unknown unknown unknown unknown integration author: unknown unknown ALM site unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting Polarion ALM unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Polarion ALM full 1 unknown full unknown ALM site unknown ALM site unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full 2 unknown full unknown unknown unknown third-party unknown ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions Polarion ALM unknown unknown partial full unknown full 1 unknown unknown unknown full unknown unknown ALM site ALM site unknown ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager Polarion ALM unknown unknown unknown unknown unknown full unknown unknown unknown unknown unknown tool site Defect tracking Bugzilla Mantis Edgewall Trac Polarion ALM full unknown unknown ALM site unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint Polarion ALM unknown unknown full unknown unknown unknown unknown ALM site unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Polarion ALM full unknown unknown unknown full unknown partial unknown unknown unknown unknown ALM site unknown unknown unknown third-party unknown tool site unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Polarion ALM full 1 unknown partial 5 unknown unknown unknown unknown unknown unknown unknown ALM site unknown ALM site unknown unknown unknown unknown unknown unknown unknown 1) Via agosense.symphony ALM Hub plugin, 2) Via TaskTop ALM Hub, 3) Polarion with GIT, 4) Polarion Plugin for Jenkins, 5) Advertised for HP Quality

Table 27 – Available Integrations for Polarion ALM 63

7.2.11. PTC MKS Integrity Company PTC Included and Related Products MKS Integrity

Architecture MKS Integrity represents a cohesive ALM platform. As many other ALM solutions, MKS Integrity is implemented as a J2EE client-server application and can be, therefore, deployed on both Unix-like and Windows-like platforms. The solution features a central data store with unified data-model running on Oracle, SQL or DB2 database. The solution supports variety of clients. It is extensible through provided API (JAVA, and Web Services) but concerning the delivered area-specific components seems to be rather monolithic. There is Integrity Integration Platform /MIIP/, which represents a server-to-server integration API. Another feature is Integrity Gateway - configurable client-side data importer. Description MKS Integrity represents a full scale ALM platform with a great emphasis on compliance needs and process control. The workflow-engine is part of the solution and drives the coordination of activities across all available tools. The solution is highly configurable in many aspects, which MKS (now PTC) uses for selling preconfigured solutions addressing the specific discipline, industry, methodology or compliance standard. The relatively unique feature is the native support for MATLAB and other engineering tools.

Extensibility The APIs provided by the core products and the MIIP technology are the main extension points. There is no common or open-source integration technology. The Integrity Gateway can be used for manual import/export tasks. The API documentation is said to be available for partners and customers. Customer Community portal designed as a knowledge base and a support point is also accessible under registration only. Reasonable amount of integrations is available out-of-the-box, but the relatively closed strategy of MKS seems to limit the number of third-party or community based integrations.

Online Sources Retrieved (including integration information) 2011-12-24 MKS Integrity Overview http://www.mks.com/platform/our-product Platform Description http://www.mks.com/platform/architecture ALM Solution http://www.mks.com/it/solutions/discipline/application-lifecycle-management Integrations http://www.mks.com/platform/integrations/integrationtechnologies Integration Technologies http://www.mks.com/platform/integrations/integrationtechnologies

64

Area T07 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: MKS Integrity unknown unknown import / export unknown unknown unknown unknown integration author: unknown unknown ALM site unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting MKS Integrity unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer MKS Integrity unknown unknown unknown unknown unknown unknown unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full partial 2 full unknown unknown unknown ALM site third-party ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions MKS Integrity full 3 unknown unknown full unknown full unknown unknown unknown unknown tool site unknown unknown ALM site unknown ALM site unknown unknown unknown unknown Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager MKS Integrity unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac unknown unknown unknown unknown unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown full unknown unknown unknown unknown ALM site unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro unknown partial 4 partial partial full 7 unknown full 6 unknown unknown unknown full unknown tool site tool site tool site tool site unknown tool site unknown unknown unknown tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack unknown unknown partial unknown unknown unknown unknown unknown unknown unknown unknown unknown ALM site unknown unknown unknown unknown unknown unknown unknown 1) Excel Integration and Export to other Office formats, 2) SCM Integration via IdeaMksPlugin, 3) Via AccuBridge for MKS Integrity Manager, 4) MKS SCM configuration for CC.NET, 5) MKS SCM configuration for CC, 6) PTC Integrity Plugin for Jenkins, 7) PTC Integrity Plugin for Jenkins

Table 28 – Available Integrations for PTC MKS Integrity 65

7.2.12. Rally Unlimited Edition Company Rally Software Included and Related Products Rally Idea Manager Rally Portfolio Manager Rally Time Tracker Rally Quality Manager Rally Advanced Security and Administration Rally Support Manager

Architecture Rally is an ALM Framework. It is primarily intended to be used as SaaS. On-premise deployment is also possible, but only as whole virtual appliance which bundles CentOS Linux distribution, Jetty application server, Oracle database and of course the Rally’s solution. The platform features Web Services API for both REST and SOAP standards.

Description Rally provides an ALM platform which (in the highest edition) covers primarily the management parts of ALM universe. Emphasizing the Agile (and also Lean) development technique, Rally provides strong Portfolio, Project and Quality management. The company based integrations to many ALM point-tools and other ALM solutions are intended to fill the blanks. In the past Rally formed a complete ALM offering together with AccuRev and Urbancode. Although the offer was probably discontinued, the integrations remain.

Extensibility Although, the platform itself is most likely closed for other ALM vendors for core module creation, it can be extended via available APIs public APIs. Besides the reasonable high amount of out-of-the-box integrations, Rally is supportive in Integration efforts of others (SDK, documentation, Integrations Framework). And it is also one of few to advertise on-demand connector development.

Online Sources Retrieved (including integration information) 2011-12-27 Rally Editions http://www.rallydev.com/platform-products/rally-editions Deployment and Infrastructure Overview http://www.rallydev.com/product-features/deployment-and-infrastructure-overview On-Premise Deployment Guide http://www.rallydev.com/sites/default/files/On_Premise_Deployment_Guide_0.pdf Supported Integrations http://www.rallydev.com/product-feature/rally-platform-integrations-overview Customization http://www.rallydev.com/customization

66

Area T09 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Rally partial partial export partial partial full full integration author: ALM site ALM site ALM site ALM site third-party ALM site ALM site Reporting MS Reporting Seapine ALM Services Reporting Rally unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Rally partial 2 unknown partial 2 unknown third-party unknown third-party unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full unknown full unknown unknown partial ALM site unknown ALM site unknown unknown ALM site Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions full partial full unknown partial 1 full unknown unknown unknown full ALM site tool site ALM site unknown ALM site ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager unknown unknown unknown partial full unknown unknown unknown unknown tool site tool site unknown Defect tracking Bugzilla Mantis Edgewall Trac Rally full unknown partial 2 ALM site unknown third-party Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown full export unknown full unknown ALM site ALM site unknown ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro full full full partial full unknown full unknown full full partial ALM site ALM site ALM site tool site ALM site unknown ALM site unknown ALM site ALM site tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Rally full unknown full full partial 2 partial 1 full partial 2 partial 2 partial 2 ALM site unknown ALM site ALM site third-party ALM site ALM site third-party third-party third-party 1) Via Visual Studio Plugin only, 2) Via OpsHub ALM hub

Table 29 – Available Integrations for Rally Unlimited Edition 67

7.2.13. Rocket Aldon ALM products Company Rocket Software Included and Related Products Aldon Lifecycle Manager Aldon Report Manager Aldon Deployment Manager Aldon Community Manager Aldon CMDB Architecture Aldon Lifecycle Manager represents an ALM platform, which can be deployed on Linux Red Hat Distribution or IBM i platform. The IBM DB2 Express-C database is bundled with product. Windows-like systems are necessary for the client. The Deployment Manager and Report Manager products utilize the Lifecycle Manager platform. The information concerning integration technology and possibilities are not directly available with the exception of IDE and Version Control integrations. The Community Manager represents (in terms of deployment) a distinct product and requires Windows server platform and the Microsoft SQL Database.

Description Aldon provides a set of ALM products. The Community Manager is primarily an ITIL, ITSM and SCM solution, which works in tandem with Aldon CMDB storage. Its intention is to work as an ALM hub. The Lifecycle Manager covers the rest of the development process (Design, Development, QA and Production). The Report Manager and Deployment manager are integrated products dedicated to their respective tasks.

Extensibility Besides the Version Control and IDE integrations, there are no visible integrations or advertised integrations capabilities. We assume some integration from Deployment Manager to build solutions to exist.

Online Sources Retrieved (including integration information) 2012-01-01 Aldon ALM Products http://aldon.rocketsoftware.com/sol/ov/ ALM Suite Overview http://aldon.rocketsoftware.com/downloads/SCM_Applications_Brochure_Widescreen.pdf

68

Area T24 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Lifecycle Manager unknown unknown unknown unknown unknown unknown unknown integration author: unknown unknown unknown unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting Community M., unknown unknown Report. M., Life. M. unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Community M., unknown unknown unknown unknown Lifecycle M. unknown unknown unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full unknown partial 2 unknown unknown unknown ALM site unknown ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions Lifecycle Manager unknown unknown unknown unknown full full unknown unknown unknown full unknown unknown unknown unknown ALM site ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager Lifecycle M. unknown unknown unknown unknown unknown unknown Deployment M. unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac Community Manager unknown unknown unknown unknown unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint Community Manager unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Lifecycle M. unknown unknown partial 1 unknown unknown unknown unknown unknown unknown unknown unknown Deployment M. unknown unknown ALM site unknown unknown unknown unknown unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Lifecycle M. unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown 1) Cruise Control and Aldon ALM, 2) Advertised for old Visual Studio .NET Table 30 – Available Integrations for Rocket Aldon ALM products

69

7.2.14. Seapine ALM Company Seapine Software Included and Related Products TestTrack (RM /PRO/TCM) Surround SCM QA Wizard Pro Seapine ALM RP Architecture Seapine ALM solution consists of two main server components - SurroundSCM server and TestTrack server. SurroundSCM server provides configuration management services; TestTrack server supports all area-specific client application and stores lifecycle artifacts such as (Requirements, Test-Cases definitions or planning artifacts). Both servers as well as all client applications are deployable on windows-like and unix-like systems. MS SQL Server, PostgreSQL and Oracle database are supported as data stores. There is no explicitly advertised integration technology but there is a SOAP API and also server-side C++ plugin API for TestTrack product. The integrations with Surround SCM can be built using an API, which is available for C language and JAVA or .NET platforms.

Description Seapine provides a cohesive ALM solution based primarily on its products. It has a strong SCM component (SurroundSCM) and several area-specific products working against TestTrack server. There is also automated testing solution – QA Wizard Pro, which can also as part of Seapine’s ALM ecosystem. The interesting product standing aside of TestTrack platform is Seapine ALM Reporting /RP/, which provides data-mining capabilities across different data sources (both application specific and generic ). Reasonable of integrations targeting the major point-tools exists for Seapine’s products but some of them target only the SurroundSCM solution.

Extensibility The TestTrack integrations can be built using the SOAP API and provided SDK or using a server-side plugin API. There is also support for external reporting API, which allows integration of TestTrack with external reporting technologies.

Online Sources Retrieved (including integration information) 2011-12-28 Seapine ALM http://www.seapine.com/products Server-side plugin API http://blogs.seapine.com/2010/02/server-plug-in-api/ TestTrack Architecture http://www.seapine.com/ttrmscalable.html TestTrack SOAP SDK http://labs.seapine.com/TestTrackSDK.php TestTrack Integrations http://www.seapine.com/kb/categories/TestTrack/Integrations/ Upcoming Version ALM 2012 http://www.seapine.com/alm2012beta/

70

Area T10 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan TestTrack Pro unknown unknown unknown unknown unknown unknown partial 1 unknown unknown unknown unknown unknown unknown ALM site Reporting MS Reporting Seapine ALM Services Reporting Seapine ALM partial full Reporting ALM site ALM site Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer TestTrack RM partial 2 unknown partial 2 unknown third-party unknown third-party unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full unknown full unknown unknown unknown ALM site unknown ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions Seapine Surround unknown unknown unknown full partial 2,5 full full unknown full full SCM unknown unknown unknown ALM site third-party ALM site ALM site unknown ALM site ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager TestTrack TCM unknown unknown unknown unknown partial 3 unknown unknown unknown unknown unknown ALM site unknown Defect tracking Bugzilla Mantis Edgewall Trac TestTrack Pro partial 10 unknown partial 2 ALM site unknown third-party Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint TestTrack unknown unknown partial partial partial 4 unknown unknown ALM site ALM site ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro partial 6 partial 7 partial 8 partial partial 9 unknown partial 9 unknown unknown unknown unknown ALM site tool site tool site tool site ALM site unknown ALM site unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack TestTrack partial 2 unknown unknown unknown partial 2 partial 2,5 partial 2 full partial 2 partial 2 third-party unknown unknown unknown tool site third-party third-party ALM site third-party third-party 1) Via TestTrack trigger, 2) Via OpsHub ALM hub, 3) Ability to run TestComplete scripts, 4) Via TestTrack WebParts for SharePoint, 5) Integration to TFS SCM via Check-in Policy, 6) To SCM only, 7) To SCM only, 8) To SCM only, 9) To SCM only in upcoming 2012 version, 10) To SCM only

Table 31 – Available Integrations for TaskTop Dev Enterprise, TaskTop Sync 71

7.2.15. Serena Orchestrated Application Delivery Company Serena Software Included and Related Products Serena Business Manager Serena Prototype Composer Serena Dimensions RM Serena Agile Planner Serena Dimensions CM, PCVS Version Manager, Dimensions z/OS Serena ALM Dashboard Serena Release Control, Serena Vault, Serena Release Automation Serena Project and Portfolio Management Architecture Serena provides a variety of ALM products. The two key products, which represent the Serena’s platform, are Serena Business Manager /SBM/ and Serena Dimensions. SBM represents a powerful process orchestration engine and a shared service provider for some of the Serena’s applications. The Dimensions product, on the other hand, stands for a central ALM storage. Further architecture and deployment information is not available directly.

Description The Serena’s portfolio offers product for every area of the software development or its support. The Orchestrated Application Delivery with the SBM and Dimensions CM in the middle forms a suite connectable with other Serena’s products. Additionally, the platform provides the integrations to the third-party tools. The development data gather across the ALM process are then made available via Serena ALM dashboard.

Extensibility Several integrations to the Version Control systems, Bug Tracking systems, build agents and IDSs are available out-of-the-box. Additionally, Serena SBM natively integrates with SharePoint. The further information about available APIs or any integration-exchange portal is not publically available, which might limit the third-party integration efforts.

Online Sources Retrieved (including integration information) 2012-01-01 Serena Orchestrated Application Delivery http://www.serena.com/solutions/application-lifecycle-management/index.html Sample SBM Applications http://www.serena.com/docs/repository/sbm/Sample-Process-based-Applications-with-SBM-Jan-2011.pdf SCM Connectors http://www.serena.com/solutions/issue-and-defect-management/scm-connectors.html

72

Area T11 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan integration level: Orchestrated App. unknown unknown import unknown unknown unknown full integration author: Delivery /OAD/ unknown unknown ALM site unknown unknown unknown ALM site Reporting MS Reporting Seapine ALM Services Reporting SBM, OAD, ALM unknown unknown Dashboard unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Requirements unknown unknown unknown unknown Management unknown unknown unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full unknown partial 3 unknown unknown unknown ALM site unknown ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions Dimensions, PVCS unknown unknown unknown unknown full full unknown full unknown full unknown unknown unknown unknown ALM site ALM site unknown ALM site unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac OAD unknown unknown unknown unknown unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown unknown unknown full unknown unknown unknown unknown ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Release Control / unknown unknown full 1 unknown partial 1,2 unknown unknown unknown unknown unknown full 1 Automation / Vault unknown unknown ALM site unknown third-party unknown unknown unknown unknown unknown tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack unknown unknown full unknown unknown unknown unknown unknown full unknown unknown unknown ALM site unknown unknown unknown unknown unknown ALM site unknown 1) CI Integrations for Dimensions CM / SBM, 2) Dimensions Plugin, 3) Advertised for 2008 version

Table 32 - Available Integrations for Serena Orchestrated Application Delivery 73

7.2.16. SmartBear Software ALMComplete Company SmartBear Software Included and Related Products ALMComplete TestComplete

Architecture ALMComplete is an ALM framework web-based application. It only supports deployment on Server 2008. Microsoft SQL Server 2005 and higher is supported as a data store. The solution as also available as a SaaS. All major web-browsers are supported for Web UI access. The product features a Web-Service API which can be used for integration efforts.

Description ALMComplete is an ALM suite, which features modules for Project Management, Release Management, Test Management, Requirements Management, Defect and Issue Tracking features and also Ticket Support System. It allows traceability and Reporting across all covered domains. There are also collaborative features included in the product. The product is also integrated with the TestComplete product for the purposes of an automated testing.

Extensibility Besides the natively provided integrations, other tools and systems are supported via partnership with OpsHub ALM hub. The ALMComplete Web-Service API can be used for custom integration efforts. SmartBear provides a Web-Service testing utility which also includes examples.

Online Sources Retrieved (including integration information) 2011-12-29 ALMComplete Overview http://smartbear.com/products/development-tools/almcomplete/ ALMComplete System Requirements http://smartbear.com/products/alm-dev-qa-requirements/ Web-Service API Training http://smartbear.com/products/services/web-service-api/ ALMComplete Downloads http://smartbear.com/support/downloads/almcomplete/

74

Area T12 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan ALMComplete unknown unknown full unknown unknown unknown unknown unknown unknown ALM site unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting ALMComplete unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer ALMComplete full 1 unknown full 1 unknown third-party unknown third-party unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions unknown unknown unknown unknown full 1 full 1 unknown unknown unknown full 1 unknown unknown unknown unknown third-party third-party unknown unknown unknown third-party Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager ALMComplete, unknown unknown unknown unknown full unknown TestComplete unknown unknown unknown unknown ALM site unknown Defect tracking Bugzilla Mantis Edgewall Trac ALMComplete unknown unknown unknown unknown unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint ALMComplete unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro ALMComplete unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack ALMComplete full 1 unknown partial 1,2 unknown full 1 full 1 full 1 full 1 unknown full 1 third-party unknown third-party unknown third-party third-party third-party third-party unknown third-party 1) Via OpsHub ALM hub, 2) Advertised for HP Quality

Table 33 – Available Integrations for SmartBear Software ALMComplete

75

7.2.17. TaskTop Dev Enterprise and TaskTop Sync Company Tasktop Technologies Included and Related Products Tasktop Sync Tasktop Dev (for Eclipse / Visual Studio / Desktop)

Architecture Both Tasktop products represent an ALM Hub based on Eclipse Mylyn open-source project and can be deployed on any platform running the Java 5 or higher. Additional for Tasktop Dev are specific to the given version (Eclipse, Visual Studio and Desktop) or used connector (e.g. Team Explorer Everywhere for Team Foundation Server integration). The product leverages wide specter of integration technologies of the integrated tools or repositories including the OSLC and HP ALI. The custom connector development is possible based on Mylyn resources.

Description TaskTop Dev is an IDE-centric integration Hub available for Eclipse(-based) IDEs, Visual Studio IDE or as a standalone desktop application. The functionality and available connectors can differ slightly among versions. The Tasktop Dev enables to manage any of connected ALM tools/repositories within the given IDE. Although there is no process enforcement across connected tools, cross repository references can be created for certain combinations. Tasktop Sync is ALM hub design especially to bridge several ALM repositories on behind. For the scenarios where one repository can be considered as “master”, Tasktop sync can enable cross repository reporting by bringing all the “slave” repository data into “master” repository.

Extensibility Being and ALM hubs, Tasktop products are extensible by connectors. The connectors are based on Eclipse Mylyn project. Creation of new connectors by third-parties is therefore possible, but full incorporation into Tasktop products may require Tasktop assistance. Tasktop is opened to support such activities or develop custom connectors on demand.

Online Sources Retrieved (including integration information) 2011-12-21 Tasktop Products http://tasktop.com/products Tasktop Dev http://tasktop.com/support/new/index-dev22 Tasktop Solutions - Certified Integrations v2.2 http://tasktop.com/sites/default/files/documents/Tasktop%20Solutions%20-%20Certified%20Integrations%20v2.2.pdf

76

Area T13 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan Tasktop Dev, partial unknown unknown unknown unknown unknown unknown Tasktop Sync ALM site unknown unknown unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Tasktop Sync unknown partial unknown unknown unknown ALM site unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper Tasktop Dev, full unknown full unknown unknown unknown Tasktop Sync ALM site unknown ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager Tasktop Dev, unknown unknown unknown unknown unknown unknown Tasktop Sync unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac Tasktop Dev, full full full Tasktop Sync ALM site ALM site ALM site Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS St reamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro unknown unknown unknown unknown partial unknown partial unknown unknown unknown unknown unknown unknown unknown unknown ALM site unknown ALM site unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Tasktop Dev, full unknown full full full full unknown unknown unknown unknown Tasktop Sync ALM site unknown ALM site ALM site ALM site ALM site unknown unknown unknown unknown

Table 34 – Available Integrations for TaskTop Dev Enterprise and TaskTop Sync

77

7.2.18. TechExcel DevSuite Company TechExcel Included and Related Products DevSuite (DevTrack, DevTest, DevSpec, DevPlan, Portfolio) KnowledgeWise DevTime

Architecture TechExcel is an ALM suite built around the DevTrack product. Both server and native client require a windows-like system and Microsoft .NET framework. Microsoft SQL, Oracle database or MySQL database can be used as a data storage. All major web-browsers are supported for Web UI access. DevTrack features a separately sold integration module called LinkPlus which exposes Web Service and COM API. Additionally, there is a TestLink API providing the integration for Test Execution software.

Description DevSuite represents an ALM solution, which covers most of the main areas of Software Development, possibly missing only Build and Release management. The solution supports the cross-area relations and workflows. It also features a modern collaboration and a document management wiki-style solution called KnowledgeWise. TechExcel advertise its solutions to support process driven and ALM monitored Agile development.

Extensibility The DevTrack platform provides exceptionally powerful SCM integrations to several products out-of-the-box. Additionally, test agents can be Integrated via TestLink API. The number of other integrations is limited as well as a third-party or community integration efforts. That is probably caused by the TechExcel marketing decision to sell the LinkPlus integration module separately.

Online Sources Retrieved (including integration information) 2011-12-31 DevSuite Overview http://www.techexcel.com/products/devsuite/index.html System Requirements http://www.techexcel.com/products/devsuite/devsuite-tech.html DevTrack http://www.techexcel.com/products/devsuite/devtrack.html

78

Area T14 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan Portfolio unknown unknown import / export unknown unknown unknown unknown unknown unknown ALM site unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting DevTrack, DevPlan unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer DevSpec unknown unknown unknown unknown unknown unknown unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper desktop client full unknown full 1 unknown unknown unknown ALM site unknown ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions full unknown unknown partial 3 full full unknown unknown unknown full ALM site unknown unknown ALM site ALM site ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager DevTest unknown unknown unknown unknown full 2 unknown unknown unknown unknown unknown ALM site unknown Defect tracking Bugzilla Mantis Edgewall Trac DevTrack unknown unknown unknown unknown unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint KnowledgeWise unknown unknown import / export unknown partial 4 unknown unknown ALM site unknown ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack DevTrack unknown unknown unknown partial 3 unknown full unknown unknown unknown unknown unknown unknown unknown ALM site unknown ALM site unknown unknown unknown unknown 1) Via TFS Integration or SVN Integration, 2) TestComplete Integration, 3) Advertised for older version, 4) Possible via Single Sign On features (proof)

Table 35 – Available Integrations for TechExcel DevSuite

79

7.2.19. ThoughtWorks’ Adaptive ALM Company ThoughtWorks Included and Related Products Mingle Go Twist

Architecture The Mingle and GO products have a server part. Both are JAVA/web based and support unix-like and windows-like systems where JAVA platform is available. Additionally, Mingle requires DB server; PostgreSQL and Oracle database can be used. Mingle also features Web-Service based API and Single Sing On /SSO/ authentication features. Additionally, SCM integration plugin is developing as open-source. Lastly, Mingle Wiki supports custom macros written in Ruby Language.

Description The ThoughtWorks’ ALM suite consists of three products.  Mingle – Project Management and Team Collaboration.  Twist – platform  Go – Build & Release management and Continuous Integration Solution. All products are primarily designed for the Agile Development. Mingle provides a traceability and reporting features over the stored ALM data. It also features collaboration technologies like Card Wall, WIKI and Murmurs – technology designed to capture every-day communication.

Extensibility The integrations for Mingle and Go products can use a provide Web-Service API. The integrations provided out-of-the-box are limited compared to other ALM suites. ThoughtWorks provide a commercial support and training for integration efforts. Several plugins and tutorials are available via ThoughtWorks community page.

Online Sources Retrieved (including integration information) 2011-12-30 ThoughtWorks ALM Overview http://www.thoughtworks-studios.com/solutions/application-lifecycle-management Technical Solutions http://www.thoughtworks-studios.com/services/technical-solutions Mingle Help http://www.thoughtworks-studios.com/mingle/3.5/help/index.html Mingle API http://www.thoughtworks-studios.com/mingle/3.5/help/mingle_api.html Twist Help http://www.thoughtworks-studios.com/twist-agile-test-automation/2.3_1/help/welcome_to_twist.html Go Help http://www.thoughtworks-studios.com/go/2.1/help/welcome_to_go.html How to build a Mingle SCM Plugin http://community.thoughtworks.com/posts/4e2debf8a5

80

Area T23 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan Mingle unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Reporting MS Reporting Seapine ALM Services Reporting Mingle unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer Mingle unknown unknown unknown unknown unknown unknown unknown unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full 5 unknown full 4,5 unknown unknown unknown third-party unknown third-party unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions unknown unknown full 1 unknown unknown full unknown unknown unknown full unknown unknown third-party unknown unknown ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager Twist unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Defect tracking Bugzilla Mantis Edgewall Trac Mingle unknown unknown unknown unknown unknown unknown Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint Mingle unknown unknown partial 2 unknown partial 6 unknown unknown third-party unknown ALM site Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro Go full full 7 full 7 unknown unknown unknown unknown unknown unknown unknown unknown ALM site ALM site ALM site unknown unknown unknown unknown unknown unknown unknown unknown ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack Mingle partial 3 unknown unknown unknown unknown unknown unknown unknown unknown unknown third-party unknown unknown unknown unknown unknown unknown unknown unknown unknown 1) Via GIT SCM Plugin for Mingle, 2) Via Mingle Add-In for Excel 2010, 3) Via Mingle-JIRA Connector, 4) Via ThoughtWorks Visual Studio Connector (Beta), 5) Via Tasktop ALM Hub, 6) Cross linking possible Via SSO, 7) CruiseControl open-source project was by ThoughtWorks. It is being replaced by Go.

Table 36 - Available Integrations for ThoughtWorks’ Adaptive ALM 81

7.2.20. VersionOne Company VersionOne Included and Related Products VersionOne

Architecture VersionOne platform is.NET based Web Application. That constricts the deployment (besides the SaaS offer) to windows-like platforms. Microsoft SQL server is used as data storage. The Web UI represents the main client; all common internet browsers are supported. The platform features an integration technology, which exposes the Web Services API. Ready-to-use client libraries consuming the Web API are available for JAVA and .NET platforms.

Description VersionOne provides an ALM framework based on its own platform. Area-specific modules are based primarily on planning features but there is also functionality for Test Management, Program Management, Collaboration and Reporting. The methodology support focuses on Agile methodologies but it is fully configurable. VersionOne provides an over-average amount of out-of-the-box integrations, which are available free-of-charge and some also with source code.

Extensibility The VersionOne platform is extensible through Web Services API and client libraries for JAVA and .NET platforms. The support for integration efforts and SDK is provided via the company’s support portal.

Online Sources Retrieved (including integration information) 2011-12-25 Product Overview http://www.versionone.com/Product/ Platform SDK and Downloads http://community.versionone.com/sdk/default.aspx Integration SDK http://community.versionone.com/sdk/DetailedDocumentation/TFS2010/index.html VersionOne Platform Requirements http://community.versionone.com/KnowledgeBase/FAQs/Q10042.aspx

82

Area T15 Integral Product Products Project, Portfolio and CA Clarity Daptiv Microsoft Project Oracle Planisware Ryma salesforce.com Customer Management Primavera P6 FeaturePlan VersionOne unknown unknown export unknown unknown partial full unknown unknown ALM site unknown unknown tool site ALM site Reporting MS Reporting Seapine ALM Services Reporting VersionOne unknown unknown unknown unknown Requirements IBM Rational IBM Rational IBM Rational Micro Focus Management DOORS Requirements RequisitePro CaliberRM Composer VersionOne partial 2 unknown partial 2 unknown third-party unknown third-party unknown Development IDE Eclipse (based) JetBrains MS Visual Studio MonoDevelop NetBeans Oracle IntelliJ IDEA 2010 jDeveloper full full full unknown unknown unknown ALM site ALM site ALM site unknown unknown unknown Software Configuration AccuRev SCM Codesion SCM GIT IBM Rational Microsoft TFS Perforce SCM Seapine Serena StarTeam SVN Management services ClearCase 2010 SCM Surround SCM Dimensions full partial 3 full unknown full full unknown unknown unknown full tool site tool site ALM site unknown ALM site ALM site unknown unknown unknown ALM site Test Management and FitNesse IBM Rational IBM Rational Micro Focus SmartBear TRICENTIS TOSCA Automation / Quality Functional Tester Quality Manager SilkCentral Test TestComplete Testsuite Management Manager VersionOne full unknown unknown full import unknown ALM site unknown unknown tool site ALM site unknown Defect tracking Bugzilla Mantis Edgewall Trac VersionOne full full partial 2 ALM site ALM site third-party Documentation / Alfresco Atlassian Microsoft Office Microsoft Microsoft Collaboration Confluence Outlook SharePoint VersionOne unknown unknown unknown unknown unknown unknown unknown unknown unknown unknown Build and Release APACHE ANT CruiseControl CruiseControl Electric Cloud Hudson IBM Rational Jenkins JetBrains Microsoft TFS StreamStep Urbancode Management .NET El.Commander Build Forge TeamCity Build AnthillPro VersionOne unknown full full full full unknown full full unknown unknown full unknown ALM site ALM site ALM site ALM site unknown ALM site ALM site unknown unknown tool site ALM Solutions / Atlassian JIRA CollabNet HP Quality Center IBM Rational IBM Rational Microsoft TFS Rally ALM Seapine Serena OAD VersionOne multipurpose products TeamForge / ALM 11 ClearQuest Team Concert 2010 TestTrack VersionOne partial 1 unknown full partial 1 partial 2 full partial 2 full unknown full ALM site unknown ALM site ALM site third-party ALM site third-party third-party unknown ALM site 1) Defect Tracking, 2) Via OpsHub ALM hub, 3) Via Codesion VersionOne service

Table 37 – Available Integrations for VersionOne

83

8. Conclusion In this thesis the concept of Application Lifecycle Management was described and the notable market offerings were presented focusing on their integration capabilities. The following chapters present the accomplished goals together with the related findings. 8.1. Designated Goals and Related Findings

1. Present the concept of ALM together with it historical roots. Analysis of the Software Development History and its evolution had concluded in the fact that the methods of software development change through the time. Compared to other domains of human activity (e.g. construction or education), the speed of change is high. Adoption of distributed teams, change to service-oriented market model and, most importantly, Agile development techniques form today’s software development world were mentioned. It is not possible to develop complex computer systems ad hoc and the rigid development methodologies are unable to keep pace with the change rate. The first chapters of this thesis had presented the ALM concept as a modern implementation of the Software Development Process which is able to help to solve these emerging issues.

2. Describe the areas of software development and define their specific requirements for ALM solution. In the fourth chapter of this thesis, the areas related to software development and underlying ALM concept were presented. Based on the composition of ALM product suites, SDLC methodology descriptions and ALM-oriented publications 10 areas were identified as the core parts of Software Development (and related) processes. These are

 Project and Portfolio Management  Reporting  Requirements Management  Development / Implementation  Software Configuration Management  Test Management, Test Automation and Quality Management  Defect Tracking and Product/ Service Support  Customer Relationship Management  Documentation / Collaboration  Build and Release Management / Continuous Integration

84

The “Project Management” and “Reporting areas have been found significantly important for the development process as a whole, which makes them good candidates for incorporation into the ALM solution itself. Additionally, the requirements for ALM solution implementation were pointed out. Finally, author concludes that all given areas provide relatively advanced features for their function, but the product changes necessary for successful integration as ALM solution components are required.

3. Analyze the various aspects and possibilities of ALM solution software implementations. The ALM Software Implementations have been found challenging even for the largest producers of business software. The basic solution architecture types were discussed and their advantages and disadvantages were defined. The Point-to-Point architecture and partially also the Monolithic architecture have been found outdated and generally unfavorable.

Additionally, various aspects of the software products have been discussed together with the ALM concept.  The application SaaS concept had been found potentially beneficial, but only for smaller companies.  Open-source initiative is considered to (positively) affect the ALM solutions in the terms of delivering the area-specific components (e.g. SCM solution). On the other hand, the author considers the open-source implementation of the whole ALM solution in the near future unrealistic.  The integration and extensibility capabilities have been found crucial for the successful implementation of the full ALM solution. The standard definitions for APIs, data models and data formats have been found necessary for implementation of fully functional multi-vendor ALM solution.

4. Outline the possible ALM adoption process together with common issues. The aspects of ALM adoption are discussed and supported by referenced sources. The proposed ALM adoption process has been defined based on these aspects and supported by a personal experience. The key findings for ALM adoption are  The adoption of full ALM solution is difficult and long running and should be done iteratively.  The ALM adoption is most beneficial for companies affected by changes of software development world, such as global development, agile development or rising product complexity (embedded development, compliance requirements).

85

5. Analyze the software market for enterprise ALM products focusing on their integration capabilities. The selected ALM products were presented by the description sheet and an extensive integration table describing the integration capabilities. The information sources were referenced via hyperlinks. 20 ALM solutions have been analyzed validating over 1000 integration possibilities in total. Based on the collected data several findings can be noted:

 The ALM Domain Coverage of ALM Suites Is Good but Not Full The compared ALM solutions (framework suites and monoliths) vary in ALM domain coverage. Some of them can provide fairly complete coverage, but usually miss one or more of the subdomains which has to be filled in by another component or product. The characteristic of the solution is sometimes determined by the purpose of the key product – e.g. solution built around project management product can lack the solid integrations to SCM solutions and vice-versa. Therefore, purchase of the “complete” ALM solution can be advantageous (for maximal integration and unified support), but additional purchases and integration requirements should be expected anyway.

 Integration Capabilities and Extensibility Differ While the biggest ALM offerings typically provide more scalable solutions with wider ALM coverage, the number of out-of-the-box supported integrations tends to be smaller. In opposite, smaller ALM producers tend to compensate the smaller domain coverage by extensive out-of-the-box integration capabilities. Additionally, only few and the most modern ALM suites are truly designed as ALM frameworks, and can by enhanced by new core modules.

 Central ALM Datastore Is Still Needed Both macro-processes and reporting are very hard to implement over multiple ALM data stores because there is still no datastore-agnostic reporting or process orchestration technology. The relevant information should be therefore aggregated from integrated tools to a central datastore. That includes macro-process relevant information (e.g. artifact states, relations), key performance indicators (e.g. effort), and compliance support material (e.g. change journals). In such scenario, central datastore enables the cross-project features, while point-tool datastores hold the rest of the area specific information, and provides it effectively.

86

Based on the amount and depth of the presented data, author considers the main goal “to provide an overview of the ALM concept and help the companies to choose the platform fitting most to their environment” as accomplished.

8.2. Limitations Regardless of the high amount of effort dedicated to the thesis, the limitations of deliverables related mainly to the ALM solution comparison can be found.  Integration Level can be inaccurate Objective determination of integration level would require a classification strategy and both configuration and usage experience. That is not feasible for the designated amount of analyzed products. The cooperation amongst the author and the ALM solution producers could partially increase the information reliably. The attempt to incorporate the producers into the analysis process was done, but the result was not successful. That was probably driven by the producers distaste to participate and by the unassertive way of request - an email message to the generic sales or support address of the producers. 8.3. Further Work The domain of Application Lifecycle Management provides a rich field for academic research. Several subjects related to ALM can be selected for that purpose:  Integration Classification Framework Definition of integration levels for the key integration attributes, which could be used for classification of integration by absolute value.

 The Optimal Architecture for ALM solution That includes various aspects such as datastore architecture, level of modularity, component coupling, and communication technologies or linking technologies.

 Best Practices for ALM Adoption and Adaptation The set of best practices could minimize the risk connected with ALM adoption and adaption as well as their cost.

 Tool-agnostic Shared Services Standard proposal for communication protocol and ALM artifact data-model, which would enable to create a truly vendor and storage neutral ALM solution.

87

9. References Basili, Victor R. and Turner, Albert J. 1975. Iterative Enhancement: A Practical technique for Software Development. IEEE Transactions on Software Engeneering [online]. Vol. Se-1, No. 4, December 1975. [Cit. 2011-05-30]. Available from WWW: http://www-lb.cs.umd.edu/~basili/publications/journals/J04.pdf

Booch, Grady and Brown, Alan W. 2002. Collaborative Development Environments [online]. October 28, 2002. [Cit. 2011-11-15]. Available from WWW: http://www.jorvik.com/alanbrown/files/cde-v4.1.pdf

Dahlqvist, Annita Persson, et al. 2001. Product Data Management and Software Configuration Management - Similarities and Differences [online]. September 27, 2001. [Cit. 2011-11-12] Available from WWW: http://www.cmcrossroads.com/cmwiki/pub/CM/WhosWhoInSCM/vi_pdmscm.pdf

Doležal, Jan, Lacko, Branislav a Máchal, Pavel. 2009. Projektový management podle IPMA. Praha: Grada Publishing, 2009. ISBN 9788024728483.

Duggan, Jim and Murphy , Thomas E. 2010. MarketScope for Application Life Cycle Management [online]. November 11, 2010. [Cit. 2011-07-14]. Available from WWW: http://download.microsoft.com/download/E/E/8/EE802CF5-0E08-431F-BD45- 2B938E70F625/Gartner_Marketscope_ALM__Nov.2010.pdf

Duggan, Jim and Murphy, Thomas E. 2011. Application Life Cycle Management Matters Where Diversity Persists [online]. July 13, 2011. [Cit. 2011-08-06]. Available from WWW: http://www.gartner.com/DisplayDocument?id=1744017

Göthe, Mats, et al. 2008. Collaborative Application Lifecycle Management with IBM Rational Products [online]. December 23, 2008. [Cit. 2011-07-04]. Available from WWW: http://www.redbooks.ibm.com/redbooks/pdfs/sg247622.pdf

Hipps, Brad and Sarbiewski, Mark. 2010. A Guide to Mastering the Modern Application Lifecycle [online]. October 19, 2010. [Cit. 2011-08-06]. Available from WWW: https://h30406.www3.hp.com/campaigns/2011/wwcampaign/inflexion/pdf/ALM Handbook-4aa3-1949enw.pdf

88

Chappell, David. 2008. What is Application Lifecycle Management [online]. December 4, 2008. [Cit. 2011-05-03]. Available from WWW: http://www.microsoft.com/download/en/confirmation.aspx?id=17831

Chappell, David. 2011. Adopting a common ALM foundation [online]. May 2011. [Cit. 2011-08-19]. Available from WWW: http://www.davidchappell.com/writing/white_papers/Adopting_a_Common_ALM _Foundation--v1.0--Chappell.pdf

Kääriäinen, Jukka. 2011. Towards an Application Lifecycle Management Framework [online]. April 1, 2011. [Cit. 2011-09-02]. Dissertation. Faculty of Science, University of Oulu. Available from WWW: http://www.vtt.fi/inf/pdf/publications/2011/P759.pdf

Kersten, Mik. Eclipse Mylyn Open Source Project. The Eclipse Foundation [online]. [Cit. 2011-10-27]. Available from WWW: http://eclipse.org/mylyn/

Lanowitz, Theresa and Dronzek, Lisa. 2011. Market Mover Array Report: Testing Platforms [online]. August 11, 2011. [Cit. 2011-09-05]. Available from WWW: http://www.microsoft.com/presspass/itanalyst/docs/08-11-10MMA.PDF

Larman, Craig and Basili, Victor R. 2003. Iterative and Incremental Development: A brief History [online]. 2003. [Cit. 2011-05-23]. Available from WWW: http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman- and-basili-ieee-computer.pdf open-services.net. Open Services for Lifecycle Collaboration [online]. [Cit. 2011-11-03]. Available from WWW: http://open-services.net/

Parker, Kevin. 2011. Orchestrating Application Delivery (part 3b) [online]. February 14, 2011. [Cit. 2011-09-04]. Available from WWW: http://www.serena.com/blog/2011/02/orchestrating-application-delivery-part- 3b/

Pederson, James E. 2006. Creating a Tool Independent Environment [online]. March 10, 2006. [Cit. 2011-10-05]. Available from WWW: http://sse.stevens.edu/fileadmin/cser/2006/papers/123-Pederson- SE%20Without%20Tools.pdf

89

Royce, Winston W. 1970. Managing the Development of Large Software Systems [online]. 1970. [Cit. 2011-05-22]. Available from WWW: http://leadinganswers.typepad.com/leading_answers/files/original_waterfall_pap er_winston_royce.pdf

Serena Software. 2008. Eclipse Foundation. Eclipse Application Lifecycle Framework (ALF) project - Project Termination Review [online]. November 16, 2008. [Cit. 2011-11-10]. Available from WWW: http://www.eclipse.org/project-slides/Eclipse%20ALF%20Termination%20Review %20Nov%202008%20v02.pdf

Shaw, Kelly A. 2007. Application Lifecycle Management for the Enterprise - Serena’s Approach to ALM 2.0 [online]. April 2007. [Cit. 2011-11-10]. Available from WWW: http://www.serena.com/docs/repository/alm/alm-for-the-enterpri.pdf

Schwaber, Carey. 2006. The Changing Face Of Application Life-Cycle Management [online]. August 18, 2006. [Cit. 2011-07-06]. Available from WWW: http://i.bnet.com/logos/whitepapers/Serena_Life_Cycle_Management.pdf

Schwalbe, Kathy. 2010. Information Technology Project Management. s.l.: Cengage Learning, 2010. ISBN 978-1111221751.

Sutherland, Jeff and Schwaber, Ken. Agile Manifesto. Agile Manifesto [online]. Available from WWW: http://agilemanifesto.org/

Svozilová, Alena. 2011. Projektový management. Praha: Grada Publishing a.s., 2011. ISBN 978-80-247-3611-2.

Thomas, Ian and Nejmeh, Brian A. 1992. Definitions of Tool Integration for Environments [online]. 1992. [Cit. 2011-11-08]. Available from WWW: http://www.ics.uci.edu/~taylor/ics228/thomas.pdf

90