{"id":6883,"date":"2023-04-26T11:34:37","date_gmt":"2023-04-26T03:34:37","guid":{"rendered":"https:\/\/slash.bravefactor.com\/?post_type=resources&#038;p=6883"},"modified":"2024-01-30T14:52:18","modified_gmt":"2024-01-30T06:52:18","slug":"dealing-with-legacy-systems-strategies-for-success","status":"publish","type":"resources","link":"https:\/\/slash.co\/articles\/dealing-with-legacy-systems-strategies-for-success","title":{"rendered":"Dealing with legacy systems strategies for success"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">In general, it\u2019s safe to say that most, if not all developers don\u2019t like dealing with legacy systems. In fact, typically when faced with legacy systems, you will experience some resistance or even outright push back from your team. It\u2019s key to ensure that your team understands though the system may be old, it still adds value so moving things from the current legacy system into a newer one is necessary.<\/span><\/p>\n<h2>Understand the big picture<\/h2>\n<p><span style=\"font-weight: 400;\">Therein lies my first point of understanding the bigger picture. It\u2019s often not just about this one legacy system, rather a network of interconnected systems that play a larger role which the developers can often fail to understand or see for themselves. Understandable as they are focused on the monumental task that lies before them. Nonetheless, be sure to lift your teams\u2019 gaze to see the horizon and the bigger picture. Incorporating an older system with a newer one for a client is often necessary and unavoidable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ultimately there is value in the work being done as it is integral to the client\u2019s business operations. The team should understand what the system does, what it\u2019s purpose is, what the components of the system are and so on. What are all the technologies incorporated into it? This naturally will take the team some time to dive in and get down to what all the parts are and their purposes; though in the end, they will see the big picture and clearly know the path forward.<\/span><\/p>\n<h2>Focus on key aspects<\/h2>\n<p><span style=\"font-weight: 400;\">Focus on that which is key to move forward with, and don\u2019t get lost in the details. As a team, you must decide whether you want to focus on fixing a bug or implementing a new feature; doing both is not always an option. Various project constraints will limit the team\u2019s ability to deep dive into every area of the legacy code so, identifying key areas to focus on will help in your plan of attack.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Begin with your environment, ensuring the team can run the system on their machines. Then begin to identify areas that may cause issues with new features, and give them some attention to proactively head off any issues down the line. Don\u2019t waste time with areas that have little to no impact on what is upcoming in the architecture roadmap and feature list. To begin with, let\u2019s just focus on a specific aspect and move from there!<\/span><\/p>\n<h2>Get control<\/h2>\n<p><span style=\"font-weight: 400;\">Control cannot be overstated; what I mean here is the ability to feel you have control in what you are doing with the code. Knowing that if you begin to mess with this section of code, it will affect that section over there which in turn impacts the behaviour of function or feature X and so forth. There\u2019s nothing worse than coding and feeling lost, as though you have no control over what\u2019s going on.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Legacy systems present a variety of challenges to work with, and being in control of the code and how it\u2019s responding to changes is key to moving forward in a clean, organized manner. If your team is hesitant to implement a new feature, it\u2019s likely they don\u2019t have full control over the code or understand all the moving parts therein. There may be a few elements beyond the team\u2019s understanding, but at the least they must have control so they are not bereft of hesitations.<\/span><\/p>\n<h2>Be open-minded<\/h2>\n<p><span style=\"font-weight: 400;\">Legacy systems are not that terrible; they get a bit of a bad rap. Be sure your team at least acknowledges the previous work done, perhaps show a little appreciation, and keep their thoughts fixed on improvements rather than that which they don\u2019t like or feel isn\u2019t good. There is always a silver lining.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Naturally as software languages evolve and improve, your team will view code that is a mere 2~3 years old with a critical eye or even perhaps something akin to disdain. This of course, is counterproductive and behaviour unbecoming of a professional top development team. It\u2019s important to remind them that at the time, that may have been considered clean, effective, efficient code and measuring it by today\u2019s standards will always see it fall short. Let\u2019s look to improve on what came before so that what comes after stands even taller!<\/span><\/p>\n","protected":false},"featured_media":11771,"parent":0,"template":"","resource-topic":[63],"resource-type":[43],"class_list":["post-6883","resources","type-resources","status-publish","has-post-thumbnail","hentry","resource-topic-software-development","resource-type-articles"],"_links":{"self":[{"href":"https:\/\/slash.co\/wp-json\/wp\/v2\/resources\/6883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/slash.co\/wp-json\/wp\/v2\/resources"}],"about":[{"href":"https:\/\/slash.co\/wp-json\/wp\/v2\/types\/resources"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/slash.co\/wp-json\/wp\/v2\/media\/11771"}],"wp:attachment":[{"href":"https:\/\/slash.co\/wp-json\/wp\/v2\/media?parent=6883"}],"wp:term":[{"taxonomy":"resource-topic","embeddable":true,"href":"https:\/\/slash.co\/wp-json\/wp\/v2\/resource-topic?post=6883"},{"taxonomy":"resource-type","embeddable":true,"href":"https:\/\/slash.co\/wp-json\/wp\/v2\/resource-type?post=6883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}