Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time


Published on

Conversational bots have become a popular addition to many mainstream platforms and software engineering has adopted them at an almost dizzying pace across every phase of the development life cycle. Bots reportedly help developers become more productive by automating tedious tasks, by bringing awareness of important project or community activities, and by reducing interruptions. Developers "talk to" and "listen to" these bots in the same conversational channels they use to collaborate with and monitor each other. However, the actual impact these bots have on developer productivity and project quality is still unclear. In this talk, I will give an overview of how bots play a prominent role in software development and discuss the benefits and challenges that can arise from relying on these "new virtual team members". I will also explore how bots may influence other knowledge work domains and propose a number of future directions for practitioners and researchers to consider.

Published in: Software
  • Be the first to comment

Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time

  1. 1. Disrupting Developer Productivity 
 One Bot at a Time 
 Margaret-Anne (Peggy) Storey University of Victoria
 CASCON 2016 Alexey Zagalsky, Carlene Lebeuf (UVic) Alexander Serebrenik, Bin Lin (TU Eindhoven)
  2. 2. 1968 1980 1990 2000 20101970 Developer tools over time Towards the social programmer… Surveyed over 2,500 devs Storey et al., ICSE FOSE 2014
  3. 3. Social tools facilitate a participatory development culture in software engineering, with support for the social creation and sharing of content, informal mentorship, and awareness that contributions matter to one another Storey, M.-A., L. Singer, F. Figueira Filho, B. Cleary and A. Zagalsky,The (R)evolutionary Role of Social Media in Software Engineering, ICSE 2014 Future of Software Engineering.
  4. 4. Challenges: Developer “If you have to go to a web browser there is a 10% chance you'll be distracted. I use the project "howdoi" to get answers from Stack Overflow on the command line so I can 
 stay out of the browser and keep focus." “One of the biggest issues with fragmentation of the communication options is that there are so many different ways to communicate that it’s harder to find it all in one place. Important communications get lost; Key people don’t see them; They can’t be retrieved by a single search tool. Companies such as Slack are attempting to solve this problem, but it has a long way to go.” Channel confusion and lack of integration:
  5. 5. Kevin Kelly, Futurist: “You’ll be paid in the future based on how well you work with robots.”
  6. 6.
  7. 7. To Bot or Not? What is a Bot
 How Bots play a role in SE
 Disrupting Productivity with Bots Risks and Research Opportunities
  8. 8. What is a bot? A bot is an application that performs automated, repetitive, pre-defined tasks From setting an alarm, to telling you today’s weather forecast, to gathering and broadcasting information
  9. 9. Going back in time… 1966
  10. 10. Bots — 1988 IRC provided a platform and language for writing your bots
  11. 11. Microsoft: the operating system of the future isn’t Windows, but "conversation as a platform”
  12. 12. aims to replace apps 
 “one bot at a time”
  13. 13. IBM Watson Lends Brains to Slack's Chatbot "It could be something like a 20 [percent] or 30 percent increase in knowledge worker productivity.” Stewart Butterfield, founder of Slack
  14. 14. Defining Bots From scripts to processes to agents to apps to integrations to bots… an emerging concept! One definition? Conduits between users and services typically through a conversational UI
  15. 15. Proposed Bot Dimensions What they do… How intelligent… How autonomous… How to interact with them… How they are created… 
  16. 16. What they do (intent)! Helpful Bots: •Chatbots •Crawlers •Transactional bots •Informational bots •Monitoring (health, 
 vulnerabilities) •Art bots •Game bots Harmful Bots: • Hackers • Spammers • Scrapers • Impersonators • Fraud
  17. 17. How intelligent… Some follow simple rules… (SLT)
 passing control to a human if needed
 More intelligent bots use NLP 
 and AI, learn over time
  18. 18. How autonomous… Extent of human 
 intervention required Context Sensing Self maintaining
  19. 19. How to interact with Bots Push versus Pull Command-line versus conversational UI
 How much context they use (personalization)
 “In conversational UIs, 
 personality is the new UX”
  20. 20. Howdy launched Botkit, a library of "building blocks for building Slack bots” Microsoft Bot connector: Requires APIs and developer ecosystem… How they are created
  21. 21. To Bot or Not? What is a Bot
 How Bots play a role in SE
 Disrupting Productivity with Bots Risks and Research Opportunities @margaretstorey

  22. 22. “Scaling to 1000s of developers — automation is required!” [Jacek Czerwonka]

  23. 23. Software development Bot roles Entertainment Bots Code Bots Test Bots DevOps Bots Support Bots Documentation Bots Categories also inspired by Sven Peters: B. Lin, A. Zagalsky, M.-A. Storey, and A. Serebrenik. Why developers are slacking off: Understanding how software teams use slack. CSCW 2016 (poster paper).
  24. 24. Entertainment Bots Bots that can entertain, amuse, 
 play games!
  25. 25. Code Bots Integration of services and task automation: • Commit code automatically (after review/tests) • Update/create tasks/issues/bugs (BugBot) • Conduct/facilitate peer review (find reviewers) • Automatically merge pull requests (Travis) “The most important startup’s hardest worker isn’t a person!”
  26. 26. Test bots Bots to detect bugs or code quality issues: • Run static analysis tests (FindBugs) • Open issue for code quality concern (Freud) • Monitor coverage, technical debt over time • Test UI changes (CompareBot) • Detect flaky tests
  27. 27. DevOps Bots Help teams manage complex builds and deploy from within their chat environment: • Monitor running services • Coordinate team schedules (who is on call) • Measure and analyze workflow, improve feedback • Stakeholders gain awareness while learning ChatOps are "putting tools right in the middle of the conversation" - Jesse Newland, GitHub
  28. 28. “Chatting with your infrastructure might seem strange at first but it's easy to see the benefits. A timeline of who's deploying what and deployments that are so easy anyone can trigger them.’'
  29. 29. Interact with users (at scale) to offer support: • Answer frequently asked questions (consult and then build up knowledge base) • Analyze user feedback, identify and triage most important bugs to fix Support Bots
  30. 30. Bots that produce documentation from developer artifacts: • Author release notes from commit messages • Integrate analytics and visualizations into reports and dashboards • Translating documentation on the fly • Find/aggregate answers/documentation from community resources Documentation Bots
  31. 31.
  32. 32. To Bot or Not? What is a Bot
 How Bots play a role in SE
 Disrupting Productivity with Bots Risks and Research Opportunities
  33. 33. Preliminary productivity framework 
 of design elements for bots Efficiency — do things faster Automate repetitive/tedious tasks
 Help developers stay in flow Effectiveness —work towards meaningful goals Decision making Team cognition, self/team regulation M. Storey and A. Zagalsky, Disrupting Developer Productivity One Bot at a Time, FSE 2016 Visions and Reflections Track, 2016, To appear.
  34. 34. Team cognition "ChatOps is a collaboration model that connects people, tools, processes, and automation into a transparent workflow" — Sean Regan, Atlassian
 “The team with the most situational awareness wins” — Mary Poppendieck, Lean Software Development
  35. 35. "The real potential of bots isn’t going to be realized with one person using one bot (that’s the old app model), but with multiple people having a normal conversation while the bots augment the stream with relevant context and functionality. This is a pretty far-reaching evolution of how humans interact with technology. It’s cognitively ergonomic." Phil Libin, from-general-catalyst-libin
  36. 36. Regulation Regulate individual and team tasks and goals: initiate and track reminders promote/adapt to team culture visualize progress support coordination across tasks Arciniegas-Mendez, M., A. Zagalsky, M.-A. Storey, A. F. Hadwin, “Using the Model of Regulation to Understand Software Development Collaboration Practices and Tool Support”, To appear at CSCW 2017
  37. 37. Shared regulation
  38. 38. To Bot or Not? What is a Bot
 How Bots play a role in SE
 Disrupting Productivity with Bots Risks and Research Opportunities
  39. 39. Risk #1 Will Bots Change how people relate to one another? ear-more-chinese-turn-to-smartphone-program.html?_r=0 “Children are learning that it’s safer to talk to a computer than to another human.” Sherry Turkle
  40. 40. Risk #2 What ethical framework should we use for Bots? Who should the Bot serve? Is deception ok? Stalking? Misuse of sentiment analysis? Privacy of information that is shared with Bots? Gendered bots
  41. 41. ideas-about-sex-and-service-influence-the-personalities-we- give-machines/
  42. 42. Risk #3 Be careful what you wish for!
  43. 43. Risk #4 When not to Bot? Information/interactions are not discoverable Interactions may be ephemeral Fewer opportunities for serendipity and learning Direct manipulation better for complex tasks May bring new disruptions and complexities 
 [Code Drones to the rescue? Acharya et al, ICSE 2016]
  44. 44. The second machine age
  45. 45. Expert human + (simple) computer + good process 
 will beat 
 many expert machines (today)
  46. 46. “Bots are a test bed for experiments in the area of artificial intelligence” [Leonard, Andrew. Bots: The Origin of the New Species]
 How do these “virtual team members” impact software developers as well as the projects they participate on? Improve/understand human bot interaction (disrupting UX) Ease adoption/discovery of automated software engineering/ computation services
 Research opportunities Would adding “botpower” to a late project make it later?
  47. 47. To Bot or Not? What is a Bot
 How Bots play a role in SE
 Disrupting Productivity with Bots Risks and Research Opportunities Confluence of participatory culture, automation/AI, 
 conversational UIs/messaging apps @margaretstorey

  48. 48. Margaret-Anne Storey Visit our CASCON Poster: 

  49. 49. References 1 of 2 M. Storey, The Evolution of the Social Programmer, Mining Software Repositories (MSR) 2012 Keynote M. Storey et al., The (R)evolution of Social Media in Software Engineering, ICSE Future of Software Engineering 2014, social-media M. Storey, L. Singer, F. Figueira Filho, A. Zagalsky, and D. German, How Social and Communication Channels Shape and Challenge a Participatory Culture in Software Development, Transactions on Software Engineering, to appear. M. Arciniegas-Mendez, A. Zagalsky, M.-A. Storey, and A. F. Hadwin. Regulation as an enabler for collaborative software development. In Proceedings of the Eighth International Workshop on Cooperative and Human Aspects of Software Engineering, pages 97-100. IEEE Press, 2015. B. Lin, A. Zagalsky, M.-A. Storey, and A. Serebrenik. Why developers are slacking off: Understanding how software teams use slack. In Proceedings of the 19th ACM Conference on Computer Supported Cooperative Work and Social Computing Companion, pages 333{336. ACM, 2016. M. Storey and A. Zagalsky, Disrupting Developer Productivity One Bot at a Time, FSE 2016 Visions Track, 2016, to appear.
  50. 50. Leonard, Andrew. Bots: The Origin of the New Species. Wired Books, Incorporated, 1997. M. P. Acharya, C. Parnin, N. A. Kraft, A. Dagnino, and X. Qu. Code drones. In Proceedings of the 38th International Conference on Software Engineering Companion, ICSE '16, pages 785-788, New York, NY,USA, 2016. ACM. M. Poppendieck and T. Poppendieck. Lean Software Development: An Agile Toolkit. Addison-Wesley, 2003. A, Murgia, D. Janssens, S, Demeyer, and B, Vasilescu. 2016. Among the Machines: Human-Bot Interaction on Social Q&A Websites. In Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems (CHI EA '16). ACM, New York, NY, USA, 1272-1279. References 2 of 2
  51. 51. Related blog posts / resources • conversational-commerce-1586e85e3991#.iadtz4oyt • automation-addict • disrupting-ux-and-best-practices-for- building-345e2150b682#.h5ira2729 • belongs-to-hybrid-interfaces-8a228de0bdb5#.5z1xo0csf • powered-chatbots/