26
Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München wwwmatthes.in.tum.de Master‘s Thesis Final Presentation - Design and Evaluation of a Collaborative Approach for API Lifecycle Management Duc Huy Bui, 2018-09-10, Garching

Master‘s Thesis Final Presentation - Design and Evaluation

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Master‘s Thesis Final Presentation - Design and Evaluation

Chair of Software Engineering for Business Information Systems (sebis) Faculty of InformaticsTechnische Universität Münchenwwwmatthes.in.tum.de

Master‘s Thesis Final Presentation -Design and Evaluation of a Collaborative Approach for API Lifecycle Management

Duc Huy Bui, 2018-09-10, Garching

Page 2: Master‘s Thesis Final Presentation - Design and Evaluation

Outline

1. Motivation2. Research Questions3. Research Approach4. Conception5. Prototype6. Evaluation7. Conclusion

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 2

Page 3: Master‘s Thesis Final Presentation - Design and Evaluation

§ API Economy§ API becomes a product§ Innovation driver for digital businesses (Cloud, Big Data, IoT, etc.)§ Competitive advantages, e.g. Salesforce (50% revenue), Ebay (60% revenue), Expedia (90% revenue) [1]

§ Need for API Management and API Lifecycle Management

MotivationWeb APIs become Products

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 3

Public API

Partner APIPrivate

Internal APIPrivate

Number of Web APIs

Number of API Calls per

Day

Trend: Full Lifecycle API Management

Page 4: Master‘s Thesis Final Presentation - Design and Evaluation

MotivationProblem Statement§ Difficulties to align all project members on the same status of an API

§ Unnecessary long and indirect communication ways

§ Break in collaboration between participants e.g. changes of conception and implementation of service or API not trackable

§ No known contact point for customers who need an API from the company, only through personal network

§ High manual paperwork and use of a non-optimized process for internal APIs (No existing process for external APIs!)

§ Dependencies between frontend and backend developer lead to longer development cycles for APIs

§ Bad API usability and missing or bad documentation of APIs that is not up-to-date

§ ...

© sebis 420180910 Final Presentation Master's Thesis Duc Huy Bui

Need for central solution to guide API consumer and API provider through the API Lifecycle process that is supported by collaboration and acceleration features to efficiently improve shortcomings.

Page 5: Master‘s Thesis Final Presentation - Design and Evaluation

Research Questions

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 5

How could a holistic approach for an API Lifecycle, including phases, activities, artifacts and roles, look

like that is driven by the collaboration of participating stakeholders?

How can tools and collaborative features be used to support the API Lifecycle Management?

What are the users' experiences of the designed web application prototype solution?

RQ1

RQ2

RQ3

Page 6: Master‘s Thesis Final Presentation - Design and Evaluation

Research Approach

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 6

• Challenges for developing qualitative APIs• Shortcomings of current API process• Need for central solution to manage APIs requests from internal, partner or external customers• Etc.

Foundations on• API Economy• API Fundamentals• API Lifecycle Management• Collaboration Engineering

Related Work on• Existing API Portals• Current commercial API Management Tools

Design and Prototypical Implementation of a

Collaborative API Lifecycle Management

Web Application

Case Study includingExpert Interviews with

Industry Partner

Relevance RigorEnvironment IS Research Knowledge Base

BusinessNeeds

ApplicableKnowledge

Assess Refine

Application in theAppropriate Environment

Additions to theKnowledge Base

Adapted from Hevner, March, Park, & Ram. (2004). Design Science in Information Systems Research. MIS Quarterly, 28(1), 75. https://doi.org/10.2307/25148625

Page 7: Master‘s Thesis Final Presentation - Design and Evaluation

Collaborative API Lifecycle ManagementExtract from Conceptual Model

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 7

Page 8: Master‘s Thesis Final Presentation - Design and Evaluation

PrototypeStates and Activity Flow

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 8

Analysis Design

Proposal Submitted

Proposal Approval Requested

Proposal Approved

Proposal Rejected

Proposal Project Generatedrequest

approvalreview

proposal

[approve]

[reject]

generate project

!EA

!API

Consumer

!EA

"Dev Team

API First

!API

Consumer

!API

Consumer

Page 9: Master‘s Thesis Final Presentation - Design and Evaluation

PrototypeLive Demo

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 9

Page 10: Master‘s Thesis Final Presentation - Design and Evaluation

EvaluationExpert Interview Setting

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 10

Evaluation of the usability and utility of the proposed solution forCollaborative API Lifecycle ManagementGoal

System Usability Scale (SUS)

4 Open Qualitative Questions

Scenario 1: API Consumer

• Search for existing API proposal• Create new API proposal with details

like API Specification, SLAs, etc.

Scenario 2: API Provider

• Review API proposals• Prepare approved proposals for

handover

7 In

terv

iew

Par

tner

s (2

RA,

4 E

A, 1

SW

A)

Page 11: Master‘s Thesis Final Presentation - Design and Evaluation

EvaluationResults from SUS

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 11

S1 S2

Source for SUS Score Scale: Bangor, A., Kortum, P., & Miller, J. (2009). Determining What Individual SUS Scores Mean: Adding an Adjective Rating Scale. J. Usability Studies, 4(3), 114–123.

Page 12: Master‘s Thesis Final Presentation - Design and Evaluation

EvaluationResults from Qualitative Questions

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 12

Highlights

• General idea of a central entry point in form of a web portal

• Social features like comments and votes areuseful

• API Specification linter to pre-check violationshelps for unification and structure

• Automated project generation (Documentation, Repository, CI/CD Pipline)

• Integration of existing tools like Github

Enhancement Ideas

• Include a history tracker to record changes of a proposal

• Rethink the staging model and adapt to API Type• Provide more context information and examples

about constraints beforehand• Improve review system and provide possibilities

for iterations• Stronger focus on user-centered design for API

Consumer (data model, SDK, etc.)

Prototype provides Acceleration?

Prototype helpful for Collaboration?

YES

YESNEUTRAL

Page 13: Master‘s Thesis Final Presentation - Design and Evaluation

Conclusion

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 13

• Prototype to support the Collaborative API Lifecycle Management

• Collaboration features to align users and reach higher product quality

• Acceleration approach to facilitate life-cycle

Goal

• Requirements for conceptual model

• Collaborative API Lifecycle Management model

• Design and prototypical implement of main design artifact

• Evaluation in form of case study with expert interviews

Solution Approach

• Prototype is a viable solution

• API Linter provides flexible and simple governance check

• Acceleration through structured form, transparency and automation approach

• Collaboration features helpful, but require active commitment

• API First supported by architects, but doubted by developers

Key Findings

• Further DSR iterations and include feedback from 1st iteration

• Evaluation of prototype with other stakeholders from other companies

• Evaluation of conceptual model in other companies

• Increase usability by including Gamification and Machine Learning

• Consideration of further API protocols beside REST

Future Work

Page 14: Master‘s Thesis Final Presentation - Design and Evaluation

Thank you for your attention! J

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 15

Page 15: Master‘s Thesis Final Presentation - Design and Evaluation

Technische Universität MünchenFaculty of InformaticsChair of Software Engineering for Business Information Systems

Boltzmannstraße 385748 Garching bei München

Tel +49.89.289.Fax +49.89.289.17136

wwwmatthes.in.tum.de

Duc Huy BuiB.Sc.

[email protected]

Page 16: Master‘s Thesis Final Presentation - Design and Evaluation

Backup

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 17

Page 17: Master‘s Thesis Final Presentation - Design and Evaluation

• Sources for success factors (8)• API Management/Lifecycle (industry (2), academic papers (1))• Product Development (2)• (Enterprise-/IT-) Service Management (2)• Agile Software Development (1)

• Structure success factors into categories• Business• Organizational• Process• Technical

• Result: Consolidated table of requirements for API Lifecycle

• Example requirement: “Design for UX/DX” or “Top Management Support”

Collaborative API Lifecycle Management (CALM)Success Factors as Requirements from Literature

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 18

Page 18: Master‘s Thesis Final Presentation - Design and Evaluation

Collaborative API Lifecycle Management (CALM)The big picture of Full Lifecycle API Management

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 19

Page 19: Master‘s Thesis Final Presentation - Design and Evaluation

ExcursionDeming Circle (PDCA Lifecycle)

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 20

Source: Gemechu, E. D., Sonnemann, G., Remmen, A., Frydendal, J., & Jensen, A. A. (2015). How to Implement Life Cycle Management in Business? In G. Sonnemann & M. Margni (Eds.), Life Cycle Management (pp. 35–50). Dordrecht: Springer Netherlands.

Page 20: Master‘s Thesis Final Presentation - Design and Evaluation

ExcursionIT Service Lifecycle vs Software Development Lifecycle

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 21

Source: Pollard, C. E., Gupta, D., & Satzinger, J. W. (2009). Integrating SDLC and ITSM to “Servitize” Systems Development. AMCIS 2009.

Page 21: Master‘s Thesis Final Presentation - Design and Evaluation

PrototypeUse Cases

© sebis

20180910 Final Presentation Master's Thesis Duc Huy Bui

22

<< Subsystem >>CALM Web Portal Prototype

API Ops Team

API Provider

API Dev Team

Enterprise Architect

API Product Owner

Submit Proposal

View/Update Proposal

Validate Specification in Proposal

<< include >>

Provide API Proxy

<< extend >>

View / Update Documentation

Provide Documentation

<< extend >>

Provide Sandbox Environment

API Program Manager

<< include >>

View Status of all API Programs

New API Proposal

Define SLA Requirements

Setup API DevOps Environment

KEY FUNCTIONALITIES

Project Management

Proposal Management

Governance Management

DevOps Management

1

2

4

5

2

2

2

4

5

5

5

5

5

2

Get Approval from Decision Makers

1

1

Collaborate on Proposal

<< include >>2

API Architect

API ConsumerPartner

Internal Employee

External User

Comment System

Voting System

API MockAPI First

Collaboration Features

Structured Form

Project Generation

Acceleration Features

Basis forPrototype

Page 22: Master‘s Thesis Final Presentation - Design and Evaluation

PrototypeFurther Possible Use Cases

<< Subsystem >>CALM Web Portal

Security Team

API Ops Team

API Provider

API Dev Team

Enterprise Architect

API Consumer

API Product Owner

Submit Proposal

View/Update Proposal

Validate Specification in Proposal

<< include >>

Provide API Proxy

Partner

Internal Employee

<< extend >>

View / Update Documentation

Provide Documentation

<< extend >>

View Governance Requirements

View API Analytics

Manage API Versions

Monitor API Metrics

<< include >>

Support Auditing

<< extend >>

Provide Sandbox Environment

User Notification

<< include >>

Condition:{API updated,

deprecated or retired}

API Program Manager

<< include >>

View Status of all API ProgramsChange Request

ProposalNew API Proposal

Generate Analytics Reports

<< extend >>

View Security Test Results

Define SLA Requirements

Generate Decision Reports

Personal Tasklist

Submit API for Security Check

Setup API DevOps Environment

Search for an existing API

Subscribe to existing API

<< extend >>

KEY FUNCTIONALITIES

Project Management

Proposal Management

API Subscription Management

Governance Management

DevOps Management

Security

Analytics

Version Management

1

2

3

4

5

6

7

8

1

2

2

2

3

3

4

4

5

5

5

5

5

6

6

1

7

77

7

8

8

2

2

Get Approval from Decision Makers

1

1

Collaborate on Proposal

<< include >>

2

API Architect

External User

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 23

Page 23: Master‘s Thesis Final Presentation - Design and Evaluation

PrototypeRBAC Model

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 24

Page 24: Master‘s Thesis Final Presentation - Design and Evaluation

PrototypeArchitecture

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 25

<< Subsystem >>

Tools

<< Component >>

SCM

<< Subsystem >>

API Gateway

<< Component >>

API Proxy

<< Subsystem >>

Service Platform

<< Service >>

Proposal Management<< Service >>

API Specification Linter

<< Subsystem >>

Identity Management System

<< Component >>

Authentication

<< Subsystem >>

Web Application Prototype

<< Application >>

Backend for Frontend

<< Application >>

User Interface

File Server Database

<< Component >>

CI/CD

Page 25: Master‘s Thesis Final Presentation - Design and Evaluation

PrototypeData Model

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 26

Continuous Integration and Continuous Delivery

Proposal

apiName: Stringcompany: Stringtimeline: Stringpricing: Numbercategory: Categorykeywords: Stringdescription: Stringstage: Stagestatus: Statusvotes: NumberdecisionReport: FileapiSpec: FileapiSandbox: StringapiProxy: StringapiDoc: StringapiRepo: StringrelatedFiles: Fileslas: Object[0..*]has_approval_request: Booleanis_reviewed: Booleanreviewed_by: Usercreated_at: Dateupdated_at: Date

name: Stringdomain_team_id: Domain Team

Category

name: Stringpassword: Stringdomain: Categoryproposals: Proposal[0..*]votedProposals: Proposal[0..*]has_role: Rolecreated_at: Dateupdated_at: Date

User

name: Stringurl: String

Domain Team

name: Stringurl: String

Pipeline

1

1 *

*

0..1

* *

userproducermanageradmin

«Enum» Role

AnalysisDesignDevTestSecurityDeploymentAnalyticsOperationsRetirement

«Enum»Stage

proposals

*

votedProposals

domain

In ProgressApprovedRejected

«Enum»Status

domain_team_id 1

name: Stringowner: Stringurl: String

Repository

name: Stringurl: String

Organisation

category

11

Web Application

Source Code Management

1

1

1..*

1

*

apiRepo 1

1 1

File Server

name: Stringurl: String

File

*

apiSpec

relatedFilesdecisionReport

Page 26: Master‘s Thesis Final Presentation - Design and Evaluation

EvaluationInterview Partners

© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 27