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

Post on 27-Jan-2015

114 views 1 download

Tags:

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 of 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

©W.Maalej,Mai2010

Execu$veSummary

Assis$ngEngineersinSwitchingAr$facts 2

Weproposeacontext‐awareswitchingapproachbasedontaskseman6csandinterac6onhistory

2

Currentdesktopenvironmentslackthesupportforswitchingbetweenar6factsduringengineers’work

1

©W.Maalej,Mai2010 3

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

Assis$ngEngineersinSwitchingAr$facts

©W.Maalej,Mai2010

ExampleofToolsandAr$factsUsedinaBugFixingScenario(iPhoneApp)

Assis$ngEngineersinSwitchingAr$facts 4

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

©W.Maalej,Mai2010

PostponedTasksLeadtoEvenMoreWindows

Assis$ngEngineersinSwitchingAr$facts 6

©W.Maalej,Mai2010

©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

©W.Maalej,Mai2010 9

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

Assis$ngEngineersinSwitchingAr$facts

©W.Maalej,Mai2010

TheGoalistoAssistEngineersSwitchingBetweenAr$facts

Assis$ngEngineersinSwitchingAr$facts 10

Detectanduseengineer’scontext

Thesystemrecommendsar6factsneedednext

1

Engineerscaneasilyselectthear6factfromthesetof

recommenda6ons

2

Thear6factisshownnomaAerwhetheritisopenofclosed

3

©W.Maalej,Mai2010

WhatisEngineer’sContext?

Assis$ngEngineersinSwitchingAr$facts 11

TaskSeman6cs(UniversalDimension)

Interac6onHistory(PersonalDimension)

Context

©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

©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

©W.Maalej,Mai2010 14

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

Assis$ngEngineersinSwitchingAr$facts

©W.Maalej,Mai2010

OverallArchitecture

Assis$ngEngineersinSwitchingAr$facts 15

Switch!

©W.Maalej,Mai2010

OverallRecommenda$onProcess

Assis$ngEngineersinSwitchingAr$facts 16

Calculatetherelevanceofeachar$facttoswitchto

Findsuitable ar$facttypesbasedontaskseman$cs

1 2

©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

©W.Maalej,Mai2010

UIPrinciple1:GroupToolsbyPurposes

Assis$ngEngineersinSwitchingAr$facts 18

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

UIPrinciple2:RankAr$factsinEachToolGroup

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

UIPrinciple3:Ar$factsClickablebyMouseandKeyboard

©W.Maalej,Mai2010 21

Outline

PreliminaryEvalua$onandOutlook

OurContext‐AwareApproach

TheSystem:Switch!

TheSwitchingProblem

2

1

3

4

FromWorkToWord

©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)

©W.Maalej,Mai2010

PaperPrototype‐Example

Assis$ngEngineersinSwitchingAr$facts 23

©W.Maalej,Mai2010

PaperPrototype‐Findings

Assis$ngEngineersinSwitchingAr$facts 24

Subjectsconfirmedtheswitchingproblemandappreciatedourcontext‐awareapproach(5of7subjectswoulduseSwitch!)

1

Subjectsneededtogetusedtotheuserinterfaceconcepts(avg.<5min.)

2

Subjectswantedtounderstandrecommenda6onra$onale

3

Mostsubjectshadprivacyconcernsduetothesystemwidecontextobserva6on

4

©W.Maalej,Mai2010

ConclusionandFutureWork

Assis$ngEngineersinSwitchingAr$facts 25

Developersencounterfrequentproblemswhile

switchingbetweenar6facts

Ourcontext‐awareapproachseemstobeappropriatefor

addressingswitchingproblems

ExtendSwitch!toothertasktypesand

evaluateitinindustrialseangs

Improverecommenda6onsbydetec6ngthetaskchange

Makeprivacyandusabilityafistorderconcernincontext‐

awarerecommenda6on

1 2

3 4 5

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

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

AlexanderSahmTUM

sahm@cs.tum.edu

WalidMaalejTUM

maalejw@cs.tum.edu

hAp://TeamWeaver.org