Application Lifecycle Management Solutions
Total Page:16
File Type:pdf, Size:1020Kb
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 software development as well as their specific requirements 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, Software Development Lifecycle, Software Development Support, Software Project Management, 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 Configuration Management ........................................... 23 4.6. Test Management, Test Automation 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 / Continuous Integration ............. 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 JIRA, 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. Microsoft Visual Studio Application Lifecycle Management .... 56 7.2.8. OpsHub Integration Manager & Analytics Manager ................ 58 7.2.9. Parasoft 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