Alexander Beletsky
Ph.D, Software Engineer, Lead Architect at blogfoster GmbH
http://beletsky.net
https://github.com/alexbeletsky
@alexbeletsky
Slide 3
Slide 3 text
Full Stack
Development
Less specialization, more generalization.
Slide 4
Slide 4 text
Back End
REST API’s, Databases, Sockets, AWS, Message Queues etc..
Slide 5
Slide 5 text
Front End
JavaScript, ES6, HTML/CSS, React.js / Redux, Webpack etc…
Slide 6
Slide 6 text
Full Stack Culture
One Developer
One Feature
One Release
Being able to produce the features, not just a code pieces.
Slide 7
Slide 7 text
Embrace Full Stack
It’s cheeper, faster more productive and fun
Slide 8
Slide 8 text
XP Practices
How to do right things.
Slide 9
Slide 9 text
Continuous
Integration
The codebase is in deployable state. Always.
Slide 10
Slide 10 text
master develop branches
• No direct commits
• Always green
• Accepts merges from
`develop` branch
• Always reflects the current
production
• No direct commits
• Always green
• Merges from
`feature_branches`
branches
• Always reflects the current
staging env
• Anytime could be merged to
`master` and deployed
• Work happens here
• Rebased from `develop`
branch
• Could be red, but not for a long
time
• Source for pull requests to
`develop` branch
• Should take care of breaking
changes
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
Code Review &
Pair Programming
Early problem detection and knowledge sharing.
Slide 14
Slide 14 text
.. just start the discussion
Slide 15
Slide 15 text
The Good Code
Review possible if:
• Reviewer has better qualification
• Reviewer fully understands user story
• Reviewer is able to test the story
Slide 16
Slide 16 text
The First Rule
of Code Review
Slide 17
Slide 17 text
The First Rule
of Code Review
&QPņVDGCPCUUJQNG
Slide 18
Slide 18 text
Test Driven
Development
A program that has not been tested does not work.
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
The Good TDD
possible if:
• Team has high qualification & experience
• Team shares the same technical values and discipline
• Team cares about quality of their output
Slide 21
Slide 21 text
from
TDD
to
BDD
Behavior driven development is the way of testing, where focus is
placed into behavior of whole system, not implementation
details of particular function.
Slide 22
Slide 22 text
Works great
for REST API testing
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
Embrace XP
It’s time-proven, scalable, for predictable results
Slide 25
Slide 25 text
XP Practices,
work only for
team of responsible professionals..
Slide 26
Slide 26 text
Engineering
Processes
How to do right things with Agile approach.
Slide 27
Slide 27 text
Product & Sprint
Backlogs
The overview of what need to be done.
Slide 28
Slide 28 text
Resource Planning
Estimate the available resources for a sprint.
Slide 29
Slide 29 text
Planning Poker
Estimate each story from a product backlog.
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
Commit to the Plan
Everyone have to be confident and commit to the plan.
Slide 32
Slide 32 text
Execute it
2 weeks sprint. Features which are ready immediately deployed.
Slide 33
Slide 33 text
Demo Day &
Retrospective
Reflect what’s been archived in 2 weeks.
Slide 34
Slide 34 text
Embrace Agile
It’s iterative, easy to understand, lightweight
Slide 35
Slide 35 text
Business &
Technology
We are on the same boat.
Slide 36
Slide 36 text
Clear Business
Goals (OKR’s)
Objective-Key-Results brings a transparency for a whole
company.
Slide 37
Slide 37 text
Regular "all-hands"
meetings
Because you have to understand what guys from other
department do.
Slide 38
Slide 38 text
Regular company
based retrospective
Based on OKR’s or not, successes and failures all have to be
visible.
Slide 39
Slide 39 text
P.S.
It has to be fun :)
Slide 40
Slide 40 text
Build the Culture
Culture is very important, even for early-days startup. Good
culture in tech teams would make you feel being a part of
something important, take your job seriously and grow as
professional together with company.