SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Legacy / long running
      projects
      RubyConfLT 2012
def

"A legacy system is an old method, technology,
computer system, or application program that
continues to be used, typically because it still
functions for the users' needs, even though
newer technology or more efficient methods of
performing a task are now available." (Wikipedia)
def


Long running: > 2 years
def


Reality: 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
●   benefits/costs ratio
●   customer understands what's going on (...)
technology: rewrite
Good (famous) examples:
● Mac OS -> OS X
● Minix -> Linux
● PHP 1 -> PHP 2
technology: rewrite
Good (famous) examples:
● Mac OS -> OS X
● Minix -> Linux
● PHP 1 -> PHP 2
● UBB -> vBulletin
● Netscape -> Mozilla
● ...
technology: rewrite

●   integration tests
●   prioritize!
●   be ready to support legacy system
●   simplify
●   migrate data early
●   rewrite piece-by-piece
●   usually takes longer than expected
technology: technical debt

"Like a financial debt, the technical
debt incurs interest payments,
which come in the form of the extra
effort that we have to do in future
development because of the quick and
                      [1]
dirty design choice."


[1] http://martinfowler.com/bliki/TechnicalDebt.html
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 well known field
● routine, routine, routine
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
       ownership
at 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
return
1. technology matters as much as it matters to
   the TEAM
2. changes are and must be inevitable
3. way of recharging the batteries must be
   developed to get rid of long run exhaustion
4. ...
5. profit!
end
+Vidmantas Kabošis @vidmantas

vidmantas@kabosis.lt
vidmantas.kabosis.lt

slides: bit.ly/legacy-long-running-projects


Questions?

Mais conteúdo relacionado

Semelhante a RubyConfLT2012: Legacy / long running projects

Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinar
Roberto Jr. Figueroa
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
Jkumararaja
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
WrushabhShirsat3
 
Choosing the right parallel compute architecture
Choosing the right parallel compute architecture Choosing the right parallel compute architecture
Choosing the right parallel compute architecture
corehard_by
 

Semelhante a RubyConfLT2012: Legacy / long running projects (20)

"Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets "Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
 
Managing software projects & teams effectively
Managing software projects & teams effectivelyManaging software projects & teams effectively
Managing software projects & teams effectively
 
victoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform developmentvictoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform development
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinar
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Software evolution evangelisation
Software evolution evangelisationSoftware evolution evangelisation
Software evolution evangelisation
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
 
Case: build an IT pool
Case: build an IT poolCase: build an IT pool
Case: build an IT pool
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Choosing the right parallel compute architecture
Choosing the right parallel compute architecture Choosing the right parallel compute architecture
Choosing the right parallel compute architecture
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 
How to overcome challenges in it system evolution
How to overcome challenges in it system evolutionHow to overcome challenges in it system evolution
How to overcome challenges in it system evolution
 
Meetup 2020 - Back to the Basics part 101 : IaC
Meetup 2020 - Back to the Basics part 101 : IaCMeetup 2020 - Back to the Basics part 101 : IaC
Meetup 2020 - Back to the Basics part 101 : IaC
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
Maintaining and Releasing Open Source Software
Maintaining and Releasing Open Source SoftwareMaintaining and Releasing Open Source Software
Maintaining and Releasing Open Source Software
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
 
The road ahead for scientific computing with Python
The road ahead for scientific computing with PythonThe road ahead for scientific computing with Python
The road ahead for scientific computing with Python
 

Mais de Vidmantas Kabošis (11)

One on Ones
One on OnesOne on Ones
One on Ones
 
In Quality We Trust
In Quality We TrustIn Quality We Trust
In Quality We Trust
 
Dangerous Ruby (or: Job Security)
Dangerous Ruby (or: Job Security)Dangerous Ruby (or: Job Security)
Dangerous Ruby (or: Job Security)
 
Freelancing platforms - diff
Freelancing platforms - diffFreelancing platforms - diff
Freelancing platforms - diff
 
Cucumber @ VilniusPHP
Cucumber @ VilniusPHPCucumber @ VilniusPHP
Cucumber @ VilniusPHP
 
Ruby. Pradžia
Ruby. PradžiaRuby. Pradžia
Ruby. Pradžia
 
Rails Girls Vilnius - lightning talk
Rails Girls Vilnius - lightning talkRails Girls Vilnius - lightning talk
Rails Girls Vilnius - lightning talk
 
Capistrano @ VilniusPHP
Capistrano @ VilniusPHPCapistrano @ VilniusPHP
Capistrano @ VilniusPHP
 
Blocks, procs && lambdas
Blocks, procs && lambdasBlocks, procs && lambdas
Blocks, procs && lambdas
 
Ruby on rails @ Tobulėtuvė
Ruby on rails @ TobulėtuvėRuby on rails @ Tobulėtuvė
Ruby on rails @ Tobulėtuvė
 
ERb alternatyvos
ERb alternatyvosERb alternatyvos
ERb alternatyvos
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

RubyConfLT2012: Legacy / long running projects