SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
From Automating Software Engineering
to Empowering Developers
Margaret-Anne (Peggy) Storey
Automated Software Engineering Conference, Oct 12th 2022
mastorey@gmail.com
@margaretstorey
Special Thanks
Arty Starr
Alessandra Milanit
Automation in Software Engineering - Through the Developersʼ Eyes
History of automation in software engineering
Future innovations and research
How to evaluate the impact of automation on developers
Automation in Software Engineering - Through the Developersʼ Eyes
History of automation in software engineering
Future innovations and research
How to evaluate the impact of automation on developers
Humans and Machines
4
@margaretstorey
“while Humanity will be amusing itself, or enjoying cultivated leisure
… or making beautiful things, or reading beautiful things, or simply
contemplating the world with admiration and delight,
machinery will be doing all the necessary and unpleasant work.”
Oscar Wilde, The Soul of Man Under Socialism (1891)
@margaretstorey
Automation
Automation term coined, Henry Ford, Detroit
1946
Reduce human intervention in processes, by
predetermining decision criteria, subprocess
relationships and related actions, and
embodying those predeterminations in
machines.
Groover, Mikell (2014). Fundamentals of Modern
Manufacturing: Materials, Processes, and Systems.
Automation is about feedback, and faster feedback
7
@margaretstorey
Advantages of automation (in general)
Faster production
Cheaper/safer
Higher quality
Predictable processes/products
Less tedious repetitive work
Simpler tasks
Faster feedback
More time for creative work
8
@margaretstorey
Ironies of automation
May require different competencies and skills
Any errors may be multiplied
May not anticipate all contingencies
Retrofitting automation is complex
Semi-automated tasks rely on people
People are poor monitors
9
@margaretstorey
Bystander effect
10 Ironies of automation
The more efficient the automated system,
the more crucial the human contribution of the operators
The paradox of automation
11
@margaretstorey
Long long ago,
in the land before
there was automated
software engineering…
Taxonomy to characterize automation in
Software Engineering Research, Sharma & Sodhi,
2021 https://arxiv.org/abs/1803.09536
Research trends up to 2016… (Sharma & Sodhi, Arxiv, 2021)
14
Research trends up to 2016… (Sharma & Sodhi, Arxiv, 2021)
15
ASE Topics (papers may have multiple topics)
https://bit.ly/ase2022papers
16
2020
2010
2000
1990
1980
1970
1968
Refactoring
(Johnson)
Disruptive automations in software engineering industry @margaretstorey
Code
Authoring
AutoML
2020
2010
2000
1990
1980
1970
1968
Test
Automation
(IBM)
Refactoring
(Johnson)
Disruptive automations in software engineering industry @margaretstorey
Code
Authoring
Testing,
Verification
& Analysis
AutoML
2020
2010
2000
1990
1980
1970
1968
Test
Automation
(IBM)
Refactoring
(Johnson)
Disruptive automations in software engineering industry @margaretstorey
Version control
(RCS, CVS)
Code
Authoring
Testing &
Analysis
Versioning
& Review
AutoML
2020
2010
2000
1990
1980
1970
1968
Test
Automation
(IBM)
Continuous
Integration
(Booch)
Refactoring
(Johnson)
Disruptive automations in software engineering industry @margaretstorey
Version control
(RCS, CVS)
Code
Authoring
Testing &
Analysis
Versioning
& Review
Build/CI
AutoML
2020
2010
2000
1990
1980
1970
1968
Test
Automation
(IBM)
Continuous
Integration
(Booch)
Refactoring
(Johnson)
Disruptive automations in software engineering industry @margaretstorey
Version control
(RCS, CVS)
Code
Review
Inspiring
Practices
Code
Authoring
Testing &
Analysis
Versioning
& Review
Build/CI
AutoML
Faganʼs
Code Inspection
XP
Open source
Advantages of automation in software engineering
Increased productivity
High performing teams
Maintainability
Improved quality
Predictability
Flexibility
Adaptability
Fewer errors
Faster feedback
Fail fast
Experimentation and learning
Happier developers
22
@margaretstorey
Disadvantages of automation on the developers?
Misuse/abuse/overuse of automation?
Increased skill/competencies needed?
Added complexity?
Automation as technical debt?
Anything else?
23
@margaretstorey
Continuous Integration
Advantages
Improves productivity speed
and quality [Vasilescu et al.]
Traceability
[Stahl et al.]
Happier developers
[Williams]
Disadvantages
Increased cognitive load
maintaining build code [Pinto et al.]
Difficulties attracting
developers [Gupta et al.]
Failing builds lower
developer morale [Souza et al.]
24
@margaretstorey
Moving faster is
not always
better
unexpected
side effects
Automation in Software Engineering - Through the Developersʼ Eyes
History of automation in software engineering
Future innovations and research
How to evaluate the impact of automation on developers
Can we fully automate software engineering?
@margaretstorey
What is software?
What it is
What it does
What people do with it
What it can be altered to do
28
@margaretstorey
What is software?
“Shared theories about problem and solution domains
that are in the minds of developers” [Peter Naur, 1985]
“Every personʼs mental model is incomplete and out of date
but we need them all!” [Jessica Kerr, Explore DDD Conference, 2018]
“People are part of the code” [Jean Yang, QCon Panel, 2021]
29
@margaretstorey
Software is a dynamic, living, learning system comprised of
people + code + tools + environment
and the exponential relationships between all of these parts
@margaretstorey
Since we canʼt fully automate software development…
what can we do and what should we do next?
@margaretstorey
Three types of innovations…
32
Three types of innovations…
Incremental
innovations
Breakthrough
innovations
Experiential
innovations
33
@margaretstorey
Experiential innovation and software engineering automation
Minimize Pains
Maximize Gains
Not just automate, but augment what developers do
to make them more productive and to improve their experience
34
@margaretstorey
The SPACE of developer productivity:
Thereʼs more to it than you think
S – Satisfaction & Well Being
P – Performance
A – Activity
C – Collaboration & Communication
E – Efficiency & Flow
Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler.
2021. The SPACE of Developer Productivity: There's more to it than you think. ACM Queue. 2021 @margaretstorey
Cognitive
Complexity
Three core dimensions of developer experience
36
Fast
Feedback
Flow and
Fulfillment
@margaretstorey
Michaela Greiler, Margaret-Anne Storey, Abi Noda: An Actionable Framework for Understanding
and Improving Developer Experience, TSE 2022.
What is the net effect of automation on cognitive load?
How does automation impact developer knowledge and skill?
Will the automation create technical debt?
Can automation support learning for reuse?
Cognitive complexity ~ research opportunities
37
@margaretstorey
Fast feedback ~ research opportunities
Do automation tools provide actionable and timely information?
How can automation improve feedback between developers?
Is faster always better?
38
@margaretstorey
Developer Flow and Fulfillment
39
Flow is a state of mind, a holistic sensation, that people feel when they
act with total involvement [Mihaly Csikszentmihalyi]
Clear goals
Total sense of involvement
Loss of self-consciousness
Feeling of control and being in control
Altered sense of time
Above average skills and challenges
Developer Flow and Fulfillment
40
Flow is a state of mind, a holistic sensation, that people feel when they
act with total involvement [Mihaly Csikszentmihalyi]
Clear goals
Total sense of involvement
Loss of self-consciousness
Feeling of control and being in control
Altered sense of time
Above average skills and challenges
Developer Flow and Fulfillment ~ research opportunities
Can automation lead to boredom and reduce the joy in programming?
How to design automation that enhances flow experiences?
How automation can enhance flow across a team?
How can AI be an effective “member” on a software team?
41
https://www.forbes.com/sites/oracle/2013/11/04/7-w
ays-americas-cup-champions-sail-like-successful-it-
teams/#7ccd8ee2b515
“At the end of the day, you have to
make a judgment decision yourself,
you know. All teams rely on all sorts
of algorithms and systems, but at the
end of the day, a human has to
decide when to push a button or
when to make a move. If youʼre
asking for why the mistakes happen,
or for someone to point the finger at,
then you should point it firmly at me.”
Jimmy Spithill, Skipper of Oracle
Team USA, US Americaʼs Cup 2017
Automation in Software Engineering - Through the Developersʼ Eyes
History of automation in software engineering
Future innovations and research
How to evaluate the impact of automation on developers
“No matter how many technologies you implement,
the weakest link will always be the human factor”
https://www.contino.io/files/Introduction-to-DevSecOps-Best-Practices-for-Adoption.pdf
Research methods - very few directly involve “humans”
https://bit.ly/ase2022papers
46
Red research methods
involve “people”
Data
Lab
Field
Survey
Theory
SPACE
Defining productivity
metrics:
47
https://getdx.com/
Experience sampling method for flow
Flow Insight is a tool for helping developers get in and stay in flow
Flow Insight evaluates and presents flow metrics
that are associated with the code
Measuring flow
49 https://flowinsight.com/
(Arty Starr)
The dimensions of developer experience may be in tension
Remove friction,
empower flow
Reduce cognitive
complexity
Improve velocity of
feedback
50
“while Humanity will be amusing itself, or enjoying cultivated leisure
… or making beautiful things, or reading beautiful things, or simply
contemplating the world with admiration and delight,
machinery will be doing all the necessary and unpleasant work.”
Oscar Wilde, The Soul of Man Under Socialism (1891)
@margaretstorey
Takeaways
Study developers for inspiration
Consider how your solutions can empower the
developer experience
Use research methods that study the impact on developers
mastorey@gmail.com
@margaretstorey
https://bit.ly/ase2022papers

Weitere ähnliche Inhalte

Was ist angesagt?

Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Margaret-Anne Storey
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
Mike Cohn
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
 

Was ist angesagt? (20)

企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要か
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだ
 
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
 
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
 
ソフトウェア アーキテクチャ基礎 輪読会資料 第2章 アーキテクチャ思考
ソフトウェア アーキテクチャ基礎 輪読会資料 第2章 アーキテクチャ思考 ソフトウェア アーキテクチャ基礎 輪読会資料 第2章 アーキテクチャ思考
ソフトウェア アーキテクチャ基礎 輪読会資料 第2章 アーキテクチャ思考
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
 
Unityプロファイラについて
UnityプロファイラについてUnityプロファイラについて
Unityプロファイラについて
 
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
 

Ähnlich wie ASE Keynote 2022: From Automation to Empowering Software Developers

Ähnlich wie ASE Keynote 2022: From Automation to Empowering Software Developers (20)

How machine learning will affect software development
How machine learning will affect software development How machine learning will affect software development
How machine learning will affect software development
 
The Future is Here: 8 Emerging Technologies to Watch in 2023
The Future is Here: 8 Emerging Technologies to Watch in 2023The Future is Here: 8 Emerging Technologies to Watch in 2023
The Future is Here: 8 Emerging Technologies to Watch in 2023
 
harnessing_the_power_of_artificial_intelligence_for_software_development.pdf
harnessing_the_power_of_artificial_intelligence_for_software_development.pdfharnessing_the_power_of_artificial_intelligence_for_software_development.pdf
harnessing_the_power_of_artificial_intelligence_for_software_development.pdf
 
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit ShahANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
 
SLIDES_Electrification__AI_and_the_Future_of_Engineering_Education.pdf.pdf
SLIDES_Electrification__AI_and_the_Future_of_Engineering_Education.pdf.pdfSLIDES_Electrification__AI_and_the_Future_of_Engineering_Education.pdf.pdf
SLIDES_Electrification__AI_and_the_Future_of_Engineering_Education.pdf.pdf
 
Artificial intelligence, machine learning and internet of things
Artificial intelligence, machine learning and internet of thingsArtificial intelligence, machine learning and internet of things
Artificial intelligence, machine learning and internet of things
 
harnessing_the_power_of_artificial_intelligence_for_software_development.pptx
harnessing_the_power_of_artificial_intelligence_for_software_development.pptxharnessing_the_power_of_artificial_intelligence_for_software_development.pptx
harnessing_the_power_of_artificial_intelligence_for_software_development.pptx
 
CWIN17 san francisco-ai implementation-pub
CWIN17 san francisco-ai implementation-pubCWIN17 san francisco-ai implementation-pub
CWIN17 san francisco-ai implementation-pub
 
Ai open powermeetupmarch25th
Ai open powermeetupmarch25thAi open powermeetupmarch25th
Ai open powermeetupmarch25th
 
Ai open powermeetupmarch25th
Ai open powermeetupmarch25thAi open powermeetupmarch25th
Ai open powermeetupmarch25th
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...
 
Ai open powermeetupmarch25th
Ai open powermeetupmarch25thAi open powermeetupmarch25th
Ai open powermeetupmarch25th
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
 
AI in Business: Opportunities & Challenges
AI in Business: Opportunities & ChallengesAI in Business: Opportunities & Challenges
AI in Business: Opportunities & Challenges
 
Generative AI in Transportation for Connected Future Transport System July 20...
Generative AI in Transportation for Connected Future Transport System July 20...Generative AI in Transportation for Connected Future Transport System July 20...
Generative AI in Transportation for Connected Future Transport System July 20...
 
Software Analytics = Sharing Information
Software Analytics = Sharing InformationSoftware Analytics = Sharing Information
Software Analytics = Sharing Information
 
ML Times: Mainframe Machine Learning Initiative- June newsletter (2018)
ML Times: Mainframe Machine Learning Initiative- June newsletter (2018)ML Times: Mainframe Machine Learning Initiative- June newsletter (2018)
ML Times: Mainframe Machine Learning Initiative- June newsletter (2018)
 
Movebot ENGR245 Lean LaunchPad Stanford 2018
Movebot ENGR245 Lean LaunchPad Stanford 2018Movebot ENGR245 Lean LaunchPad Stanford 2018
Movebot ENGR245 Lean LaunchPad Stanford 2018
 
Foundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed ITFoundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed IT
 

Mehr von Margaret-Anne Storey

Towards a Theory of Developer Satisfaction and Productivity
Towards a Theory of Developer Satisfaction and ProductivityTowards a Theory of Developer Satisfaction and Productivity
Towards a Theory of Developer Satisfaction and Productivity
Margaret-Anne Storey
 
The Elusive Nature of Software Documentation
The Elusive Nature of Software DocumentationThe Elusive Nature of Software Documentation
The Elusive Nature of Software Documentation
Margaret-Anne Storey
 
FSE 2016 Panel: The State of Software Engineering Research
FSE 2016 Panel: The State of Software Engineering ResearchFSE 2016 Panel: The State of Software Engineering Research
FSE 2016 Panel: The State of Software Engineering Research
Margaret-Anne Storey
 
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
Margaret-Anne Storey
 
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics:  Why Big Data Needs Rich DataLies, Damned Lies and Software Analytics:  Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
Margaret-Anne Storey
 
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
Margaret-Anne Storey
 

Mehr von Margaret-Anne Storey (20)

An Actionable Framework for Understanding and Improving Developer Experience
An Actionable Framework for Understanding and Improving Developer ExperienceAn Actionable Framework for Understanding and Improving Developer Experience
An Actionable Framework for Understanding and Improving Developer Experience
 
Software Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer ProductivitySoftware Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer Productivity
 
What does productivity mean to developers
What does productivity mean to developersWhat does productivity mean to developers
What does productivity mean to developers
 
After the Pandemic: Rethinking Developer Productivity (There’s more to it th...
After the Pandemic:  Rethinking Developer Productivity (There’s more to it th...After the Pandemic:  Rethinking Developer Productivity (There’s more to it th...
After the Pandemic: Rethinking Developer Productivity (There’s more to it th...
 
Icse 2020 bof reviewing papers
Icse 2020 bof reviewing papersIcse 2020 bof reviewing papers
Icse 2020 bof reviewing papers
 
Towards a Theory of Developer Satisfaction and Productivity
Towards a Theory of Developer Satisfaction and ProductivityTowards a Theory of Developer Satisfaction and Productivity
Towards a Theory of Developer Satisfaction and Productivity
 
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...
 
The Elusive Nature of Software Documentation
The Elusive Nature of Software DocumentationThe Elusive Nature of Software Documentation
The Elusive Nature of Software Documentation
 
FSE 2016 Panel: The State of Software Engineering Research
FSE 2016 Panel: The State of Software Engineering ResearchFSE 2016 Panel: The State of Software Engineering Research
FSE 2016 Panel: The State of Software Engineering Research
 
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a TimeCascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time
 
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
 
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics:  Why Big Data Needs Rich DataLies, Damned Lies and Software Analytics:  Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
 
Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software Analytics
 
The (R)evolution of Social Media in Software Engineering
The (R)evolution of Social Media in Software EngineeringThe (R)evolution of Social Media in Software Engineering
The (R)evolution of Social Media in Software Engineering
 
How Developers Stay Current Using Twitter
How Developers Stay Current Using TwitterHow Developers Stay Current Using Twitter
How Developers Stay Current Using Twitter
 
Crowdsourcing Documentation in Software Engineering
Crowdsourcing Documentation in Software EngineeringCrowdsourcing Documentation in Software Engineering
Crowdsourcing Documentation in Software Engineering
 
Benevol 2012 Keynote: The Social Software (R)evolution
Benevol 2012 Keynote: The Social Software (R)evolutionBenevol 2012 Keynote: The Social Software (R)evolution
Benevol 2012 Keynote: The Social Software (R)evolution
 
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
 
Research industry panel review
Research industry panel reviewResearch industry panel review
Research industry panel review
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
 

Kürzlich hochgeladen

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Kürzlich hochgeladen (20)

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 

ASE Keynote 2022: From Automation to Empowering Software Developers

  • 1. From Automating Software Engineering to Empowering Developers Margaret-Anne (Peggy) Storey Automated Software Engineering Conference, Oct 12th 2022 mastorey@gmail.com @margaretstorey Special Thanks Arty Starr Alessandra Milanit
  • 2. Automation in Software Engineering - Through the Developersʼ Eyes History of automation in software engineering Future innovations and research How to evaluate the impact of automation on developers
  • 3. Automation in Software Engineering - Through the Developersʼ Eyes History of automation in software engineering Future innovations and research How to evaluate the impact of automation on developers
  • 5. “while Humanity will be amusing itself, or enjoying cultivated leisure … or making beautiful things, or reading beautiful things, or simply contemplating the world with admiration and delight, machinery will be doing all the necessary and unpleasant work.” Oscar Wilde, The Soul of Man Under Socialism (1891) @margaretstorey
  • 6. Automation Automation term coined, Henry Ford, Detroit 1946 Reduce human intervention in processes, by predetermining decision criteria, subprocess relationships and related actions, and embodying those predeterminations in machines. Groover, Mikell (2014). Fundamentals of Modern Manufacturing: Materials, Processes, and Systems.
  • 7. Automation is about feedback, and faster feedback 7 @margaretstorey
  • 8. Advantages of automation (in general) Faster production Cheaper/safer Higher quality Predictable processes/products Less tedious repetitive work Simpler tasks Faster feedback More time for creative work 8 @margaretstorey
  • 9. Ironies of automation May require different competencies and skills Any errors may be multiplied May not anticipate all contingencies Retrofitting automation is complex Semi-automated tasks rely on people People are poor monitors 9 @margaretstorey
  • 11. The more efficient the automated system, the more crucial the human contribution of the operators The paradox of automation 11 @margaretstorey
  • 12. Long long ago, in the land before there was automated software engineering…
  • 13. Taxonomy to characterize automation in Software Engineering Research, Sharma & Sodhi, 2021 https://arxiv.org/abs/1803.09536
  • 14. Research trends up to 2016… (Sharma & Sodhi, Arxiv, 2021) 14
  • 15. Research trends up to 2016… (Sharma & Sodhi, Arxiv, 2021) 15
  • 16. ASE Topics (papers may have multiple topics) https://bit.ly/ase2022papers 16
  • 17. 2020 2010 2000 1990 1980 1970 1968 Refactoring (Johnson) Disruptive automations in software engineering industry @margaretstorey Code Authoring AutoML
  • 18. 2020 2010 2000 1990 1980 1970 1968 Test Automation (IBM) Refactoring (Johnson) Disruptive automations in software engineering industry @margaretstorey Code Authoring Testing, Verification & Analysis AutoML
  • 19. 2020 2010 2000 1990 1980 1970 1968 Test Automation (IBM) Refactoring (Johnson) Disruptive automations in software engineering industry @margaretstorey Version control (RCS, CVS) Code Authoring Testing & Analysis Versioning & Review AutoML
  • 20. 2020 2010 2000 1990 1980 1970 1968 Test Automation (IBM) Continuous Integration (Booch) Refactoring (Johnson) Disruptive automations in software engineering industry @margaretstorey Version control (RCS, CVS) Code Authoring Testing & Analysis Versioning & Review Build/CI AutoML
  • 21. 2020 2010 2000 1990 1980 1970 1968 Test Automation (IBM) Continuous Integration (Booch) Refactoring (Johnson) Disruptive automations in software engineering industry @margaretstorey Version control (RCS, CVS) Code Review Inspiring Practices Code Authoring Testing & Analysis Versioning & Review Build/CI AutoML Faganʼs Code Inspection XP Open source
  • 22. Advantages of automation in software engineering Increased productivity High performing teams Maintainability Improved quality Predictability Flexibility Adaptability Fewer errors Faster feedback Fail fast Experimentation and learning Happier developers 22 @margaretstorey
  • 23. Disadvantages of automation on the developers? Misuse/abuse/overuse of automation? Increased skill/competencies needed? Added complexity? Automation as technical debt? Anything else? 23 @margaretstorey
  • 24. Continuous Integration Advantages Improves productivity speed and quality [Vasilescu et al.] Traceability [Stahl et al.] Happier developers [Williams] Disadvantages Increased cognitive load maintaining build code [Pinto et al.] Difficulties attracting developers [Gupta et al.] Failing builds lower developer morale [Souza et al.] 24 @margaretstorey
  • 25. Moving faster is not always better unexpected side effects
  • 26. Automation in Software Engineering - Through the Developersʼ Eyes History of automation in software engineering Future innovations and research How to evaluate the impact of automation on developers
  • 27. Can we fully automate software engineering? @margaretstorey
  • 28. What is software? What it is What it does What people do with it What it can be altered to do 28 @margaretstorey
  • 29. What is software? “Shared theories about problem and solution domains that are in the minds of developers” [Peter Naur, 1985] “Every personʼs mental model is incomplete and out of date but we need them all!” [Jessica Kerr, Explore DDD Conference, 2018] “People are part of the code” [Jean Yang, QCon Panel, 2021] 29 @margaretstorey
  • 30. Software is a dynamic, living, learning system comprised of people + code + tools + environment and the exponential relationships between all of these parts @margaretstorey
  • 31. Since we canʼt fully automate software development… what can we do and what should we do next? @margaretstorey
  • 32. Three types of innovations… 32
  • 33. Three types of innovations… Incremental innovations Breakthrough innovations Experiential innovations 33 @margaretstorey
  • 34. Experiential innovation and software engineering automation Minimize Pains Maximize Gains Not just automate, but augment what developers do to make them more productive and to improve their experience 34 @margaretstorey
  • 35. The SPACE of developer productivity: Thereʼs more to it than you think S – Satisfaction & Well Being P – Performance A – Activity C – Collaboration & Communication E – Efficiency & Flow Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler. 2021. The SPACE of Developer Productivity: There's more to it than you think. ACM Queue. 2021 @margaretstorey
  • 36. Cognitive Complexity Three core dimensions of developer experience 36 Fast Feedback Flow and Fulfillment @margaretstorey Michaela Greiler, Margaret-Anne Storey, Abi Noda: An Actionable Framework for Understanding and Improving Developer Experience, TSE 2022.
  • 37. What is the net effect of automation on cognitive load? How does automation impact developer knowledge and skill? Will the automation create technical debt? Can automation support learning for reuse? Cognitive complexity ~ research opportunities 37 @margaretstorey
  • 38. Fast feedback ~ research opportunities Do automation tools provide actionable and timely information? How can automation improve feedback between developers? Is faster always better? 38 @margaretstorey
  • 39. Developer Flow and Fulfillment 39 Flow is a state of mind, a holistic sensation, that people feel when they act with total involvement [Mihaly Csikszentmihalyi] Clear goals Total sense of involvement Loss of self-consciousness Feeling of control and being in control Altered sense of time Above average skills and challenges
  • 40. Developer Flow and Fulfillment 40 Flow is a state of mind, a holistic sensation, that people feel when they act with total involvement [Mihaly Csikszentmihalyi] Clear goals Total sense of involvement Loss of self-consciousness Feeling of control and being in control Altered sense of time Above average skills and challenges
  • 41. Developer Flow and Fulfillment ~ research opportunities Can automation lead to boredom and reduce the joy in programming? How to design automation that enhances flow experiences? How automation can enhance flow across a team? How can AI be an effective “member” on a software team? 41
  • 43. “At the end of the day, you have to make a judgment decision yourself, you know. All teams rely on all sorts of algorithms and systems, but at the end of the day, a human has to decide when to push a button or when to make a move. If youʼre asking for why the mistakes happen, or for someone to point the finger at, then you should point it firmly at me.” Jimmy Spithill, Skipper of Oracle Team USA, US Americaʼs Cup 2017
  • 44. Automation in Software Engineering - Through the Developersʼ Eyes History of automation in software engineering Future innovations and research How to evaluate the impact of automation on developers
  • 45. “No matter how many technologies you implement, the weakest link will always be the human factor” https://www.contino.io/files/Introduction-to-DevSecOps-Best-Practices-for-Adoption.pdf
  • 46. Research methods - very few directly involve “humans” https://bit.ly/ase2022papers 46 Red research methods involve “people” Data Lab Field Survey Theory
  • 49. Experience sampling method for flow Flow Insight is a tool for helping developers get in and stay in flow Flow Insight evaluates and presents flow metrics that are associated with the code Measuring flow 49 https://flowinsight.com/ (Arty Starr)
  • 50. The dimensions of developer experience may be in tension Remove friction, empower flow Reduce cognitive complexity Improve velocity of feedback 50
  • 51. “while Humanity will be amusing itself, or enjoying cultivated leisure … or making beautiful things, or reading beautiful things, or simply contemplating the world with admiration and delight, machinery will be doing all the necessary and unpleasant work.” Oscar Wilde, The Soul of Man Under Socialism (1891) @margaretstorey
  • 52. Takeaways Study developers for inspiration Consider how your solutions can empower the developer experience Use research methods that study the impact on developers mastorey@gmail.com @margaretstorey https://bit.ly/ase2022papers