In this presentation I'd like to share practical experience and techniques that were used for modernization and maintaining 10+ years old legacy system: pitfalls that we've faced during that process and conclusions that we'd made when we've successfully finished updating mission.
5. About presentation
• General feeling about legacy
• System that we’ve received for improvement
• Effective steps that were performed
• What we’ve eventually reached
5
10. Where do we go now
• General feeling about legacy
• System that we’ve received for improvement
• Effective steps that were performed
• What we’ve eventually reached
10
11. What we’ve received
• 11-years old system SUCCESSFULLY running on production servers
• Written in Java 1.4
• No frameworks usage
• No documentation
• No developers who has worked on it
• Impatient customers
• Pantient management
• other surprises…
11
14. What we’d like to have?
14
Shiny system with all cutting-edge frameworks
Reduce pain of maintenance and support
15. What we’d like to have?
15
Shiny system with all cutting-edge frameworks
Reduce pain of maintenance and support
16. Where do we go now
• General feeling about legacy
• System that we’ve received for improvement
• Effective steps that were performed
• What we’ve eventually reached
16
66. Where do we go now
• General feeling about legacy
• System that we’ve received for improvement
• Effective steps that were performed
• What we’ve eventually reached
66
72. Lessons learned
• Old project is not a disaster, but challenge
• Start from environment setup and feature testing. At least to
some extent
• Share knowledge with your colleagues and write docs
• Do not underestimate power of classical remedies (patterns,
working techniques)
• Be agile ;)
72
«Ненаучно-фантастический, не совсем реалистический и не строго исторический»
Moreover…
Bus factor проекта — это мера сосредоточения информации среди отдельных членов проекта. Bus factor показывает количество разработчиков команды программистов, после «попадания» которых «под автобус» (или увольнения, заболевания, рождения ребёнка, смерти) проект не может быть дальше продолжен. Проект будет содержать такую информацию, с которой оставшиеся разработчики не смогут разобраться. Высокий Bus factor проекта означает, что проект будет устойчиво развиваться, если его покинет даже большое количество программистов.