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

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

Embed Size (px)

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.

Citation preview

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