Good Project From Scratch

A presentation at DevDays Vilnius in May 2018 in Vilnius, Lithuania 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

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

A l b e r t o

B r a n d o l i n i " I t ' s

d e v e l o p e r s

( m i s ) u n d e r s t a n d i n g n o t

e x p e r t

k n o w l e d g e

t h a t

g e t ' s r e l e a s e d

t o

p r o d u c t i o n "

Slide 9

Slide 9

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 10

Slide 10

L u d w i g

W i t t g e n s t e i n " T h e

l i m i t s

o f

m y

l a n g u a g e

m e a n

t h e l i m i t s

o f

m y

w o r l d . "

Slide 11

Slide 11

D o m a i n

D r i v e n

D e s i g n

Slide 12

Slide 12

E v e n t

S t o r m i n g

Slide 13

Slide 13

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 14

Slide 14

2 .

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

Slide 15

Slide 15

M o n o l i t h

v s

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

Slide 16

Slide 16

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 17

Slide 17

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 18

Slide 18

C l e a n

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

Slide 19

Slide 19

Slide 20

Slide 20

Y o u ' r e

n o t

u n i q u e

Slide 21

Slide 21

D o n ' t

r e i n v e n t

t h e

w h e e l

Slide 22

Slide 22

Slide 23

Slide 23

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 24

Slide 24

3 .

T e s t s

Slide 25

Slide 25

T e s t

D r i v e n

D e s i g n

Slide 26

Slide 26

T e s t s

!

=

T e s t

D r i v e n

D e s i g n

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

&

L o g g 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

N i r a n j a n

P a r a n j a p e " I f

b o r i n g

r e p e t i t i v e

t h i n g s

a r e n ' t a u t o m a t e d

a

m a n a g e r

g e t s

h i r e d . "

Slide 41

Slide 41

9 .

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

Slide 42

Slide 42

S t a r t

w i t h

R E A D M E

Slide 43

Slide 43

D a m i a n

C o n w a y " D o c u m e n t a t i o n

i s

a

l o v e

l e t t e r

t h a t y o u

w r i t e

t o

y o u r

f u t u r e

s e l f . "

Slide 44

Slide 44

1 0 .

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

Slide 45

Slide 45

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 46

Slide 46

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 47

Slide 47

J e s s i c a

K e r r " P e o p l e

w h o

d o n ' t

s h a r e

t h e i r k n o w l e d g e

l o o k

m o r e

p r o d u c t i v e b e c a u s e

t h e y ' r e

h o l d i n g

b a c k

t h e e n t i r e

t e a m . "

Slide 48

Slide 48

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 49

Slide 49

T h a n k

y o u !

Slide 50

Slide 50

Q u e s t i o n s