Good Project From Scratch

A presentation at PHP Experience in March 2018 in São Paulo, State of São Paulo, Brazil by Paweł Lewtak

Slide 1

Slide 1

G o o d

p r o j e c t f r o m

s c r a t c h D e v e l o p e r ' s

p o i n t

o f

v i e w

Slide 2

Slide 2

P a w e l

L e w t a k D e v e l o p e r

@

G O G . c o m @ p a w e l _ l e w t a k

Slide 3

Slide 3

0 .

D i s c l a i m e r

Slide 4

Slide 4

1 .

A n a l y s i s

Slide 5

Slide 5

W h a t

t o

b u i l d ?

Slide 6

Slide 6

W h a t

p r o b l e m

t o

s o l v e ?

Slide 7

Slide 7

M a r i u s z

G i l " T h e

r o o t

o f

a l l

e v i l

i n

p r o g r a m m i n g

i s m i s u n d e r s t a n d i n g

o f

t h e

p r o b l e m .

A s k r i g h t

q u e s t i o n s

t o

r i g h t

p e o p l e

b e f o r e f i r s t

l i n e

o f

c o d e . "

Slide 8

Slide 8

S t e f a n

P r i e b s c h " T e c h

p e o p l e

m u s t

s p e a k

t h e l a n g u a g e

o f

B u s i n e s s

p e o p l e ,

n o t

v i c e v e r s a . "

Slide 9

Slide 9

D o m a i n

D r i v e n

D e s i g n

Slide 10

Slide 10

E v e n t

S t o r m i n g

Slide 11

Slide 11

W a t e r f a l l

v s

A g i l e

Slide 12

Slide 12

H e r a c l i t u s " T h e

o n l y

t h i n g

t h a t

i s

c o n s t a n t

i s c h a n g e . "

Slide 13

Slide 13

2 .

A r c h i t e c t u r e

Slide 14

Slide 14

M o n o l i t h

v s

M i c r o s e r v i c e s

Slide 15

Slide 15

M a r t i n

F o w l e r " y o u

s h o u l d n ' t

s t a r t

a

n e w

p r o j e c t

w i t h m i c r o s e r v i c e s "

Slide 16

Slide 16

S e r v i c e

O r i e n t e d A r c h i t e c t u r e

Slide 17

Slide 17

C l e a n

a r c h i t e c t u r e

Slide 18

Slide 18

Slide 19

Slide 19

Y o u ' r e

n o t

u n i q u e

Slide 20

Slide 20

D o n ' t

r e i n v e n t

t h e

w h e e l

Slide 21

Slide 21

Slide 22

Slide 22

m i c r o s e r v i c e s s e r v e r l e s s a r t i f i c i a l

i n t e l l i g e n c e m a c h i n e

l e a r n i n g b l o c k c h a i n n o s q l v i r t u a l / a u g m e n t e d

r e a l i t y i n t e r n e t

o f

t h i n g s c l o u d

c o m p u t i n g d e e p

l e a r n i n g q u a n t u m

c o m p u t i n g

Slide 23

Slide 23

3 .

T e s t s

Slide 24

Slide 24

T e s t

D r i v e n

D e s i g n

Slide 25

Slide 25

T e s t s

!

=

T e s t

D r i v e n

D e s i g n

Slide 26

Slide 26

B e h a v i o u r

D r i v e n D e v e l o p m e n t

Slide 27

Slide 27

K e n t

B a c k " I f

i t ' s

h a r d

t o

w r i t e

a

t e s t ,

i t ' s

a

s i g n a l t h a t

y o u

h a v e

a

d e s i g n

p r o b l e m ,

n o t

a t e s t i n g

p r o b l e m "

Slide 28

Slide 28

4 .

C o d e

R e v i e w

Slide 29

Slide 29

Slide 30

Slide 30

5 .

C o n t i n o u s

. . .

Slide 31

Slide 31

C o n t i n o u s

i n t e g r a t i o n

Slide 32

Slide 32

C o n t i n o u s

d e p l o y m e n t

Slide 33

Slide 33

D e p l o y m e n t

!

=

R e l e a s e

Slide 34

Slide 34

Slide 35

Slide 35

6 .

M o n i t o r i n g

Slide 36

Slide 36

7 .

M e t r i c s

Slide 37

Slide 37

B u s i n e s s

M e t r i c s

Slide 38

Slide 38

8 .

A u t o m a t i o n

Slide 39

Slide 39

I f

i t

m o v e s ,

a u t o m a t e

i t !

Slide 40

Slide 40

9 .

D o c u m e n t a t i o n

Slide 41

Slide 41

S t a r t

w i t h

R E A D M E

Slide 42

Slide 42

1 0 .

C o m m u n i c a t i o n

Slide 43

Slide 43

C o m m u n i c a t i o n i s

N O T

a

s o f t

s k i l l

Slide 44

Slide 44

C o m m u n i c a t i o n i s

a

c o r e

s k i l l !

Slide 45

Slide 45

D e n t o n

G e n t r y " I

w i s h

t h e

u n d e r s t a n d i n g

w e r e

m o r e w i d e s p r e a d

t h a t

w e

p l a t e a u

i n

c o d i n g s k i l l

m i d

c a r e e r ,

i t

i s

a l l

a b o u t c o m m u n i c a t i o n

a f t e r

t h a t "

Slide 46

Slide 46

T h a n k

y o u !

Slide 47

Slide 47

Q u e s t i o n s