An Exploratory Study of Sharing Strategic Programming Knowledge

Open-Source Collaboration & Code ReviewKnowledge Worker Tools & WorkflowsPrototyping & User TestingSoftware Engineers & DevelopersHCI Researchers

Title of the Paper

An Exploratory Study of Sharing Strategic Programming Knowledge

Paper Information

  • Subject Area: Knowledge sharing and programming strategies in software engineering
  • Keywords: Programming strategies, knowledge sharing, software engineering, human-computer interaction design, strategy feedback platform

Research Background and Issues

  • Identified Problems or Challenges: Software engineers generally lack shared "strategic knowledge" for solving programming problems, despite its critical importance for productivity and success. Current knowledge sharing primarily focuses on code examples, configuration tips, or tutorials for new technologies, without addressing the specific steps for problem-solving.
  • Significance: Strategic knowledge can effectively enhance development efficiency, task success rates, reduce errors, and structure the development process. However, this type of knowledge often resides in the expertise of individuals, making it difficult to externalize or systematize.
  • Research Motivation and Related Work: Other fields, such as healthcare, military, and civil engineering, have achieved significant benefits by externalizing strategic knowledge. However, the programming field lacks such systematic sharing, either due to the implicit nature of the knowledge or the absence of suitable platform support. Existing research indicates that explicit programming strategies can help developers become more efficient, but sharing this knowledge faces numerous obstacles.

Solution

  • Proposed Method or Solution: A research method was proposed to simulate a platform for sharing programming strategy knowledge. Participants included experienced developers writing strategies, other developers using these strategies and providing feedback, and the authors refining the strategies based on the feedback.
  • Innovations:
    • Validating whether programming strategies can be externalized through tasks and experiments.
    • Introducing a structured strategy language, Roboto, to help developers express strategies in a clear and systematic manner.
    • Collecting user feedback to explore ways to improve the strategies.
  • Implementation Steps and Techniques:
    1. Task Design: Selecting common frontend development tasks, such as performance optimization, error handling, CSS debugging, etc.
    2. Strategy Creation: Developers use the Roboto language to write clear, step-by-step programming strategies.
    3. Strategy Testing: Other developers use the strategies to complete specified tasks and provide feedback on their usage.
    4. Feedback Improvement: The authors analyze user feedback and adjust the strategy language and content accordingly.

Research Findings

  • Specific Results Achieved:
    • All participants were able to externalize programming strategies, with an average strategy length of 34 lines.
    • Strategies helped developers solve problems more systematically, though challenges such as user misunderstanding and insufficient information were identified.
  • Comparison with Existing Solutions and Advantages: Programming strategies can be externalized into clear steps, differing from typical code sharing by being closer to the problem-solving process of developers. However, this requires significant effort from authors and substantial user feedback.
  • Experimental or Evaluation Results:
    • Authors encountered 22 challenges in strategy creation (scope, user perspective, language usage, etc.).
    • Users faced 11 difficulties in using the strategies (unclear steps, tool usage issues, etc.).
    • Authors faced 7 challenges when reviewing feedback during strategy refinement.
  • Limitations and Future Directions:
    • The experiment was limited to a simulated platform, and real-world knowledge-sharing scenarios may be more complex.
    • The Roboto language requires further improvement to provide stronger expressive capabilities and tool support.
    • The strategy creation workflow needs optimization to reduce the burden on authors.
    • The study suggests involving supervisory teams and teaching experience to enhance the creation process.
    • Future work may include developing better strategy search or linking systems to personalize matches to users' knowledge levels and needs.

This study highlights the potential of sharing programming strategy knowledge and provides important insights for designing supportive mechanisms and platforms.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/chi/68750/2022

AdRecommended

Learn AI Coding at CodeNow

open_in_newOpen DOI Link
DOI: https://dl.acm.org/doi/abs/10.1145/3491102.3502070
At a Glance

Paper Snapshot

fact_check
dataset
Source
CHI
calendar_month
Year
2022
emoji_events
Award
No award tagged
group
Authors
4 authors
sell
Subtopics
Open-Source Collaboration & Code Review, Knowledge Worker Tools & Workflows, Prototyping & User Testing
work
Professions
Software Engineers & Developers, HCI Researchers
article
Content Status
Full text indexed
hub
Related Papers
5 related papers