Upload
wolfgang-reinhardt
View
778
Download
0
Embed Size (px)
DESCRIPTION
These are the slides to our paper presented at this year's SIRTEL workshop in Aachen, Germany.
Citation preview
Task Pattern to Support Task-Centric Social Software Engineering
Benedikt Schmidt, SAP Research CEC Darmstadt Wolfgang Reinhardt, University of Paderborn21. August 2009
Workshop on Social Information Retrieval in Technology Enhanced Learning (SIRTEL) 2009
2009 / Page 2
1. Motivation
2. Tasks and Task Patterns
3. Task Patterns to support task-centric software development
4. Outlook
Agenda
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
Motivation – Software Development and Tasks
2009 / Page 3
Connect to flickr APIConnect to flickr API Include Plug-in to RCPInclude Plug-in to RCPHow to make UIHow to make UI
Build Plug-In to manage del-icio-us Bookmarks in RCP application
Build Plug-In to manage del-icio-us Bookmarks in RCP application
Tas
k D
ecom
posi
tion
Tas
k D
ecom
posi
tion
Kno
wle
dge
inte
nsiv
e pr
oces
ses
Kno
wle
dge
inte
nsiv
e pr
oces
ses
Production
Retrieval & ConsumptionOrganization
Developer
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
Motivation – What now?
©2009 / Page 4
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
SIR in Social Software Engineering
2009 / Page 6
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
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
Task ExecutionTask Execution
Process and Product in Software Development
2009 / Page 7
Externalization of tasks is key to supportExternalization of tasks is key to support
Weakly-structured, iterative, unpredictable processWeakly-structured, iterative, unpredictable process ProductProduct
CodeCodeProblemSolvingProblemSolving
KnowledgeCollectionKnowledgeCollection CodingCodingOrganizationOrganization
Share contextualized information to enable knowledge building Take process and product seriously
Software Development product process complementarity [Floyd]
SIR… in Software DevelopmentSIR… in Software Development
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
Information Retrieval in Software Engineering
2009 / Page 8
Idea of a structure which balances different information requirementsIdea 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”
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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 structureRequire re-use structure
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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”
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
Difficulties
2009 / Page 15
Identify domain scope, context of a pattern Classify or categorize
May be: Make categories from free text names Systemic functional grammar
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
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
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
© SAP 2009 / Page 17
Thank you!... Let’s discuss…
MotivationMotivation Tasks and Task PatternTasks and Task Pattern Support task-centric Software engineeringSupport task-centric Software engineering ConclusionConclusion
Floyd, Christiane: Outline of a paradigm change in software-engineering.
Polanyi, M.:The tacit dimension
Dretske, F.: Knowledge and the flow of information