SlideShare ist ein Scribd-Unternehmen logo
1 von 11
A Hub-and-Spoke Model for Tool
Integration
in Distributed Development
Fabio Calefato, Filippo Lanubile
University of Bari, Italy
ICGSE’16
Orange County, California – USA, August 2-5, 2016
Challenges for
SW Developers
• Growing plethora of
tools need to manages
SW projects
– API, source code,
emails, build &
deployment updates,
social media, …
– Continual stream of
updates
• Information overload
– Channel overload
– Information
fragmentation
Hub-and-Spoke Model @ ICGSE'16
Information  Awareness
• Keeping up with
updates as time-
consuming as vital
• Information helps
developer maintain
awareness
• Developers seek info
on coworkers, tasks,
and artifacts
– Informal
– Social
– Group-structural
– Workspace
Situational
awareness
“An understanding of the activities of
others, which provides a context for
your own activity” [1]
“A state of mind where people are
aware of elements in their
immediate environments” [2]
[1] Dourish & Bellotti. “Awareness and coordination in shared workspaces.” (CSCW '92)
[2] Baysal et al. “Situational awareness: personalizing issue tracking systems.” (ICSE '13)
Solution
• Tool Integration
• Wasserman’s definition of integrated
environment [3]
– “One platform that allows project teams to control
the entire process and its data through a
common presentation layer”
– E.g., IDEs
– From heavyweight to lightweight integration
[3] A.I. Wasserman. “Tool integration in software engineering environments” LNCS, Vol. 647, 1989
Hub-and-Spoke Model
CD hub
CI hub
Communication
hub
hub tool
satellite tool
bidir. communication
unidir. communication
filtering
Team
messages
Build
notification
Code change
notification
Test
notification
Monitoring & Analytics
alert
Delivery
notification
Deployment
notification
Issue change
notification
E-mail
notification
Commands
Case Study Scenario
Foobar
• Software enterprise
• Global Software
Development
• SaaS product
• Spreading DevOps
Hub-and-Spoke Model @ ICGSE'16
Instance for Java projects
@Foobar
CI hub
Communication
hub
CD hub
Build
notification
Code change
notification
Issue change
notification
Test
notification
E-mail
notification
ChatOps
Commands
Team
messages
Why Slack as
Communication Hub
• Built-in search
capability
• IFTTT/Zapier for if-
then rules
• Hundreds of built-in
tool integrations
• Slack API for custom
integrations
– Web API
– Real Time Messaging
– Incoming/Outgoing
Webhooks
– Slash Commands
– Bots
8Hub-and-Spoke Model @ ICGSE'16
It is not necessarily Slack
Hub-and-Spoke Model @ ICGSE'16
Ongoing & Future work
• Complete the model instantiated for Foobar
– Slack/Ansible connection
– Smart notification filtering (e.g., bots, NLP, AI…)
• Need for repeated industrial case studies
– Companies with different backgrounds
– Common framework of analysis for comparing
results
Hub-and-Spoke Model @ ICGSE'16
Thanks!
Questions?
fabio.calefato@uniba.it
http://collab.di.uniba.it/research

Weitere ähnliche Inhalte

Ähnlich wie A Hub-and-Spoke Model for Tool Integration 
in Distributed Development

Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOpsGordon Haff
 
Learning Open Source through GSOC
Learning Open Source through GSOC Learning Open Source through GSOC
Learning Open Source through GSOC smarru
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018UX Antwerp Meetup
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanDicodingEvent
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesDaniel S. Katz
 
openEQUELLA Q3 2018 Quarterly Briefing
openEQUELLA Q3 2018 Quarterly BriefingopenEQUELLA Q3 2018 Quarterly Briefing
openEQUELLA Q3 2018 Quarterly BriefingChrisBeach22
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSAmazon Web Services
 
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”Cisco DevNet
 
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSOpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSDaniel Krook
 
EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS Kenzan
 
JCConf.tw 2022 - DevOps for Java developers
JCConf.tw 2022 - DevOps for Java developersJCConf.tw 2022 - DevOps for Java developers
JCConf.tw 2022 - DevOps for Java developersIxchel Ruiz
 
An Overview Of The Singularity Project
An  Overview Of The  Singularity  ProjectAn  Overview Of The  Singularity  Project
An Overview Of The Singularity Projectalanocu
 
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10TechSoup
 

Ähnlich wie A Hub-and-Spoke Model for Tool Integration 
in Distributed Development (20)

Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOps
 
Duc le CV
Duc le CVDuc le CV
Duc le CV
 
Learning Open Source through GSOC
Learning Open Source through GSOC Learning Open Source through GSOC
Learning Open Source through GSOC
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community Responses
 
openEQUELLA Q3 2018 Quarterly Briefing
openEQUELLA Q3 2018 Quarterly BriefingopenEQUELLA Q3 2018 Quarterly Briefing
openEQUELLA Q3 2018 Quarterly Briefing
 
Os Long
Os LongOs Long
Os Long
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWS
 
2016 open-source-network-softwarization
2016 open-source-network-softwarization2016 open-source-network-softwarization
2016 open-source-network-softwarization
 
2016 open-source-network-softwarization
2016 open-source-network-softwarization2016 open-source-network-softwarization
2016 open-source-network-softwarization
 
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
 
QCon SF-feedback
QCon SF-feedbackQCon SF-feedback
QCon SF-feedback
 
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSOpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
 
EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS
 
RESUME_RAVI
RESUME_RAVIRESUME_RAVI
RESUME_RAVI
 
JCConf.tw 2022 - DevOps for Java developers
JCConf.tw 2022 - DevOps for Java developersJCConf.tw 2022 - DevOps for Java developers
JCConf.tw 2022 - DevOps for Java developers
 
An Overview Of The Singularity Project
An  Overview Of The  Singularity  ProjectAn  Overview Of The  Singularity  Project
An Overview Of The Singularity Project
 
Asundi
AsundiAsundi
Asundi
 
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10
 

Mehr von Fabio Calefato

Investigating Crowd Creativity in Online Music Communities
Investigating Crowd Creativity in Online Music CommunitiesInvestigating Crowd Creativity in Online Music Communities
Investigating Crowd Creativity in Online Music CommunitiesFabio Calefato
 
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...On Developers’ Personality in Large-scale Distributed Projects: The Case of t...
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...Fabio Calefato
 
A Gold Standard for Emotion Annotation in Stack Overflow
A Gold Standard for Emotion Annotation in Stack Overflow A Gold Standard for Emotion Annotation in Stack Overflow
A Gold Standard for Emotion Annotation in Stack Overflow Fabio Calefato
 
How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...
How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...
How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...Fabio Calefato
 
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...Fabio Calefato
 
Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...
Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...
Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...Fabio Calefato
 
"Awareness, Trust, and Software Tool Support in Distance Collaborations" by D...
"Awareness, Trust, and Software Tool Support in Distance Collaborations" by D..."Awareness, Trust, and Software Tool Support in Distance Collaborations" by D...
"Awareness, Trust, and Software Tool Support in Distance Collaborations" by D...Fabio Calefato
 
Facing communication challenges in collaborative development
Facing communication challenges in collaborative developmentFacing communication challenges in collaborative development
Facing communication challenges in collaborative developmentFabio Calefato
 
Can social awareness foster trust building in global software teams?
Can social awareness foster trust building in global software teams?Can social awareness foster trust building in global software teams?
Can social awareness foster trust building in global software teams?Fabio Calefato
 

Mehr von Fabio Calefato (9)

Investigating Crowd Creativity in Online Music Communities
Investigating Crowd Creativity in Online Music CommunitiesInvestigating Crowd Creativity in Online Music Communities
Investigating Crowd Creativity in Online Music Communities
 
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...On Developers’ Personality in Large-scale Distributed Projects: The Case of t...
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...
 
A Gold Standard for Emotion Annotation in Stack Overflow
A Gold Standard for Emotion Annotation in Stack Overflow A Gold Standard for Emotion Annotation in Stack Overflow
A Gold Standard for Emotion Annotation in Stack Overflow
 
How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...
How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...
How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...
 
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...
 
Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...
Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...
Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...
 
"Awareness, Trust, and Software Tool Support in Distance Collaborations" by D...
"Awareness, Trust, and Software Tool Support in Distance Collaborations" by D..."Awareness, Trust, and Software Tool Support in Distance Collaborations" by D...
"Awareness, Trust, and Software Tool Support in Distance Collaborations" by D...
 
Facing communication challenges in collaborative development
Facing communication challenges in collaborative developmentFacing communication challenges in collaborative development
Facing communication challenges in collaborative development
 
Can social awareness foster trust building in global software teams?
Can social awareness foster trust building in global software teams?Can social awareness foster trust building in global software teams?
Can social awareness foster trust building in global software teams?
 

Kürzlich hochgeladen

STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxMurugaveni B
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubaikojalkojal131
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPirithiRaju
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxkumarsanjai28051
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologycaarthichand2003
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentationtahreemzahra82
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...navyadasi1992
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxNandakishor Bhaurao Deshmukh
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》rnrncn29
 
Microphone- characteristics,carbon microphone, dynamic microphone.pptx
Microphone- characteristics,carbon microphone, dynamic microphone.pptxMicrophone- characteristics,carbon microphone, dynamic microphone.pptx
Microphone- characteristics,carbon microphone, dynamic microphone.pptxpriyankatabhane
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingNetHelix
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxBerniceCayabyab1
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.PraveenaKalaiselvan1
 

Kürzlich hochgeladen (20)

STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdf
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptx
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technology
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentation
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort ServiceHot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
 
Microphone- characteristics,carbon microphone, dynamic microphone.pptx
Microphone- characteristics,carbon microphone, dynamic microphone.pptxMicrophone- characteristics,carbon microphone, dynamic microphone.pptx
Microphone- characteristics,carbon microphone, dynamic microphone.pptx
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
 
Volatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -IVolatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -I
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
 

A Hub-and-Spoke Model for Tool Integration 
in Distributed Development

  • 1. A Hub-and-Spoke Model for Tool Integration in Distributed Development Fabio Calefato, Filippo Lanubile University of Bari, Italy ICGSE’16 Orange County, California – USA, August 2-5, 2016
  • 2. Challenges for SW Developers • Growing plethora of tools need to manages SW projects – API, source code, emails, build & deployment updates, social media, … – Continual stream of updates • Information overload – Channel overload – Information fragmentation Hub-and-Spoke Model @ ICGSE'16
  • 3. Information  Awareness • Keeping up with updates as time- consuming as vital • Information helps developer maintain awareness • Developers seek info on coworkers, tasks, and artifacts – Informal – Social – Group-structural – Workspace Situational awareness “An understanding of the activities of others, which provides a context for your own activity” [1] “A state of mind where people are aware of elements in their immediate environments” [2] [1] Dourish & Bellotti. “Awareness and coordination in shared workspaces.” (CSCW '92) [2] Baysal et al. “Situational awareness: personalizing issue tracking systems.” (ICSE '13)
  • 4. Solution • Tool Integration • Wasserman’s definition of integrated environment [3] – “One platform that allows project teams to control the entire process and its data through a common presentation layer” – E.g., IDEs – From heavyweight to lightweight integration [3] A.I. Wasserman. “Tool integration in software engineering environments” LNCS, Vol. 647, 1989
  • 5. Hub-and-Spoke Model CD hub CI hub Communication hub hub tool satellite tool bidir. communication unidir. communication filtering Team messages Build notification Code change notification Test notification Monitoring & Analytics alert Delivery notification Deployment notification Issue change notification E-mail notification Commands
  • 6. Case Study Scenario Foobar • Software enterprise • Global Software Development • SaaS product • Spreading DevOps Hub-and-Spoke Model @ ICGSE'16
  • 7. Instance for Java projects @Foobar CI hub Communication hub CD hub Build notification Code change notification Issue change notification Test notification E-mail notification ChatOps Commands Team messages
  • 8. Why Slack as Communication Hub • Built-in search capability • IFTTT/Zapier for if- then rules • Hundreds of built-in tool integrations • Slack API for custom integrations – Web API – Real Time Messaging – Incoming/Outgoing Webhooks – Slash Commands – Bots 8Hub-and-Spoke Model @ ICGSE'16
  • 9. It is not necessarily Slack Hub-and-Spoke Model @ ICGSE'16
  • 10. Ongoing & Future work • Complete the model instantiated for Foobar – Slack/Ansible connection – Smart notification filtering (e.g., bots, NLP, AI…) • Need for repeated industrial case studies – Companies with different backgrounds – Common framework of analysis for comparing results Hub-and-Spoke Model @ ICGSE'16

Hinweis der Redaktion

  1. I’m going to talk about an ongoing effort for the definition of a model that aims at the lightweight interconnection of tools needed by developers in distributed development, Which is a real challenge
  2. Today an ever-growing plethora of different tools are needed to develop and manage distributed software projects that keep growing in both size and complexity. The effect of more and more tools producing more and more information is placing developers into a well-known situation of information overload that is actually the combined results of channel overload and information fragmentation and. As such, the productivity of software developers is constantly undermined by a growing flow of information available at different places: API documentation to read, source code to traverse, build and deployment updates, email, RSS feeds and social media notifications, all provide a continual stream of updates that is difficult to keep track of.
  3. Keeping up with these updates, however, is as consuming as vital because they provide developers with different information elements that are needed to keep aware of what is happening within a software project, especially if distributed. In fact, awareness, defined as “an understanding of the activities of others, which provides a context for your own activity” [8], is fundamental in distributed software development as it provides mechanisms to coordinate group activities. According to Gutwin et al. [10], the members of a group typically seek information on coworkers, tasks, and artifacts. Following these information needs, four types of awareness have been acknowledged so far: (i) informal or presence awareness, i.e., who is around and their availability; (ii) group-structural awareness, i.e., members’ roles and teams’ internal structure; (iii) workspace awareness, i.e., who changed a shared artifact and when; (iv) social awareness, i.e., the understanding about existing social connections within a group [4]. Taken together, these four types help individuals build and maintain their situational awareness, a term used in cognitive psychology to refer to a state of mind where a person is aware of the elements of their immediate environments. Hipikat, Mylyn, and Palantir are three successful examples of tools that help developers maintain a situational awareness in software development environments. So can we find a solution to channel overload and information fragmentation and overload?
  4. So can we find a solution to channel overload and information fragmentation? we can combine and integrate this plethora of tools The topic of tool integration flourished during the ‘90s, following the desire to produce software engineering environments that would support the entire development lifecycle through the combination of different tools, each addressing a different aspect of the development process. An example of such tool integrations are the IDEs, that is, integrated development environments built around a source code editor, a compiler, a debugger and a build automation tool. IDEs lost their momentum in mid 2000 In software engineering research, it is not uncommon to observe that a thesis proposed in one decade is replaced by its antithesis during the next one [2]. Therefore, as software first started to turn into Web services, with the diffusion of Service-Oriented Architectures (SOA), and then moved to the cloud, with the spread of the Software-as-a-Service (SaaS) delivery model, heavy weight integrations started to be replaced by a loosely-coupled integrations of multiple standalone services into a new compound one.
  5. Our proposed solution for a loosely-coupled, lightweight integration of software development tools. The model is inspired by a model often used in telecommunication and also in transportation, especially as a paradigm to model airline route structures between large and small airports Unlike Wasserman’ definition, this model relies on the lightweight interconnections of services. That is, it ditches the idea of building a single platform with a unified user interface, instead proposing the idea of (i) controlling the development process and (ii) accessing project data through a few central tools. Such ‘central’ tools are called hubs because they act as collectors of information produced by satellite tools, such as issue tracking and version control systems, email and IM clients. In our model, developers still have access to the satellite tools as usual, without having to use them through a unified platform. Project-related information flows through the spokes that connect the satellites to the hubs. In our model, we envision three logical types of hubs: Continuous Integration (CI) hub - represents the toolset that a development team adopts to support the frequent (i.e., several times a day) integration of code changes in the main line of development [9]. Typically, it is implemented through a CI server that automatically builds and tests the code base upon changes. Continuous Delivery/Deployment (CD) hub -- it may refer to either Continuous Delivery or Continuous Deployment, depending on the development process adopted. Both Continuous Delivery and Deployment are natural extensions of CI because they presume that developers perform continuous integration of code changes. Finally, we note that CD and CI hubs are represented in Fig. 1 as logically separated, although in practice they might be available through one software solution. Communication hub -- All the three hubs are interconnected, meaning that notifications flow either way between them. As such, team-wide communication happens through the Communication hub, meaning that notifications from the CI and CD hubs – e.g., a failed build alert – are not dispatched to the team directly, but rather through the Communication hub. One benefit of this dispatching solution is that teams have (ideally) one place to go for checking all project events notifications and avoid constant switching between tools to read notifications. The second benefit is the possibility of applying recommendations to notifications, that is, to filter and rank them for each developer in order to reduce the information overload. Implemented by bots, these filtering and ranking operations can be tailored upon developers’ activities and roles. More specifically, the information filtering and ranking may depend on developers’ own awareness network, that is, the set of relevant teammates whose actions one monitors and to whom one’s actions are displayed [7]. An awareness network is the means by which developers keep up to date their overall situational awareness about teammates, tasks and shared artifacts; as such, it is highly dynamic because the set of relevant colleagues constantly changes over time, depending on one’s task assignments or the current stage of the software development process. Therefore, the relevance and priority of notifications dispatched from the Communication hub to developers will vary depending on the current configuration of their awareness network. Furthermore, all satellite nodes are connected to one of the hubs through an arrow to indicate a unidirectional communication flow. Instead, between the Communication hub and the Team messages node there is a bidirectional communication. This node represents the intra-team communication tool of choice, which can receive notifications from as well as send messages to the Communication hub. Having only one tool handling all the intra-team communication avoids having separate conversation silos and relevant information split across them. Thus, all the important project information from various data sources – messages, commits and deployments notifications, performance alerts – are gathered and displayed in one place. Finally, as for the Commands node, the tool selected for acting as the Communication hub should be extensible to let developers interact with the development infrastructure by simply typing commands. More specifically, this form of conversation-driven development, or ChatOps as GitHub popularized it [11], is intended to automate tasks, particularly Operations tasks, which become easy to the point that any member of the team can perform them by typing one command with a familiar user interface. Therefore, our hub-and-spoke model can be beneficial to foster DevOps practices in distributed projects through ChatOps. ChatOps pushes towards the automation of delivery and deployment tasks – then, fostering CD.
  6. Foobar is the fictional name of a medium-sized software company that works in the publishing industry. The company is distributed across Europe and the USA, and it has recently opened a development site in Italy where it is progressively moving the responsibility of coordinating most of the company’s projects. The company is facing channel-overload and information-fragmentation issues due to the large set of tools that developers use in their projects. The more projects they have to handle, the more tool the development team has to use The manager really struggles to keep up with all the notifications, situation is exploding. In addition, as the manager of the Italian site told us, the company is looking for opportunities to spread DevOps practices
  7. In Fig. 2, we show the hub-and-spoke integration model instantiated with respect to the needs of the Foobar company. Although the Italian site contributes to projects written in three main programming languages (Java, JavaScript and Ruby), the instantiated model refers in particular to the case of Java projects. For JavaScript and Ruby projects, the testing frameworks would change accordingly. In this case, Jenkins is used as CI server, Ansible as the CDD hub, and Slack as CH. Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson, one of the most used CI server along with Travis. Ansible is an open-source automation engine that automates, among the other things such as service orchestration, application deployment Slack is Modern team communication tool that dubs itself the Alternative to email for intra-team communication. Features Ubiquitous -- Available as web, desktop and mobile app Public channels Private user groups Direct messages File sharing Tool integration – various APIs All the code-related notifications – changes, issues, test and build – are dispatched thru Jenkins. Successfull builds are delivered to the Artifactory repository. All these notifications , are then forward them to Slack. Jenkins and Ansible are going to be integrated with Slack using its API, thus defining a publish/subscribe communication model for dispatching notifications to and from the Communication hub. Its Messaging API, it will be used to route messages that are relevant for the project coming from other communication sources (e.g., email clients). The red arrows represent the connection that have been already implemented, the others are already available because supported by the respective hubs. The one we’re working on is the ansible-slack integration thru a pair of custom plugins
  8. the Web API to create tool integrations other than those listed above as we see fit. this instantiated model that we have just shown before might be extended with other hubs that fulfill future needs of the company, as long as they can be connected to the communication hub. Likewise, Real Time Messaging API, it will be used to route messages that are relevant for the project coming from other communication sources. In particular, we intend to use the Slash Command API to implement custom ChatOps commands that would help, for example, the developer staff take care of the deployment (e.g., /deploy project-name location), force a new build (e.g., /build project-name) or re-execute test suites even without changes to the code repository (e.g., /test project-name alltests). In general, we foresee to add several commands to control the various phases of the development process. As for the Bot Users API, it will be used to implement automatic reaction to certain messages. For example, a bot can proactively respond to performance alerts of an application deployed to the cloud and automatically add new nodes to handle the increased traffic load. Besides, bots would enable the filtering and prioritization of notifications. In fact, Slack is intended to collect all the project- and team-related communications, it is soon going to be overloaded with them. As of now, Slack has a limited support for filtering, as it allows the definition of channels, similar to IRC chat rooms where information can be categorized, and silencing notifications unless one’s recipient (in the form of @username mentions) is specified in the message body. Thus, bots can implement more sophisticated recommendations based of the severity of the messages and the structure of the development team. For example, a team manager may not want to be notified of all new bug reports, but is definitely willing to receive a prompt alert in case of crash reports. Finally, we are going to use
  9. HipChat is first example of successfull hosted group chat and video chat built for business and teams. Mattermost is an open source, self-hosted Slack-alternative, i.e. an alternative to proprietary SaaS messaging, StackTodo. Toolset for Slack, i.e., Bots, tools and apps that make working in Slack even more productive.