25
How to avoid spaghetti Worldwide OutSystems Certified Professionals Meet-up Paulo Garrudo Pedro Queirós architectures?

OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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

Page 1: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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

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

Pedro Queirós

2.000.000 software units

Page 4: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

Paulo Garrudo

25agile

projects

Page 5: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

Design

Implementation

Documentation

Evaluation

Page 6: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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

Productivity

Page 8: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

Team Happiness

Page 9: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

Low Reusability

Page 10: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

Out of Control

Page 11: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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

Design

Page 13: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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

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

Implementation

Page 16: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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

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

Documentation

Page 19: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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

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

Evolution

Page 22: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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
Page 24: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

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.

Page 25: OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

Paulo [email protected]

Pedro Queiró[email protected]

Thank you!