OutSystems Certified Professionals Meet Up - How To Avoid Spaghetti Architectures

Post on 24-Jun-2015

800 views 4 download

Tags:

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.

Transcript of 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?

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.

Paulo Garrudopaulo.garrudo@outsystems.com

Pedro Queiróspedro.queiros@outsystems.com

Thank you!