Master‘s Thesis Final Presentation - Design and Evaluation ...
Transcript of 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
Outline
1. Motivation2. Research Questions3. Research Approach4. Conception5. Prototype6. Evaluation7. Conclusion
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 2
§ 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
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.
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
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
Collaborative API Lifecycle ManagementExtract from Conceptual Model
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 7
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
PrototypeLive Demo
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 9
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)
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.
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
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
Thank you for your attention! J
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 15
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.
Backup
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 17
• 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
Collaborative API Lifecycle Management (CALM)The big picture of Full Lifecycle API Management
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 19
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.
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.
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
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
PrototypeRBAC Model
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 24
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
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
EvaluationInterview Partners
© sebis20180910 Final Presentation Master's Thesis Duc Huy Bui 27