0
Continuous Updating
How do you keep track
of your LIBRARIES?
How many DEPENDENCIES do
you have in your project?
Which LICENSES are
your dependencies
using?
You don’t know ?
15 years ago we used to work with the WATERFALL MODEL
Requirements
Analysis
Design
Coding
Testing
Accepting
But today we are AGILE!
Everything the Waterfall Model used
to execute in one year ...
!

... we nowadays execute in 2 weeks!
The way we develop software
today totally changed!
Being AGILE got us
CONTINUOUS Testing
CONTINUOUS Refactoring
CONTINUOUS Integration
CONTINUOUS Delivery
But what about

CONTINUOUS Updating ?
How do you update your
LIBRARIES ?
You don’t ?
Because you never touch a
running system, right ?
So you wanna work
with COBOL? Right?
Enjoy!
If you can't fly then run,
if you can't run then walk,
if you can't walk then
crawl,
but whatever you do
you have to keep ...
Core committers don’t release
new versions just for fun!
They always have good reasons
•
•
•
•

Bug Fixes
Security Fixes
Speed & Memory optimization
New Features
How do you ensure that new
versions don’t break the system?
Semantic Versioning
Migration Paths
Continuous Testing
http://semver.org/
MAJOR.MINOR.PATCH
1.MAJOR version when you make incompatible API changes
2.MINOR version when you add functionality in a b...
Always follow the
MIGRATION PATH!
Many small steps are
better than one big step
!

You can do SMALL MIGRATIONS on the fly.
!

BIG MIGRATIONS are risky and e...
Don’t miss migration paths!
1

migrate

2

migrate

3

big migration … expensive

migrate

4
Always run your TESTS against new versions
Another reason for being current
Do you really believe
those young talents
wanna work with
COBOL?
Or other OLD SHIT?
Tracking versions is a pain!
SOFTWARE LIBRARIES
are NOT like iPhone
Apps!
100 libraries per
project in avg.
After 2 weeks the first libraries are OUT-DATED!
Developers are missing critical BUG FIXES
and important UPDATES!
Manually checking for
updates is no fun!
!

It cost TIME & MONEY!
!

NOBODY WANTS TO DO IT!
So, how do you wanna solve this
PROBLEM?
You have to
AUTOMATE!
You need a TOOL for that!
GemNotifier
Languages

Ruby

Gemnasium

VersionEye

Ruby, Node.JS

Java, Ruby, NodeJS,
Python, PHP, Clojure,
JavaScript, O...
www.VersionEye.com
Keeps an eye on more than 270K open source libraries!
Supports 8 Languages and 7 Package Managers!
API
https://www.versioneye.com/api?version=v2
Projects using the VersionEye API
Ruby command line tool: https://github.com...
QUESTIONS?
!

Contact me
on Twitter
!

@RobertReiz
Continuous Updating
Continuous Updating
Upcoming SlideShare
Loading in...5
×

Continuous Updating

1,362

Published on

Continuous Updating is a way to keep your software project up-to-date. Big migrations are risky and expensive. Small migrations you can do on the fly.

Published in: Technology, News & Politics
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,362
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Continuous Updating"

  1. 1. Continuous Updating
  2. 2. How do you keep track of your LIBRARIES?
  3. 3. How many DEPENDENCIES do you have in your project?
  4. 4. Which LICENSES are your dependencies using?
  5. 5. You don’t know ?
  6. 6. 15 years ago we used to work with the WATERFALL MODEL Requirements Analysis Design Coding Testing Accepting
  7. 7. But today we are AGILE!
  8. 8. Everything the Waterfall Model used to execute in one year ... ! ... we nowadays execute in 2 weeks!
  9. 9. The way we develop software today totally changed!
  10. 10. Being AGILE got us CONTINUOUS Testing CONTINUOUS Refactoring CONTINUOUS Integration CONTINUOUS Delivery
  11. 11. But what about CONTINUOUS Updating ?
  12. 12. How do you update your LIBRARIES ?
  13. 13. You don’t ?
  14. 14. Because you never touch a running system, right ?
  15. 15. So you wanna work with COBOL? Right? Enjoy!
  16. 16. If you can't fly then run, if you can't run then walk, if you can't walk then crawl, but whatever you do you have to keep moving forward. Martin Luther King Jr.
  17. 17. Core committers don’t release new versions just for fun!
  18. 18. They always have good reasons • • • • Bug Fixes Security Fixes Speed & Memory optimization New Features
  19. 19. How do you ensure that new versions don’t break the system?
  20. 20. Semantic Versioning Migration Paths Continuous Testing
  21. 21. http://semver.org/
  22. 22. MAJOR.MINOR.PATCH 1.MAJOR version when you make incompatible API changes 2.MINOR version when you add functionality in a backwards-compatible manner 3.PATCH version when you make backwards-compatible bug fixes.
  23. 23. Always follow the MIGRATION PATH!
  24. 24. Many small steps are better than one big step ! You can do SMALL MIGRATIONS on the fly. ! BIG MIGRATIONS are risky and expensive. ! If you miss versions, you miss migration paths, too. And that leads to TROUBLE!
  25. 25. Don’t miss migration paths! 1 migrate 2 migrate 3 big migration … expensive migrate 4
  26. 26. Always run your TESTS against new versions
  27. 27. Another reason for being current
  28. 28. Do you really believe those young talents wanna work with COBOL? Or other OLD SHIT?
  29. 29. Tracking versions is a pain!
  30. 30. SOFTWARE LIBRARIES are NOT like iPhone Apps!
  31. 31. 100 libraries per project in avg. After 2 weeks the first libraries are OUT-DATED!
  32. 32. Developers are missing critical BUG FIXES and important UPDATES!
  33. 33. Manually checking for updates is no fun! ! It cost TIME & MONEY! ! NOBODY WANTS TO DO IT!
  34. 34. So, how do you wanna solve this PROBLEM?
  35. 35. You have to AUTOMATE!
  36. 36. You need a TOOL for that!
  37. 37. GemNotifier Languages Ruby Gemnasium VersionEye Ruby, Node.JS Java, Ruby, NodeJS, Python, PHP, Clojure, JavaScript, Object-C Project Integration Single Subscribe GitHub GitHub, URL, FileUpload, API Changelogs no yes in progress Security no yes in progress Licenses no no yes API no no yes
  38. 38. www.VersionEye.com Keeps an eye on more than 270K open source libraries! Supports 8 Languages and 7 Package Managers!
  39. 39. API https://www.versioneye.com/api?version=v2 Projects using the VersionEye API Ruby command line tool: https://github.com/versioneye/veye Maven Plugin: https://github.com/versioneye/versioneye_maven_plugin Zend Framework Module: https://github.com/ocramius/VersionEyeModule Symfony Profiler Module: https://github.com/mattsches/VersionEyeBundle
  40. 40. QUESTIONS? ! Contact me on Twitter ! @RobertReiz
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×