assisting engineers in switching artifacts by using task semantic and interaction history

26
Assis$ng Engineers in Switching Ar$facts Walid Maalej and Alexander Sahm Technische Universität München, Germany by using Task Seman$cs and Interac$on History RSSE’10, Cape Town, South Africa, Mai 2010

Upload: walid-maalej

Post on 27-Jan-2015

110 views

Category:

Documents


1 download

DESCRIPTION

Abstract Recent empirical studies show that software engineers use 5 tools and 14 artifacts on average for a single task. As development work is frequently interrupted and several simultaneous tasks are performed in parallel, engineers need to switch many times between these tools and artifacts. A lot of time gets wasted in repeatedly locating, reopening or selecting the right artifacts needed next. To address this problem we introduce Switch!, a context-aware artifact recommendation and switching tool. Switch! assists engineers in switching artifacts based on the type of the development task and the interaction history.

TRANSCRIPT

Page 1: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

Assis$ngEngineersinSwitchingAr$facts

WalidMaalejandAlexanderSahm

TechnischeUniversitätMünchen,Germany

byusingTaskSeman$csandInterac$onHistory

RSSE’10,CapeTown,SouthAfrica,Mai2010

Page 2: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

Execu$veSummary

Assis$ngEngineersinSwitchingAr$facts 2

Weproposeacontext‐awareswitchingapproachbasedontaskseman6csandinterac6onhistory

2

Currentdesktopenvironmentslackthesupportforswitchingbetweenar6factsduringengineers’work

1

Page 3: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 3

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

Assis$ngEngineersinSwitchingAr$facts

Page 4: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

ExampleofToolsandAr$factsUsedinaBugFixingScenario(iPhoneApp)

Assis$ngEngineersinSwitchingAr$facts 4

Page 5: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 5

Page 6: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

PostponedTasksLeadtoEvenMoreWindows

Assis$ngEngineersinSwitchingAr$facts 6

Page 7: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

Page 8: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

CurrentDesktopEnvironmentsHaveFourShortcomings

Assis$ngEngineersinSwitchingAr$facts 8

TheSwitchingProblem

Windowsofdifferenttasksaremixed

TaskirrelevantwindowscreateascreencluAer

Thecontextofprevioussessionsislost

Locatethear6factswhenresumingtasks

Switchingbetweenwindowsinsteadofar$facts

Mul6‐layerswitching:firstthewindowsthenthear6fact

Differentworkflowsforopenandclosedar$facts

Checkifthear6factisopen,ifnot:findit,openit

Moredetails:W.Maalej,Task‐FirstorContext‐First?ToolIntegra6onRevisited.InIEEE/ACMASE2009

Page 9: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 9

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

Assis$ngEngineersinSwitchingAr$facts

Page 10: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

TheGoalistoAssistEngineersSwitchingBetweenAr$facts

Assis$ngEngineersinSwitchingAr$facts 10

Detectanduseengineer’scontext

Thesystemrecommendsar6factsneedednext

1

Engineerscaneasilyselectthear6factfromthesetof

recommenda6ons

2

Thear6factisshownnomaAerwhetheritisopenofclosed

3

Page 11: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

WhatisEngineer’sContext?

Assis$ngEngineersinSwitchingAr$facts 11

TaskSeman6cs(UniversalDimension)

Interac6onHistory(PersonalDimension)

Context

Page 12: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

TaskSeman$cs(UniversalDimension)

Assis$ngEngineersinSwitchingAr$facts 12

What?

Why? •  Aclassifica$onofsoXware

engineeringtasks(bug

fixing,implementa6on,specifica6on,modeling,

collabora6on…)

•  Asharedcommon

understandingofeachtask

type(ontology)

•  Tomodeltooltypesand

ar$facttypesandassociate

themtotasktypes

•  Example:Ates6ngtooland

testdocumentsarerather

usedduringtes6ngtasks

thanduringmodelingtasks

Page 13: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

Interac$onHistory(PersonalDimension)

Assis$ngEngineersinSwitchingAr$facts 13

What?

Why?

•  Tomodelthepersonal

switchinghabitsandneed

ofengineers

•  Example:Anengineer

maintainsaTo‐dolistintext

documentinsteadintask

managementsystem

•  Theengineer’sinterac6oninherworkplace(desktop

environment)

•  Individualworkhabits•  Preferredtools•  Preferredar6facts

Page 14: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 14

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

Assis$ngEngineersinSwitchingAr$facts

Page 15: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

OverallArchitecture

Assis$ngEngineersinSwitchingAr$facts 15

Switch!

Page 16: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

OverallRecommenda$onProcess

Assis$ngEngineersinSwitchingAr$facts 16

Calculatetherelevanceofeachar$facttoswitchto

Findsuitable ar$facttypesbasedontaskseman$cs

1 2

Page 17: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

Recommenda$onHeuris$cs

Assis$ngEngineersinSwitchingAr$facts 17

Dura$on

Frequency

SwitchedTo

Relevance

The6meinsecondstheusageofanar6factbytheengineer

The usage frequency of an artifact by the engineer

Thenumberofswitchesbetweentwoar6facts

Therelevanceofthear6factforthisswitch

Page 18: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

UIPrinciple1:GroupToolsbyPurposes

Assis$ngEngineersinSwitchingAr$facts 18

Page 19: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 19

UIPrinciple2:RankAr$factsinEachToolGroup

Page 20: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 20

UIPrinciple3:Ar$factsClickablebyMouseandKeyboard

Page 21: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 21

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

FromWorkToWord

Page 22: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

PreliminaryEvalua$on

Assis$ngEngineersinSwitchingAr$facts 22

Internalevalua$onofSwitch!prototype

Paperprototypeexperiment

•  Internaluseforcurrentlysupportedtasktypes(workinprogress)

•  Switch!Supportsbugfixing,tes6nganddocumen6ng

•  Currentversionhandlessourcecode,PDFs,emails,textdocuments,andwebpages

•  Paperprototypeexperiment

•  CreatedfromprintedSwitch!userinterface

•  Conductedwith7experiencedsoXwareengineers(fromEquinux&MacInTUM)

Page 23: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

PaperPrototype‐Example

Assis$ngEngineersinSwitchingAr$facts 23

Page 24: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

PaperPrototype‐Findings

Assis$ngEngineersinSwitchingAr$facts 24

Subjectsconfirmedtheswitchingproblemandappreciatedourcontext‐awareapproach(5of7subjectswoulduseSwitch!)

1

Subjectsneededtogetusedtotheuserinterfaceconcepts(avg.<5min.)

2

Subjectswantedtounderstandrecommenda6onra$onale

3

Mostsubjectshadprivacyconcernsduetothesystemwidecontextobserva6on

4

Page 25: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010

ConclusionandFutureWork

Assis$ngEngineersinSwitchingAr$facts 25

Developersencounterfrequentproblemswhile

switchingbetweenar6facts

Ourcontext‐awareapproachseemstobeappropriatefor

addressingswitchingproblems

ExtendSwitch!toothertasktypesand

evaluateitinindustrialseangs

Improverecommenda6onsbydetec6ngthetaskchange

Makeprivacyandusabilityafistorderconcernincontext‐

awarerecommenda6on

1 2

3 4 5

Page 26: Assisting Engineers in Switching Artifacts by using Task Semantic and Interaction History

©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 26

Feedback,Ques$ons,Sugges$onsandCollabora$onareWelcomed!

AlexanderSahmTUM

[email protected]

WalidMaalejTUM

[email protected]

hAp://TeamWeaver.org