Task Pattern to support Task-centric Social Software Engineering

  • View

  • Download

Embed Size (px)


These are the slides to our paper presented at this year's SIRTEL workshop in Aachen, Germany.

Text of Task Pattern to support Task-centric Social Software Engineering

  • 1.Task Pattern to Support Task-Centric Social Software Engineering Benedikt Schmidt, SAP Research CEC DarmstadtWolfgang Reinhardt, University of Paderborn 21. August 2009 Workshop on Social Information Retrieval in Technology Enhanced Learning (SIRTEL) 2009


  • Motivation
  • Tasks and Task Patterns
  • Task Patterns to support task-centric software development
  • Outlook

Agenda 2009 / Page 3. Motivation Software Development and Tasks2009 / PageConnect to flickr API Include Plug-in to RCP How to make UI Build Plug-In to manage del-icio-usBookmarks in RCP application Task Decomposition Knowledge intensive processes Production Retrieval & Consumption Organization Developer 4. Motivation What now? 2009 / PageCollecting, distributing and structuring community knowledge in a task-centric manner Product process complementarity NOT: structure in detail, See [Schmidt,Riss09] Automation of creation/access Software development domain 5. Social Software Engineering

    • Aspects
    • Software Engineering as knowledge work, as teamwork
    • Experts exist, but not at hand
    • Very specific problems
    • Complex domain with tons of specializations and different expertise
    • Chances
    • [Social Software] Engineering vs. Social [Software Engineering]
      • Community of developers
      • Understanding SE as a social process
    • Need for assisted knowledge sharing
      • Enhance transparency and (personal/artifact) awareness in software teams

6. SIR in Social Software Engineering 2009 / Page

    • Information as externalized artifacts and personal expertise
    • SIR can allow the retrieval of stored data or domain experts
    • Already different methods and techniques applied
      • Collaborative filtering
      • Social bookmarking
      • Recommender systems
      • Social search
  • SIR why? come from to information and to knowledge
    • Information: syntactic/semantic dimension is not enough [Peirce]
    • Knowledge: rational capacity, action oriented [Dretske, Polanyi, Kern], problem oriented

7. Process and Product in Software Development Task Execution 2009 / PageExternalization of tasks is key to support Weakly-structured, iterative, unpredictable process Product Code Problem Solving Knowledge Collection Coding Organization

    • Share contextualized information to enable knowledge building
    • Take process and product seriously
      • Software Development product process complementarity [Floyd]

SIR in Software Development 8. Information Retrieval in Software Engineering 2009 / PageIdea of a structure which balances different information requirements

    • Difficulty:
      • Knowledge Requirements are individual
      • Different knowledge levels require different material to learn
        • Abstract information
        • Concrete information
    • Solved by:
      • Ask colleagues
      • Just read everything

9. Tasks in Software Development

    • Tasks in Software engineering:
      • Support structured decomposition of tasks
      • Easy integration of ticket systems
      • Accelerate access to code resources
    • Frequently used plug-ins to Eclipse IDE: MyLyn

Task List Highlighted Code Resoruces to task Filter by task 10. Going beyond MyLyn

    • MyLyn supports the coding process
    • What about the process of knowledge acqusition, organization, etc.
      • Tasktop completes the picture
      • Holistic support of the software development process with information objects in the PC
    • so everythings all right?
      • No as the knowledge is not re-used

Resource List in Tasktop Require re-use structure 11. Task Pattern

    • Task Patterns are:
    • Structure for experience management learn how to execute a programming task
    • Cluster tasks with similar goal in similar context
    • Giving meaning of heterogeonous resources in task context
    • Abstraction Services realize different abstraction degrees: instance, concept, example
    • Decisions/Directions to identify execution scope
    • Problems/Solutions to address deviations
    • Task Pattern execute a life-cycle

Task Pattern life-cycle Task Pattern structure 12. How to re-use

    • Tasktop:
      • Hints to:
        • knowledge acquisition and organization process
        • Clusters with respect to sense in the task context (manually)
    • MyLyn: Software as task product
      • First step:Create Examples
      • Vision:abstract from examples and create very domain specific patterns

13. What does it mean for the Task Pattern structure

    • Extend to differentiate between process and product
      • Abstraction Services as described in [Schmidt, Riss 2009]
        • Information Abstraction Service
        • Person Abstraction Service
        • Subtask Abstraction Service
      • Additionally an Abstraction Service for the product: Code Abstraction Service
    • Provide an access layer for Task Pattern in an IDE
      • Retrieve Task Pattern
      • Instantiate Task Pattern
      • Create / Enhance Task Pattern

14. How does it look like? Eclipse plug-in Information AbstractionService Code AbstractionService

    • Task Pattern functionalities for the task-side bar in eclipse
    • Plug-in for interaction with code abstraction Service
      • Organize contexts
      • Easy copy-paste

15. Difficulties 2009 / Page

    • Identify domain scope, context of a pattern
    • Classify or categorize
    • May be:
      • Make categories from free text names
      • Systemic functional grammar

16. Conclusion

    • Outlook
    • Currently a master thesis to realize the concept is running
    • Apply it to university courses which each year extend a given software , the MoKEx project
    • the knowledge is lost each year
    • Summary
    • Show application area of Task Pattern in very specific area
    • Benefit of Task-centric organization of work with respect to user support

17. SAP 2009 / PageThank you!... Lets discuss 18.

  • Floyd, Christiane: Outline of a paradigm change in software-engineering.
  • Polanyi, M.: The tacit dimension
  • Dretske, F.: Knowledge and the flow of information