• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Task Pattern to support Task-centric Social Software Engineering

Task Pattern to support Task-centric Social Software Engineering



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

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



Total Views
Views on SlideShare
Embed Views



2 Embeds 10

http://isitjustme.de 9
http://www.slideshare.net 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Task Pattern to support Task-centric Social Software Engineering Task Pattern to support Task-centric Social Software Engineering Presentation Transcript

    • Task Pattern to Support Task-Centric Social Software Engineering Benedikt Schmidt, SAP Research CEC Darmstadt Wolfgang 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
    • Motivation – Software Development and Tasks 2009 / Page Connect to flickr API Include Plug-in to RCP How to make UI Build Plug-In to manage del-icio-us Bookmarks in RCP application Task Decomposition Knowledge intensive processes Production Retrieval & Consumption Organization Developer
    • Motivation – What now? ©2009 / Page Collecting, 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
    • 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
    • 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
    • Process and Product in Software Development Task Execution 2009 / Page Externalization 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
    • Information Retrieval in Software Engineering 2009 / Page Idea 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”
    • 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
    • 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
    • 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
    • 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”
    • 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
    • How does it look like? …Eclipse plug-in Information Abstraction Service Code Abstraction Service
        • Task Pattern functionalities for the task-side bar in eclipse
        • Plug-in for interaction with code abstraction Service
          • Organize contexts
          • Easy copy-paste
    • Difficulties 2009 / Page
        • Identify domain scope, context of a pattern
        • Classify or categorize
        • May be:
          • Make categories from free text names
          • Systemic functional grammar
    • 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
    • © SAP 2009 / Page Thank you!... Let’s discuss…
      • Floyd, Christiane: Outline of a paradigm change in software-engineering.
      • Polanyi, M.: The tacit dimension
      • Dretske, F.: Knowledge and the flow of information