OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures
description
Transcript of OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures
![Page 1: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/1.jpg)
How to avoid spaghetti
Worldwide OutSystems Certified Professionals Meet-up
Paulo GarrudoPedro Queirós
architectures?
![Page 2: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/2.jpg)
Our Goals
Share our experience with you
Give you tips for creating good
architectures
![Page 3: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/3.jpg)
Pedro Queirós
2.000.000 software units
![Page 4: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/4.jpg)
Paulo Garrudo
25agile
projects
![Page 5: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/5.jpg)
Design
Implementation
Documentation
Evaluation
![Page 6: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/6.jpg)
ImpactWorldwide OutSystems
Certified Professionals Meet-up
Paulo Garrudo, Expert Deliver ManagerPedro Queirós, Expert Developer
SAP Integrati
on
CRM
Human Resources
Invoicing
Fleet Management
![Page 7: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/7.jpg)
Productivity
![Page 8: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/8.jpg)
Team Happiness
![Page 9: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/9.jpg)
Low Reusability
![Page 10: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/10.jpg)
Out of Control
![Page 11: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/11.jpg)
The first two tests…
Can you deploy quickly?test #1
Does the team complain about "code clashing"?
test #2
![Page 12: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/12.jpg)
Design
![Page 13: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/13.jpg)
Design
Design first, develop second
Keep it simple, yet modular
Don’t focus on optimization details
Validate your design with peers
Listen to the business
![Page 14: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/14.jpg)
Design
Did you validate your architecture with peers?
test #3
Can you identify the core modules?
test #4
Can you map your business into the architecture?
test #5
![Page 15: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/15.jpg)
Implementation
![Page 16: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/16.jpg)
Implementation
Create well defined modules
Simplify with abstraction
Isolate integrations
Use a Model View Controller pattern
![Page 17: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/17.jpg)
Implementation
Can you foresee module changes for new requirements?
test #6
Is it clear which module is responsible for an integration?
test #7
Can you reuse/replace a module?
test #8
![Page 18: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/18.jpg)
Documentation
![Page 19: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/19.jpg)
Documentation
Just do it!
Protect your architecture from 3rd
parties
Be ware: code still “compiles” with
a broken architecture
![Page 20: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/20.jpg)
Is the team aware of the system’s architecture?
test #9
Why are you changing?test #10
Documentation
![Page 21: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/21.jpg)
Evolution
![Page 22: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/22.jpg)
Evaluation
Iteratively and during the project
Grow your team’s architecture
knowledge
Keep an updated list of tests/metrics
![Page 23: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/23.jpg)
![Page 24: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures](https://reader036.fdocuments.in/reader036/viewer/2022062319/558a5049d8b42ae25d8b459f/html5/thumbnails/24.jpg)
DisclamerLorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque iaculis vehicula nisi nec venenatis. Integer pretium elementum metus consectetur gravida. Etiam orci sapien, interdum bibendum vulputate eu, lobortis nec purus. In sed dui nisl, nec condimentum augue. Maecenas feugiat semper hendrerit. Etiam consequat blandit nunc, nec viverra sapien cursus quis. Ut aliquet ipsum ac nisi venenatis porta. Sed ut risus urna, tincidunt interdum massa. Mauris convallis erat a risus venenatis accumsan. Praesent metus felis, fringilla eget elementum non, semper a purus. Morbi ac justo quis magna eleifend placerat. Etiam rhoncus venenatis elit, vel imperdiet arcu convallis id. Aliquam pellentesque dolor eget est dignissim tristique. Curabitur in mollis elit. Sed vitae nisl nisl. Mauris vehicula porta quam eget mattis. Morbi lectus velit, volutpat quis tincidunt quis, adipiscing id diam.
Suspendisse potenti. Ut aliquet ullamcorper auctor. Aenean lobortis euismod ipsum, quis rhoncus felis iaculis nec. Nunc tincidunt accumsan porta. Nulla viverra mauris quis lorem hendrerit ornare. Pellentesque porta rhoncus odio, eu accumsan leo elementum id. In lectus risus, pulvinar eu scelerisque eget, porttitor sed nibh. Vestibulum et pretium purus. In risus justo, vestibulum id vulputate et, rhoncus quis dui. Quisque neque tortor, ultricies ac pellentesque vel, tempor eu nibh. Sed quis lectus nec elit auctor semper ac vitae dui. Pellentesque hendrerit pharetra tincidunt. Nulla turpis massa, dignissim id molestie at, volutpat in dolor. Vestibulum sem arcu, auctor sed congue sit amet, feugiat id nisi. Mauris nec diam quis est facilisis porta eget non dolor. Aliquam erat volutpat. Quisque ut nisl lacus, in pharetra nibh. Nam fringilla malesuada enim, eget commodo ligula sodales vel. Praesent vulputate placerat felis vitae volutpat. Pellentesque vel pulvinar felis.
Nulla facilisi. Ut tincidunt justo eu magna pretium non aliquam urna faucibus. Nullam vitae malesuada leo. Fusce eu turpis a metus ultricies laoreet. Integer lacus lorem, convallis id commodo nec, laoreet in magna. Nunc aliquet feugiat elit, eget egestas turpis dictum facilisis. Sed vitae dignissim neque. Vestibulum feugiat, ligula quis egestas placerat, ante justo imperdiet libero, eget semper risus ipsum sit amet erat. Quisque sodales consectetur enim, ultricies placerat quam vehicula vitae. Aliquam sed neque vitae felis facilisis imperdiet. Proin in tellus eros, fringilla fermentum nibh.