Your SlideShare is downloading. ×
0
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Legacy code development and maintenance
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Legacy code development and maintenance

275

Published on

Long-lasting SW is goal of all SW development, it indicates that product is successful and probably widely used. But long life brings it own problems and has dramatic influence on developing process. …

Long-lasting SW is goal of all SW development, it indicates that product is successful and probably widely used. But long life brings it own problems and has dramatic influence on developing process. This presentation will provide you some highlights on how to deal with legacy code and what should be remembered starting new SW product that is targeted for long life.

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

  • Be the first to like this

No Downloads
Views
Total Views
275
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Legacy code Development and Maintenance
  • 2. ● Code after deployment ● Successful ● Long-lasting software ● Meets customers’ needs ● Hard to evolve: ○ design degradations ○ too many use cases ○ many different customers What is the Legacy code?
  • 3. Lustre® FS parallel distributed file system ● C ● > 600 KLOC ● kernel space code ● https://github.com/Xyratex/lustre-stable/
  • 4. Development and Sustaining teams Development Cycle unpredictable priority changing estimation rough Planing Development Retrospective
  • 5. Nature of processes Planning Pulling
  • 6. Lost feedback from Sustaining Retrospective ● Defects Escapes show what missed in Quality ● Feedback: ○ Process changes ○ Design ○ Review Checklists ○ Test coverage ○ Feature/Refactoring planning
  • 7. Future looks bright Tested and works. Don’t touch.
  • 8. Discovered bug and hidden one Only not used product has no bugs
  • 9. Fixing bug could uncover other Changing code always risky
  • 10. Just fixing is not enough Bugs are never ending
  • 11. Legacy Quality: Continuous Refactoring Preventive measures
  • 12. “premature optimization is the root of all evil” Donald Knuth ● Refactoring SHOULD BE - proven, based on statistic and metrics ○ Metrics and stat from Defects Escapes ○ Code metrics (Complexity, LOC based stat, Function points, etc) ○ SCM: ■ churn (added + changed) ■ age of changes (freshness) ■ distance ■ etc Legacy Quality: Continuous Refactoring
  • 13. ● Chris Lewis and Rong Ou, “Bug Prediction at Google” ● Bug Prediction, Bug Introducing Changes, BugCache, FixCache, Predicting faults and etc. Key phrases to search in web Readings
  • 14. Thank You Denis_Kondratenko@xyratex.com http://www.linkedin.com/in/kondratenko

×