Surviving architecture

Post on 08-May-2015

783 views 0 download

description

An explanation, why agility is not only a question of development and design, but also important for architecture.

Transcript of Surviving architecture

surviving architecture

Mittwoch, 23. Juni 2010

?

Mittwoch, 23. Juni 2010

๏ PHP, C++, Developer, Software Architect since 1992

๏ PHP since 1998๏ Many successful projects from 2 to 20 developers

๏ Running right now three projects using eXtreme

Programming

๏ CTO and (Co-)Founder swoodoo AG๏ Founder OXID eSales AG

Lars Jankowfsky

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

...awesome!!!

Mittwoch, 23. Juni 2010

...awesome!!!

Mittwoch, 23. Juni 2010

...awesome!!!

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

๏ PHP, Delphi, Java, Developer, Software since 1992

๏ PHP since 1999๏ Many successful projects from 2 to 20 developers

๏ Running a company based on SCRUM, XP and Crystal

Clear

Johann-Peter Hartmann

Mittwoch, 23. Juni 2010

CTO CEO

Mittwoch, 23. Juni 2010

CTO CEO... develops big web apps

Mittwoch, 23. Juni 2010

CTO CEO... develops big web apps

...fixes security issues done by Mayflower

Mittwoch, 23. Juni 2010

WHY?Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Great!

Mittwoch, 23. Juni 2010

but

Mittwoch, 23. Juni 2010

but

... don‘t you hate that word?

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

right?

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Java!

Ruby on Rails

PHP

Scala/Lift

MVC

NOSQL

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

client - server

Mittwoch, 23. Juni 2010

client - server... kinda old school

Mittwoch, 23. Juni 2010

Frontend and Backend

Mittwoch, 23. Juni 2010

Three-tier model

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Event Driven Architecture

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Implicit invocation

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Monolithic application

Mittwoch, 23. Juni 2010

Monolithic application...most likely your first

software project

Mittwoch, 23. Juni 2010

Peer 2 Peer

Mittwoch, 23. Juni 2010

S.O.A.

Mittwoch, 23. Juni 2010

S.O.A.

Mittwoch, 23. Juni 2010

C.O.A.

Mittwoch, 23. Juni 2010

Shared nothing

Mittwoch, 23. Juni 2010

Space based

Mittwoch, 23. Juni 2010

Messaging/Queues

Mittwoch, 23. Juni 2010

HOW?Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

What your architecture should provide

Mittwoch, 23. Juni 2010

(ISO 9126 for fun and profit)

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

FURPS

Mittwoch, 23. Juni 2010

Not every architecture works everywhere

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

A.T.A.M.

Mittwoch, 23. Juni 2010

check business drivers

Mittwoch, 23. Juni 2010

check architecture quality goals

Mittwoch, 23. Juni 2010

let stakeholders create important scenarios

Mittwoch, 23. Juni 2010

check architectures

Mittwoch, 23. Juni 2010

Identify PITA per architecture

Mittwoch, 23. Juni 2010

Identify PITA per architectureWTF/Min.

Mittwoch, 23. Juni 2010

DECIDE

Mittwoch, 23. Juni 2010

So you know the right architecture?

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

... Houston, we have a problem!

Mittwoch, 23. Juni 2010

Fortune 500

Mittwoch, 23. Juni 2010

1976-1986:

50 Companies changed.

Mittwoch, 23. Juni 2010

2010:

36 Companies changed.

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

But it‘s cool to change fast, too

Mittwoch, 23. Juni 2010

You + Change =1 Month

Mittwoch, 23. Juni 2010

Competitor + Change = 12 Months

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Startup Architecture

Lifecycle

Mittwoch, 23. Juni 2010

create cheap prototype

Startup Architecture

Lifecycle

Mittwoch, 23. Juni 2010

create cheap prototype

Startup Architecture

Lifecycle

get VC,grow fast

Mittwoch, 23. Juni 2010

create cheap prototype

Startup Architecture

Lifecycle

get VC,grow fast

succeed

Mittwoch, 23. Juni 2010

create cheap prototype

Startup Architecture

Lifecycle

get VC,grow fast

succeedget screwed

by your cheap fast

architecture

Mittwoch, 23. Juni 2010

create cheap prototype

Startup Architecture

Lifecycle

get VC,grow fast

succeed

do it right

get screwed by your

cheap fast architecture

Mittwoch, 23. Juni 2010

Architecture must change

Mittwoch, 23. Juni 2010

„Flexibility can be viewed as an option“

Mittwoch, 23. Juni 2010

„Flexibility can be viewed as an option“

Nobel price lecture 1997

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Volatile environments

Mittwoch, 23. Juni 2010

Volatile environmentsYou are here.

Mittwoch, 23. Juni 2010

„Real Options“

Mittwoch, 23. Juni 2010

„Real Options“Google Dork

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Growth Option

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Exit Option

Mittwoch, 23. Juni 2010

http://www.flickr.com/photos/grdloizaga/

Mittwoch, 23. Juni 2010

Platform Option

http://www.flickr.com/photos/grdloizaga/

Mittwoch, 23. Juni 2010

http://www.flickr.com/photos/randysonofrobert/

Mittwoch, 23. Juni 2010

Delay Option

http://www.flickr.com/photos/randysonofrobert/

Mittwoch, 23. Juni 2010

http://www.flickr.com/photos/randysonofrobert/

Mittwoch, 23. Juni 2010

Learning Option

http://www.flickr.com/photos/randysonofrobert/

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

=Mittwoch, 23. Juni 2010

Embrace change!

Mittwoch, 23. Juni 2010

Surviving architecture howto

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

„Everything in software changes.“Kent Beck, 2000

Mittwoch, 23. Juni 2010

Agile!is a 100% match

Mittwoch, 23. Juni 2010

No reengineering,No refactoring,No evolution

Mittwoch, 23. Juni 2010

TDD

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Deliver frequently

Mittwoch, 23. Juni 2010

Continuous Integration

Mittwoch, 23. Juni 2010

Commit frequently

Mittwoch, 23. Juni 2010

fight code aging!!!

Mittwoch, 23. Juni 2010

Continuous Inspection

Mittwoch, 23. Juni 2010

Quality matters even more

Mittwoch, 23. Juni 2010

quick != dirty

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

D.R.YDo Not Repeat Yourself

Mittwoch, 23. Juni 2010

Mittwoch, 23. Juni 2010

Y.A.G.N.IMittwoch, 23. Juni 2010

(c) 2003 Extreme Programming Perspectives Hakan Erdogmus and John Favaro

Mittwoch, 23. Juni 2010

Architecture documentation ...

Mittwoch, 23. Juni 2010

... on paper doesnot work anymore.

Mittwoch, 23. Juni 2010

That‘s it.Questions anyone?

Mittwoch, 23. Juni 2010