the power of feedback loops
TRANSCRIPT
![Page 1: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/1.jpg)
THE POWER OF FEEDBACK LOOPS
![Page 2: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/2.jpg)
Hello!I am Luca MezzaliraSolutions Architect at Massive Interactive
Google Developer Expert on web technologies
London Javascript Community Manager
![Page 3: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/3.jpg)
Agenda
▷What is the feedback loop ?
▷Empirical vs Scientific approach
▷How can we integrate the feedback loop in our development flow ?
▷Collect and analyse data
![Page 4: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/4.jpg)
1.The FEEDBACK LOOP
![Page 5: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/5.jpg)
“Feedback loops provide generic mechanisms for
controlling the running, maintenance, and
evolution of software and computing systems.
https://en.wikipedia.org/wiki/Feedback
![Page 6: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/6.jpg)
Feedback Loop in Scrum
▷ Sprint➢ Daily standup➢ Sprint
Retrospective➢ Sprint Review
![Page 7: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/7.jpg)
PDCA Cycle: the loop behind the continuous improvement
▷ Plan▷ Do▷ Check▷ Act
![Page 8: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/8.jpg)
Why is feedback loop so important in software development ?
![Page 9: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/9.jpg)
2.EMPIRICAL vs
SCIENTIFIC
![Page 10: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/10.jpg)
H2OH2OH2O
![Page 11: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/11.jpg)
![Page 12: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/12.jpg)
Keywords
EXPERIMENTS
TRIALS
FEEDBACK
METRICS
SMALL & CONSTAN
T
FOCUS
![Page 13: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/13.jpg)
Let’s createa chain of loops!▷ Automation Testing*▷ Continuous
Integration*▷ Pair Programming*▷ Code Reviews*▷ Static Analysis*▷ QA testing▷ Emergent Design*▷ Standup▷ Sprint Review▷ Sprint Retrospective
secs
mins
hoursdays
weeks
![Page 14: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/14.jpg)
MAIN
G
OALS
● CODE QUALITY● CODE STANDARDS● CATCH BUGS EARLY● BETTER PERFORMANCES● MAINTAINABILITY● MEET THE REQUIREMENTS● CREATE VALUE● SHARE KNOWLEDGE WITHIN THE TEAM● CONTINUOUS IMPROVEMENT
![Page 15: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/15.jpg)
Remember remember...
![Page 16: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/16.jpg)
3.INTEGRATE feedback
loop inside our development FLOW
![Page 17: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/17.jpg)
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation.
Automation Testing
Feedback frequency: SECONDSGoals: CATCH BUGS EARLIER, CODE QUALITY & MAINTAINABILITY
https://en.wikipedia.org/wiki/Software_testing
![Page 18: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/18.jpg)
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
By integrating regularly, you can detect errors quickly, and locate them more easily.
Continuous Integration
Feedback frequency: SECONDS
https://www.thoughtworks.com/continuous-integration
Goals: RELIABLE CODE, CREATE VALUE, CODE QUALITY & STANDARDS, CATCH BUGS EARLIER
![Page 19: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/19.jpg)
Pair programming (sometimes referred to as peer programming) is an agile software development technique in which two programmers work as a pair together on one workstation.One, the driver, writes code while the other, the observer, pointer or navigator, reviews each line of code as it is typed in.The two programmers switch roles frequently.
Pair Programming
Feedback frequency: SECONDS
https://en.wikipedia.org/wiki/Pair_programming
Goals: SHARED KNOWLEDGE & BETTER CODE QUALITY
![Page 20: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/20.jpg)
Code review is systematic examination (often known as peer review) of computer source code.It is intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers' skills
Code Reviews
Feedback frequency: MINUTES
https://en.wikipedia.org/wiki/Code_review
Goals: BETTER CODE QUALITY, PERFORMANCE IMPROVEMENTS & SHARED KNOWLEDGE
![Page 21: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/21.jpg)
Static program analysis is the analysis of computer software that is performed without actually executing programs (analysis performed on executing programs is known as dynamic analysis).In most cases the analysis is performed on some version of the source code, and in the other cases, some form of the object code.
Static Analysis
Feedback frequency: MINUTES
https://en.wikipedia.org/wiki/Code_review
Goals: BETTER CODE QUALITY, CODE STYLE COMPLIANT & PERFORMANCE IMPROVEMENT
![Page 22: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/22.jpg)
Emergent design is a consistent topic in agile software development, as a result of the methodology focus on delivering small pieces of working code with business value.The end result is a simpler design with a smaller code base, which is more easily understood and maintained and naturally has less room for defects
Emergent Design
Feedback frequency: HOURS
https://en.wikipedia.org/wiki/Emergent_Design
Goals: BETTER CODE QUALITY, HANDLE NEW REQUIREMENTS & MAINTAINABILITY
![Page 23: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/23.jpg)
4.Collect and analyse data
![Page 24: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/24.jpg)
![Page 25: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/25.jpg)
![Page 26: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/26.jpg)
![Page 27: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/27.jpg)
![Page 28: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/28.jpg)
![Page 29: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/29.jpg)
www.scrumalliance.org/community/articles/2015/march/the-power-of-feedback-loops
![Page 30: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/30.jpg)
Wrap up
![Page 31: The Power of Feedback Loops](https://reader036.vdocuments.net/reader036/viewer/2022062823/587899b71a28ab375f8b72d5/html5/thumbnails/31.jpg)
Instructions for useOFTENMore feedback loops will allow your project to hit your users/customers goals
SHORTKeep the iterations as short as possible in order to close more feedback loops as possible
MEASURABLECollect information and metrics in order to improve your current situation
CONTINUOUS IMPROVEMENTAdd an improvement per time, don’t add too many techniques in one go!