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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Tools? The single application GitLab Features Planning: GitLab Issues (Issue tracking) Pedro Tavares MESW1718-PPES Application Lifecycle Management 11 / 18
Tools? The single application GitLab Features Planning: GitLab Boards (Kanban boards) Pedro Tavares MESW1718-PPES Application Lifecycle Management 12 / 18
Tools? The single application GitLab Features Creating: GitLab SCM (Version control) Pedro Tavares MESW1718-PPES Application Lifecycle Management 13 / 18
Tools? The single application GitLab Features Verifying: GitLab CI (Continuous integration) Pedro Tavares MESW1718-PPES Application Lifecycle Management 15 / 18
Tools? The single application GitLab Features Releasing: GitLab CD (Continuous deployment) Pedro Tavares MESW1718-PPES Application Lifecycle Management 16 / 18
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