Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorKosch, T.A.
dc.contributor.authorNolst Trenité, Thomas
dc.date.accessioned2023-06-20T00:00:46Z
dc.date.available2023-06-20T00:00:46Z
dc.date.issued2023
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/44009
dc.description.abstractSoftware development plays a crucial role in driving technological advancements and fostering innovation across industries. However, the ever-increasing complexity in software systems poses significant challenges. This research aims to explore the origins of software complexity and develop strategies to mitigate it. Specifically, it investigates software complexity through the lens of Complex Problem Solving (CPS) and Software Comprehension, areas that have received limited attention thus far. The study focuses on API integration, a common area of software development, and examines two strategies (strategy A and B). These strategies incorporate the CPS techniques decomposition and Lean Thinking to address different dimensions of complexity inherent in API software. In a user study (N=30), participants had to retrieve data from an API platform and use it to build small conceptual prototype applications. Metrics related to time, successfulness in task and (perceived) effectiveness were utilized to assess the impact of the strategies on reducing interface and system complexity. The findings reveal how strategy A significantly reduces task completion times and the time required for the initial API call. Moreover, strategy A demonstrates superior performance compared to the baseline in metrics related to complexity. This highlights the effectiveness of concepts from Lean Thinking in reducing software complexity. Strategy B shows promising results in supporting developers’ individual completion of API integration tasks and facilitating software comprehension by providing tailored learning materials suitable for common-sense learners. On the whole, developers expressed high levels of satisfaction with the effectiveness of both strategies in achieving their respective goals. This research establishes a foundation for enhanced interaction with complex software systems, opening avenues for future studies to explore more effective support strategies. The outcomes contribute to the advancement of software development practices and offer valuable insights for improving ease of use and reducing complexity in software systems.
dc.description.sponsorshipUtrecht University
dc.language.isoEN
dc.subjectDe scriptie onderzoekt hoe hedendaagse technieken voor het oplossen van complexe problemen geïmplementeerd kunnen worden in strategieën om software complexiteit te verminderen.
dc.titleSimplifying the Complex: Strategies to reduce existing API Complexity using CPS techniques
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordssoftware;complexity;api;comprehension;developer experience;hci;complex problem solving;
dc.subject.courseuuHuman-Computer Interaction
dc.thesis.id17466


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record