Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitLab as an Application Lifecycle Management Suite

GitLab as an Application Lifecycle Management Suite

Pedro Tavares

December 15, 2017
Tweet

More Decks by Pedro Tavares

Other Decks in Programming

Transcript

  1. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Application Lifecycle Management An overview of existing tools Pedro Tavares [email protected] Faculty of Engineering of the University of Porto 15 December 2017 Pedro Tavares MESW1718-PPES Application Lifecycle Management 1 / 18
  2. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Application Lifecycle Management Definition (Application Lifecycle Management) Is the product lifecycle management of software. It covers the entire lifecycle from the idea conception, through to the development, testing, deployment, support and ultimately retirement of systems. Consists in three core aspects: governance, development, and operations. Pedro Tavares MESW1718-PPES Application Lifecycle Management 2 / 18
  3. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Application Lifecycle Management Definition (Application Lifecycle Management) Is the product lifecycle management of software. It covers the entire lifecycle from the idea conception, through to the development, testing, deployment, support and ultimately retirement of systems. Consists in three core aspects: governance, development, and operations. Pedro Tavares MESW1718-PPES Application Lifecycle Management 2 / 18
  4. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Application Lifecycle Management Definition (Application Lifecycle Management) Is the product lifecycle management of software. It covers the entire lifecycle from the idea conception, through to the development, testing, deployment, support and ultimately retirement of systems. Consists in three core aspects: governance, development, and operations. Pedro Tavares MESW1718-PPES Application Lifecycle Management 2 / 18
  5. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Application Lifecycle Management Figure: ALM should cover every stage of Software Development Lifecycle. Pedro Tavares MESW1718-PPES Application Lifecycle Management 3 / 18
  6. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Core Aspects of ALM • Governance: extends over the entire application lifecycle to make sure the application always provides what the business needs; • Development: occurs in the first part of an applications lifecycle, then happens periodically as the application is updated; • Operations: begins shortly before an application is deployed, then continues until the application is removed from service. Pedro Tavares MESW1718-PPES Application Lifecycle Management 4 / 18
  7. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Core Aspects of ALM • Governance: extends over the entire application lifecycle to make sure the application always provides what the business needs; • Development: occurs in the first part of an applications lifecycle, then happens periodically as the application is updated; • Operations: begins shortly before an application is deployed, then continues until the application is removed from service. Pedro Tavares MESW1718-PPES Application Lifecycle Management 4 / 18
  8. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Core Aspects of ALM • Governance: extends over the entire application lifecycle to make sure the application always provides what the business needs; • Development: occurs in the first part of an applications lifecycle, then happens periodically as the application is updated; • Operations: begins shortly before an application is deployed, then continues until the application is removed from service. Pedro Tavares MESW1718-PPES Application Lifecycle Management 4 / 18
  9. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Why the need of ALM Tools? ”More and more software development companies realize that relying on inadequate legacy tools and loads of manual work is no longer feasible.” Pedro Tavares MESW1718-PPES Application Lifecycle Management 5 / 18
  10. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Why the need of ALM Tools? Companies realized that with proper ALM tooling they can have integrated teams that: • Collaboratively define software requirements; • Plan sprints and releases; • Test the product during development; • Continuously deploy the latest product updates. Pedro Tavares MESW1718-PPES Application Lifecycle Management 6 / 18
  11. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Why the need of ALM Tools? Companies realized that with proper ALM tooling they can have integrated teams that: • Collaboratively define software requirements; • Plan sprints and releases; • Test the product during development; • Continuously deploy the latest product updates. Pedro Tavares MESW1718-PPES Application Lifecycle Management 6 / 18
  12. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Why the need of ALM Tools? Companies realized that with proper ALM tooling they can have integrated teams that: • Collaboratively define software requirements; • Plan sprints and releases; • Test the product during development; • Continuously deploy the latest product updates. Pedro Tavares MESW1718-PPES Application Lifecycle Management 6 / 18
  13. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Why the need of ALM Tools? Companies realized that with proper ALM tooling they can have integrated teams that: • Collaboratively define software requirements; • Plan sprints and releases; • Test the product during development; • Continuously deploy the latest product updates. Pedro Tavares MESW1718-PPES Application Lifecycle Management 6 / 18
  14. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features The problem of most ALM tools • GitHub follow a marketplace strategy where other vendors cover most of the product categories; • Atlassian covers most of the product categories but the user or reseller has to integrate them together; • Requires multiple applications to cover the ALM stages. Pedro Tavares MESW1718-PPES Application Lifecycle Management 7 / 18
  15. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features The problem of most ALM tools • GitHub follow a marketplace strategy where other vendors cover most of the product categories; • Atlassian covers most of the product categories but the user or reseller has to integrate them together; • Requires multiple applications to cover the ALM stages. Pedro Tavares MESW1718-PPES Application Lifecycle Management 7 / 18
  16. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features The problem of most ALM tools • GitHub follow a marketplace strategy where other vendors cover most of the product categories; • Atlassian covers most of the product categories but the user or reseller has to integrate them together; • Requires multiple applications to cover the ALM stages. Pedro Tavares MESW1718-PPES Application Lifecycle Management 7 / 18
  17. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features GitLab: The single application ”GitLab is a single application that does everything from planning to monitoring.” Pedro Tavares MESW1718-PPES Application Lifecycle Management 8 / 18
  18. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Advantages of a single application • Single Authentication/Authorization; • Single Project/Setup; • Single Interface/Data-Store/Overview; • Single Vendor; Pedro Tavares MESW1718-PPES Application Lifecycle Management 9 / 18
  19. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Advantages of a single application • Single Authentication/Authorization; • Single Project/Setup; • Single Interface/Data-Store/Overview; • Single Vendor; Pedro Tavares MESW1718-PPES Application Lifecycle Management 9 / 18
  20. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Advantages of a single application • Single Authentication/Authorization; • Single Project/Setup; • Single Interface/Data-Store/Overview; • Single Vendor; Pedro Tavares MESW1718-PPES Application Lifecycle Management 9 / 18
  21. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Advantages of a single application • Single Authentication/Authorization; • Single Project/Setup; • Single Interface/Data-Store/Overview; • Single Vendor; Pedro Tavares MESW1718-PPES Application Lifecycle Management 9 / 18
  22. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features GitLab Features • Planning Issue tracking and Kanban boards; • Creating Version control and Code reviews; • Verifying Continuous integration; • Releasing Continuous deployment; • Monitoring; Pedro Tavares MESW1718-PPES Application Lifecycle Management 10 / 18
  23. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features GitLab Features • Planning Issue tracking and Kanban boards; • Creating Version control and Code reviews; • Verifying Continuous integration; • Releasing Continuous deployment; • Monitoring; Pedro Tavares MESW1718-PPES Application Lifecycle Management 10 / 18
  24. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features GitLab Features • Planning Issue tracking and Kanban boards; • Creating Version control and Code reviews; • Verifying Continuous integration; • Releasing Continuous deployment; • Monitoring; Pedro Tavares MESW1718-PPES Application Lifecycle Management 10 / 18
  25. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features GitLab Features • Planning Issue tracking and Kanban boards; • Creating Version control and Code reviews; • Verifying Continuous integration; • Releasing Continuous deployment; • Monitoring; Pedro Tavares MESW1718-PPES Application Lifecycle Management 10 / 18
  26. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features GitLab Features • Planning Issue tracking and Kanban boards; • Creating Version control and Code reviews; • Verifying Continuous integration; • Releasing Continuous deployment; • Monitoring; Pedro Tavares MESW1718-PPES Application Lifecycle Management 10 / 18
  27. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Planning: GitLab Issues (Issue tracking) Pedro Tavares MESW1718-PPES Application Lifecycle Management 11 / 18
  28. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Planning: GitLab Boards (Kanban boards) Pedro Tavares MESW1718-PPES Application Lifecycle Management 12 / 18
  29. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Creating: GitLab SCM (Version control) Pedro Tavares MESW1718-PPES Application Lifecycle Management 13 / 18
  30. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Creating: GitLab SCM (Code review) Pedro Tavares MESW1718-PPES Application Lifecycle Management 14 / 18
  31. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Verifying: GitLab CI (Continuous integration) Pedro Tavares MESW1718-PPES Application Lifecycle Management 15 / 18
  32. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Releasing: GitLab CD (Continuous deployment) Pedro Tavares MESW1718-PPES Application Lifecycle Management 16 / 18
  33. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Monitoring: GitLab Metrics Pedro Tavares MESW1718-PPES Application Lifecycle Management 17 / 18
  34. Introduction Core Aspects of ALM Why the need of ALM

    Tools? The single application GitLab Features Application Lifecycle Management An overview of existing tools Pedro Tavares [email protected] Faculty of Engineering of the University of Porto 15 December 2017 Pedro Tavares MESW1718-PPES Application Lifecycle Management 18 / 18