5. Speed === €€€ *
* € - the unit to measure the business value
6. 10 mins Client
Giving some
requirements
Developer
Writing some lines of
code
FTP
Deployment process *
* triggered “on file save”
PROD
It’s DONE!
Fast delivery
8. The bigger your project grows - more problems you get
● ISIGN
○ 3 products
○ X shared components
● Needs
○ Deploy any time, any version
Where it all began?
9. Managing risks
● Identify the main project risks
○ Buggy deployments
■ Availability
○ Software quality
● Risk mitigation
○ Automated tests
○ Deployment process
■ Deploy to staging
■ Schema migrations
■ Rollbacks
10. Business
Says “I NEED STUFF”
Developer
Writes few lines of
code, some lines of
tests. DONE!
BIG AND
Mr. Jenkins territory
SCARY
PROCESS
Operations guy
“scripts”
PROD
Finally, it’s
available on prod!
DONE DONE!
I write code, aaaand it’s done!
14. Identifying issues
● Developer’s DONE doesn’t correlate with business expectations
● Developer is not familiar with the automated process
● Code reviews takes a lot of time
● Operations guy doesn’t know what developers are doing
● And we have translations guy! We can call him John. He knows nothing.
15. Developer deploys
using automated
scripts!
Team effort - from the beginning to the end
Business
Says “I NEED STUFF”
Developer
Writes few lines of
code, some lines of
tests!
Testing
Mr. Jenkins runs tests
Code reviews
Deployment PROD
It’s DONE!
16. Integrating team members into the process
● Communication
● Responsibility boundaries
● Everybody has to know what he is doing
17. Orchestrating the delivery process
● Atomic tasks
● Atomic commits
● Easy to read
● Easy to review
● Easy to test
● Deployable to prod
18. Don’t postpone, merge it!
● Avoid long living branches
● Avoid versioning trees
● Big merges leads to
missing features
23. Everything
begins with a
ticket
“We need to have ‘premium users’
and ‘free users’ which will have
portal usage limits.
Premium users also will get
premium features*, for which users
are going to pay by credit card**” ...