Link to talk: https://www.youtube.com/watch?v=Sk5wzRxSm3g&t=7270s
Abstract: Over the past few decades, there have been significant advancements in understanding and improving developer productivity. With the advent of artificial intelligence and increasing levels of automation to enhance collaboration, software bots, especially those with superhero powers, are poised to have a major impact on developer productivity and software quality. But what productivity means and how to measure it can seem elusive. In this talk, I present SPACE, a framework that captures the most important dimensions of developer productivity: satisfaction and well-being, performance, activity; communication and collaboration, and efficiency and flow. I will brainstorm how SPACE can help us understand the broad impact of bots across multiple dimensions of developer productivity and may reveal opportunities for bots to develop new superhero powers that may disrupt the future of software engineering.
2. Bots in software engineering (circa 2016)
Code Bots
Test Bots
DevOps Bots
Support Bots
Documentation Bots
Entertainment Bots
Collaboration crosscuts all!
Storey and Zagalsky. FSE 2016
3. Main characteristics of bots
What they do…
How autonomous…
How intelligent…
How to interact with them…
Where they live…
How they are created…
Storey and Zagalsky. FSE 2016
4. Early Productivity Framework
Efficiency — do things faster
● automate repetitive or tedious tasks
● help developers stay in flow
Effectiveness —work towards meaningful goals
● improve decision making
● support team cognition
● support regulation (self, co- and shared)
Storey and Zagalsky. FSE 2016
6. Integrated
Services
e.g. internal to the bot
Definition: Software bots are interfaces that connect users with software
services that provides additional value to the user
Interface
“bot”
External Service
External Service
External Service
e.g. accessed through
APIs
Lebeuf 2017, Lebeuf, Zagalsky, Storey. Botse 2019
7. Bots provide additional value on top of the software service’s basic capabilities,
which distinguishes bots from other non-bot scripts and programs
This additional value is often…
• Automation
• Consolidating multiple services
• Interaction mechanisms
• Anthropomorphism
Software Scripts
& Programs
Software Bots
Lebeuf 2017, Lebeuf, Zagalsky, Storey. Botse 2019
8. Bots, Chatbots, Agents
The properties and behaviors of software bots distinguish between different
subtypes of software bots
Software Scripts
& Programs
Software Bots
Chatbots are bots with natural language
capabilities
Chatbots
Agents
Agents are bots that can sense/act upon
their environments and are intelligent,
autonomous, social, ...
8
Lebeuf 2017, Lebeuf, Zagalsky, Storey. Botse 2019
15. The BotSE archive of 102 papers are mostly about…
Bot solutions (49 papers)
Bot design knowledge (21 papers)
Literature reviews/frameworks (10 papers)
Bot detection (7 papers)
Empirical studies of bots (3 papers)
(Several not about software development and some duplicates)
16. Assumed premise: bots boost developer productivity
Do they?
If so, how?
Can we do better?
https://unsplash.com/photos/Z9AU36chmQI
17. Two themes to charge up our design juices!
How bots can support software engineering in the SPACE of
developer productivity (empathise)
What “superpowers” can bots use to “empower” developers
to be more productive and to improve their experience! (ideate)
18. Recall: Early Productivity Framework for Bots in SE!
Efficiency — do things faster
● automate repetitive or tedious tasks
● help developers stay in flow
Effectiveness —work towards meaningful goals
● improve decision making
● support team cognition
● support regulation (self, co- and shared)
Storey and Zagalsky. FSE 2016
19. Satisfaction and well-being
Performance
Activity
Communication and
collaboration
Efficiency and flow
S
P
A
C
E
Forsgren, Storey, Maddila, Zimmermann, Houck, Butler:
The SPACE of Developer Productivity. Commun. ACM 2021.
SPACE: A framework for understanding productivity
20. Satisfaction and
well-being
Performance
Activity
Communication and collaboration
Efficiency and flow
S
P
A
C
E
How fulfilled developers feel with their
work, team, tools, or culture
How healthy and happy developers are, growth
SPACE: A framework for understanding productivity
Image: https://unsplash.com/photos/pXcfR2sluwY
21. SPACE: A framework for understanding productivity
Satisfaction and well-being
Performance
Activity
Communication and collaboration
Efficiency and flow
S
P
A
C
E
The outcome of a system or process. Hard to quantify
performance because there are so many variables
Image: https://unsplash.com/photos/S8bde3hkBR8
22. SPACE: A framework for understanding productivity
Satisfaction and well-being
Performance
Activity
Communication and collaboration
Efficiency and flow
S
P
A
C
E
The number of actions or outputs completed
while performing work
Image: https://unsplash.com/photos/2FaCKyEEtis
23. SPACE: A framework for understanding productivity
Satisfaction and well-being
Performance
Activity
Communication and
collaboration
Efficiency and flow
S
P
A
C
E
How people and teams communicate and
work together
Image: https://unsplash.com/photos/1FI2QAYPa-Y
24. Satisfaction and well-being
Performance
Activity
Communication and collaboration
Efficiency and flow
S
P
A
C
E How well developers and teams can make progress
and complete work without interruptions or delays
SPACE: A framework for understanding productivity
Image: https://unsplash.com/photos/ZeYQxqEUnWQ
25. Misaligned views of managers and developers! Storey, Houck & Zimmermann,
CHASE 2022
26. SE roles/tasks Example SE bots (from BotSE paper archive)
S
Onboarding newcomers
Nudge behaviours
Onboarding bot, MentorBot
NudgeBot
P
Defect prediction
Static analysis, testing
Program repair bot
JitBot
CCBot, SpecBot
Repairnator, C-3PR, SAWBot, RHero, FixmeBot
A
Natural language to Code
Refactor Code
Pull request management
Documentation
BotBase, Copilot
Refactoring-Bot, RefBot
StaleBot, Sankie, ASFBot
DocumentationBot
C
Q&A, information Sharing
Retrospectives
Expert recommender
Collaborative Modelling
Coordination
AnswerBot,MSRBot,GitterAns,Chatbot4QR,ChatEO,APIBot,DiscussionBot
RetrospectiveBot
ExpertFinder, Mention Bot
Socio, DoMoBot
TaskBot, Sayme
E
Task automation
Breaking changes
Dependency management
Robin, Devy
Breakbot
Greenkeeper
31. Empowering developers (*,** needs)
S
*Learning (competence)
**Support newcomers
*Well-being, work-life balance
*Autonomy What else? How?
P
*Clear goals, scope
*Clearer priorities, **time estimates
*Having a say on priorities, roadmap
*Feedback on impact What else? How?
A
**Smarter bots, **better code review
What else? How?
C
*Connecting with others (relatedness)
*Psychological safety, being supported
*Recognition from others
*Knowledge sharing What else? How?
E
*Interruption management, **notifications
*Frictionless tools, **better UX
*Healthy codebase What else? How?
Suggestions from:
*Greiler et al., TSE 2022
**Wessel et al. CSCW 2018
35. Types of superpowers!
Epistemic superpowers
How characters gain knowledge about things, people or phenomena
Pragmatic superpowers
Physical: how characters actively manipulate things, people or phenomenon
Mental: how characters influence others’ thoughts, ideas and emotions
Willett et al., TVCG 2021 and https://powerlisting.fandom.com/wiki/Metaphysics_Manipulation
36. Superhero abilities for software development bots
Immortality
Time manipulation
Omnipresence
Omniscience
Enhanced senses
Healing
Empathy
Knowledge projection
Enhanced cognitive
speed
Enhanced intelligence
Enhanced recall
Enhanced memory
Enhanced comparison
Clairvoyant
Precognition
Technology
manipulation
Tool proficiency
Multi-lingual
Making the invisible
visible
Invisibility
Wish granter
https://en.wikipedia.org/wiki/Superpower_(ability)
37. Superheroes to inspire self development
Personal Character, Values & Principles (the Mental Realm)
Career, Material Success and Health (the Physical Realm)
Life Meaning & Fulfillment (the Spiritual Realm)
https://www.popmythology.com/top-10-superheroes/
40. Empowering developers (* ** needs) Superpower ideas!
S
*Learning (competence)
**Support newcomers
*Well-being, work-life balance
*Autonomy
Omniscience
Truthfulness & Love
Kindness & Humility
Retaining Humanity…
P
*Clear goals, scope
*Clearer priorities, **time estimates
*Having a say on priorities, roadmap
*Feedback on impact
Convincing others
Vision
Imagination
Courage…
A
**Smarter bots, **better code review Enhanced intelligence
…
C
*Connecting with others (relatedness)
*Psychological safety, being supported
*Recognition from others
*Knowledge sharing
Empathy, Clairvoyant
Truthfulness
Making the invisible visible
Intercultural skills…
E
*Interruption management, **notifications
*Frictionless tools, **better UX
*Healthy codebase
Focus/Concentration
Precognition
Imagination…
Suggestions from:
*Greiler et al., TSE 2022
**Wessel et al. CSCW 2018
41. Takeaways!
Productivity is more complex than we think….
Bots should be designed to “empower” developers
not just replace them
New “superpowers” can drive novel ideas for bots in
the SPACE of developer productivity
@margaretstorey
http://margaretstorey.com
S
P
A
C
E
42. References
Storey and Zagalsky, Disrupting Developer Productivity One Bot at a Time, FSE Visions and Reflections Track 2016. [PDF]
Lebeuf, C., Zagalsky, A., Foucault, M., & Storey, M. (2019). Defining and Classifying Software Bots: A Faceted Taxonomy. In
2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE). (Thesis 2018)
Paikari and van der Hoek. 2018. A framework for understanding chatbots and their future. In Proceedings of the 11th
International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '18). [Link]
Santhanam S, Hecking T, Schreiber A, Wagner S. 2022. Bots in software engineering: a systematic mapping study. PeerJ
Computer Science. [Link]
Forsgren, N., M.-A. Storey, C. Maddila, T. Zimmermann, B. Houck, J. Butler: The SPACE of Developer Productivity.
Commun. ACM 64(6): 46-53 (2021) [Link]
W. Willett et al.,Perception! Immersion! Empowerment! Superpowers as Inspiration for Visualization. IEEE Transactions on
Visualization and Computer Graphics, 2022, 28 (1), pp.22-32. [Link]
Greiler, M., M.-A. Storey, A.Noda: An Actionable Framework for Understanding and Improving Developer Experience,
To Appear in IEEE Transactions on Software Engineering 2022. PDF
Storey, M.-A., B. Houck, T. Zimmermann: How Developers and Managers Define and Trade Productivity for Quality.
CHASE (International Conference on Cooperative and Human Aspects in Software Engineering, 2022. PDF
Wessel et al.. The Power of Bots: Characterizing and Understanding Bots in OSS Projects. CSCW 2018.