View Item 
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        Browse

        All of UU Student Theses RepositoryBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

        Simplifying the Complex: Strategies to reduce existing API Complexity using CPS techniques

        Thumbnail
        View/Open
        MS_THESIS_THOMAS__Publishable_.pdf (943.5Kb)
        Publication date
        2023
        Author
        Nolst Trenité, Thomas
        Metadata
        Show full item record
        Summary
        Software 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.
        URI
        https://studenttheses.uu.nl/handle/20.500.12932/44009
        Collections
        • Theses
        Utrecht university logo