Upload
pgarrudo
View
800
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Certified Professionals Meet-up:Paulo and Pedro worked in some of the most complex projects delivered with the Agile Platform. They will share with you a set of tips and best practices about architecture design and refactoring. You will be able to apply these in your own projects and avoid spaghetti architectures that would eventually kill your project.
Citation preview
How to avoid spaghetti
Worldwide OutSystems Certified Professionals Meet-up
Paulo GarrudoPedro Queirós
architectures?
Our Goals
Share our experience with you
Give you tips for creating good
architectures
Pedro Queirós
2.000.000 software units
Paulo Garrudo
25agile
projects
Design
Implementation
Documentation
Evaluation
ImpactWorldwide OutSystems
Certified Professionals Meet-up
Paulo Garrudo, Expert Deliver ManagerPedro Queirós, Expert Developer
SAP Integrati
on
CRM
Human Resources
Invoicing
Fleet Management
Productivity
Team Happiness
Low Reusability
Out of Control
The first two tests…
Can you deploy quickly?test #1
Does the team complain about "code clashing"?
test #2
Design
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
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
Implementation
Implementation
Create well defined modules
Simplify with abstraction
Isolate integrations
Use a Model View Controller pattern
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
Documentation
Documentation
Just do it!
Protect your architecture from 3rd
parties
Be ware: code still “compiles” with
a broken architecture
Is the team aware of the system’s architecture?
test #9
Why are you changing?test #10
Documentation
Evolution
Evaluation
Iteratively and during the project
Grow your team’s architecture
knowledge
Keep an updated list of tests/metrics
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.