Legacy / long running      projects      RubyConfLT 2012
def"A legacy system is an old method, technology,computer system, or application program thatcontinues to be used, typical...
defLong running: > 2 years
defReality: long running =~ legacy
important!       technology            +          team
important?       technology            +          team      manage ment
technology: upgrade  worth total rewrite?          =~   to be or not to be
technology: rewrite
technology: rewrite          unless...
technology: rewrite●   50% rule●   clear legacy system requirements●   new technology mature enough & team ready●   benefi...
technology: rewriteGood (famous) examples:● Mac OS -> OS X● Minix -> Linux● PHP 1 -> PHP 2
technology: rewriteGood (famous) examples:● Mac OS -> OS X● Minix -> Linux● PHP 1 -> PHP 2● UBB -> vBulletin● Netscape -> ...
technology: rewrite●   integration tests●   prioritize!●   be ready to support legacy system●   simplify●   migrate data e...
technology: technical debt"Like a financial debt, the technicaldebt incurs interest payments,which come in the form of the...
technology: technical debt  Main diff from short   period projects: technical debt matters
technology: technical debt  Main diff from short   period projects: technical debt matters          A LOT
technology: technical debt   Impact on team &  development speed
hard part: team  As always with HR:  difficult to measure
team: motivation● lack of "hot" tech stuff● high level of sh*t (everything needs to be  fixed!..)● lack of challenge in we...
team: motivation      side projects       IS-A-MUST
team: motivation      side projects       IS-A-MUST      even if forced
team: motivation      hackathons   startup weekends      conferences
team: motivation    scoped(freedom)     to choose tech
team: technical debt   pay your debt in time.
team: motivation     collective code       ownershipat least weak code ownership
team: motivation adequate attention to  non-tech problem  solving (universal)
team: motivation  if a product has some fans           (hopefully), forward/communicate love       letters to the team
return1. technology matters as much as it matters to   the TEAM2. changes are and must be inevitable3. way of recharging t...
end+Vidmantas Kabošis @vidmantasvidmantas@kabosis.ltvidmantas.kabosis.ltslides: bit.ly/legacy-long-running-projectsQuestio...
Upcoming SlideShare
Loading in …5
×

RubyConfLT2012: Legacy / long running projects

1,677 views

Published on

Published in: Technology, Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,677
On SlideShare
0
From Embeds
0
Number of Embeds
1,109
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

RubyConfLT2012: Legacy / long running projects

  1. 1. Legacy / long running projects RubyConfLT 2012
  2. 2. def"A legacy system is an old method, technology,computer system, or application program thatcontinues to be used, typically because it stillfunctions for the users needs, even thoughnewer technology or more efficient methods ofperforming a task are now available." (Wikipedia)
  3. 3. defLong running: > 2 years
  4. 4. defReality: long running =~ legacy
  5. 5. important! technology + team
  6. 6. important? technology + team manage ment
  7. 7. technology: upgrade worth total rewrite? =~ to be or not to be
  8. 8. technology: rewrite
  9. 9. technology: rewrite unless...
  10. 10. technology: rewrite● 50% rule● clear legacy system requirements● new technology mature enough & team ready● benefits/costs ratio● customer understands whats going on (...)
  11. 11. technology: rewriteGood (famous) examples:● Mac OS -> OS X● Minix -> Linux● PHP 1 -> PHP 2
  12. 12. technology: rewriteGood (famous) examples:● Mac OS -> OS X● Minix -> Linux● PHP 1 -> PHP 2● UBB -> vBulletin● Netscape -> Mozilla● ...
  13. 13. technology: rewrite● integration tests● prioritize!● be ready to support legacy system● simplify● migrate data early● rewrite piece-by-piece● usually takes longer than expected
  14. 14. technology: technical debt"Like a financial debt, the technicaldebt incurs interest payments,which come in the form of the extraeffort that we have to do in futuredevelopment because of the quick and [1]dirty design choice."[1] http://martinfowler.com/bliki/TechnicalDebt.html
  15. 15. technology: technical debt Main diff from short period projects: technical debt matters
  16. 16. technology: technical debt Main diff from short period projects: technical debt matters A LOT
  17. 17. technology: technical debt Impact on team & development speed
  18. 18. hard part: team As always with HR: difficult to measure
  19. 19. team: motivation● lack of "hot" tech stuff● high level of sh*t (everything needs to be fixed!..)● lack of challenge in well known field● routine, routine, routine
  20. 20. team: motivation side projects IS-A-MUST
  21. 21. team: motivation side projects IS-A-MUST even if forced
  22. 22. team: motivation hackathons startup weekends conferences
  23. 23. team: motivation scoped(freedom) to choose tech
  24. 24. team: technical debt pay your debt in time.
  25. 25. team: motivation collective code ownershipat least weak code ownership
  26. 26. team: motivation adequate attention to non-tech problem solving (universal)
  27. 27. team: motivation if a product has some fans (hopefully), forward/communicate love letters to the team
  28. 28. return1. technology matters as much as it matters to the TEAM2. changes are and must be inevitable3. way of recharging the batteries must be developed to get rid of long run exhaustion4. ...5. profit!
  29. 29. end+Vidmantas Kabošis @vidmantasvidmantas@kabosis.ltvidmantas.kabosis.ltslides: bit.ly/legacy-long-running-projectsQuestions?

×