Feedback Loops in Practice

Marcus Denker
Marcus DenkerResearch Scientist at INRIA
Feedback Loops
in Practice
Marcus Denker
Talk held at ESUG2017
Two talks
ESUG14
https://www.slideshare.net/MarcusDenker/2014-esugcathedral
ESUG16
https://www.slideshare.net/MarcusDenker/perfection-feedback-loops-or-why-worse-is-better-65540840
(do not expect too much)
ESUG14
Feedback Loops in Practice
Feedback Loops in Practice
Scaffolding
ESUG16
Perfection
Feedback
Smalltalk can be feedback
loop
Smalltalk should be
feedback loop
TODAY
What does that mean in
reality?
Examples for Pharo
What we do / what are the
challenges
Goal: Getting feedback and
ideas!
Trivial Changes
2014
Every improvement has an
effect
2014
2014
A small change fed back will
have huge payout
2016
A tiny linear change now would be
a huge change some iterations ago
2016
Trivial Change
• Issue tracker
• Make it easy to contribute
• Do not ignore contributions
Issue Tracker
• Fun: It was once thought as not needed
• Record issues people have
• Record contributions, too!
• Open: 651 Closed: 17459 (!!)
Challenges
• Work needed to keep clean
• Duplicates, already fixed, non-actionable…
• Reviewing / Getting in good state
• Actually fixing reported bugs
Solutions
• Automatic close after 1 year inactivity
• Has to be automatic else people get upset
• Some people look every to keep things in check
• Regular Sprints: every last Friday the month
• More fun to do together then alone!
Make it easy
• It should be very easy to contribute
• We are not there yet!
Large(r) Change
2014
Scaffolding
2014
Todays system is scaffolding
for tomorrow
2014
Feedback Loops in Practice
Elephant in the Room
Backward Compatibility
Example: Bloc/Bric
You can not stay 100% compatible
to Morphic and do something better
Morphic is scaffolding to
develop the next step
The Platform
Jump to large
Project1
Project2
Project3
2014
Nomadic Solution
- Do not build infrastructure
- Use resources until depleted
- Move on
2014
The Platform
Jump Possible
Project1
Project2
Project3
Project4
2014
https://www.youtube.com/watch?v=y97rBdSYbkg
Backward Compatibility
• Especially problematic for portable projects
• Why improve the Platform if projects can only
use a 100% backward compatible subset?
• Is that a good situation?
Backward Compatibility
• We need better tools and structures to support
evolution of client code
• Some experiments: rewriting deprecations (fun!)
Accept Imperfection
2016
2016
True for both small and big
small
Good enough to integrate
• Deciding to integrate is very very hard
• You do not want to reject everything
• But accepting blindly is wrong, too
• Lots of work!
Involve the community
• Make it easy to review and test
• Delegate reviewing to subsystem maintainers
• Accept that nothing is perfect and mistakes can
happen.
Accept Chaos
• You can not control everything. There is not
enough time in the day.
• Things can get to be a bit chaotic at times
• Yet better than limiting activity to what is
controllable
Feedback + Chaos
• Many examples where systems got into loop
based exponential growth are examples lack of
control:
• The web vs. online services
• Many examples at companies
• e.g Unics vs Multics, even X86 (often
examples of perfect vs. DONE).
Release =! Perfect
• Until Pharo 6: Lots of critic from outsiders about
releasing something not perfect.
• But: Releases are done every year, not when
everything is perfect.
Learned helplessness
• Smalltalk is open, can be changed
• Clients are programmers
• People do change tools/environment
• But “Smalltalk, the system” did not learn
Structure for Feedback
Structure for Feedback
• Example: GT Inspector
• Extending the inspector is easy
• There are lots of examples
• It can be done in a modular way
Structure for Feedback
• Future Example: Sista
• Implement Optimizer of the VM in the Image
• Makes it easier (hopefully) for Smalltalkers to
contribute
… round 1,000 times the global production of rice in 2010
(464,000,000 metric tons)
2016
If it really works…
… we have a problem
Growth: everything gets
“more”
Challenge: Growth
• More Boring tasks
• More complex tasks
• Require full time, long term attention
Solution for Scaling
• Technical
• e.g. Git for reviews and submissions, more
people can get involved.
• Community Structure
• Example: Consortium
• Even better solutions can be invented!
Input needed!
• Now
• At the Conference
• Later by Mail or in Discord
Twitter: @marcusdenker
http://marcusdenker.de
1 of 65

More Related Content

Similar to Feedback Loops in Practice

Feedback Loops in PracticeFeedback Loops in Practice
Feedback Loops in PracticeESUG
106 views64 slides
What is devopsWhat is devops
What is devopsAaron Blythe
918 views51 slides
why agile?why agile?
why agile?Tathagat Varma
9.3K views50 slides

More from Marcus Denker(20)

Soil And PharoSoil And Pharo
Soil And Pharo
Marcus Denker47 views
ConstantBlocks in Pharo11ConstantBlocks in Pharo11
ConstantBlocks in Pharo11
Marcus Denker50 views
Demo: Improved DoItDemo: Improved DoIt
Demo: Improved DoIt
Marcus Denker4 views
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
Marcus Denker413 views
Variables in PharoVariables in Pharo
Variables in Pharo
Marcus Denker84 views
Improving code completion for PharoImproving code completion for Pharo
Improving code completion for Pharo
Marcus Denker292 views
Slot CompositionSlot Composition
Slot Composition
Marcus Denker295 views
Lecture: Advanced Reflection. MetaLinksLecture: Advanced Reflection. MetaLinks
Lecture: Advanced Reflection. MetaLinks
Marcus Denker1.4K views
PHARO IOTPHARO IOT
PHARO IOT
Marcus Denker2.9K views
Open-Source: An Infinite GameOpen-Source: An Infinite Game
Open-Source: An Infinite Game
Marcus Denker1.2K views
Lecture: MetaLinksLecture: MetaLinks
Lecture: MetaLinks
Marcus Denker4.1K views
PharoTechTalk: Contributing to PharoPharoTechTalk: Contributing to Pharo
PharoTechTalk: Contributing to Pharo
Marcus Denker684 views
Pharo6 - ESUG17Pharo6 - ESUG17
Pharo6 - ESUG17
Marcus Denker709 views
Pharo6Pharo6
Pharo6
Marcus Denker503 views
Reflection in Pharo: Beyond SmalltakReflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker1.2K views

Feedback Loops in Practice