In general, it’s safe to say that most, if not all developers don’t 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’s 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.
Understand the Big Picture
Therein lies my first point of understanding the bigger picture. It’s 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’ 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.
Ultimately there is value in the work being done as it is integral to the client’s business operations. The team should understand what the system does, what it’s 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.
Focus on Key Aspects
Focus on that which is key to move forward with, and don’t 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’s 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.
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’t 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’s just focus on a specific aspect and move from there!
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’s nothing worse than coding and feeling lost, as though you have no control over what’s going on.
Legacy systems present a variety of challenges to work with, and being in control of the code and how it’s responding to changes is key to moving forward in a clean, organized manner. If your team is hesitant to implement a new feature, it’s likely they don’t have full control over the code or understand all the moving parts therein. There may be a few elements beyond the team’s understanding, but at the least they must have control so they are not bereft of hesitations.
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’t like or feel isn’t good. There is always a silver lining.
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’s important to remind them that at the time, that may have been considered clean, effective, efficient code and measuring it by today’s standards will always see it fall short. Let’s look to improve on what came before so that what comes after stands even taller!
Tag CloudAgile - Agile Delivery - Agile Team - AI - amazonecommerce - Animal Framework - app retention - Attracting talent - Autonomous weapons - B2B - blockchain - businessbuilding - Business building - Clean code - Client consulting - cloud platform - Code Refactoring - coding - Company building - Computer Vision - Corporate startup - cryptocurrencies - de-risking business building - Deepfakes - Deep Learning - DeepMind - derisking business building - design company - Design Research - design thinking - Developer Path - DevOps - Digital Ownership - Digital Product Roadmap - Digital Product Strategy - ecommerce - entrepreneurs - Figma - founder equality - founder equity - front end developer - Fullstack Engineer - Growth strategy - Hook model - how to increase app retention - Incubator - innovation - Iterative and Incremental Development - IT Outsourcing - IT Staff Augmentation - kanban - legacy system - Manual Testing - Market Research Competitive Analysis - Market Research Service - Metaverse - methodology - mobile apps service - Mobile Engineer - Natural Language Processing - NFT - NLP - Offshore Software Development - Offshore Software Development Services - online recruitment - playbooks - Podcast - Product Design - Product Development - Product Development Strategy - Product Owner - Product strategy - product versions - project management - Prototyping early-stage ideas - Quality Software Development - Quantum Computing - Recruitments - recursion vs iteration - refactoring in agile - Remote Work - Research - research problem - Robotics - Sales machine - scalable software - Scrum - Scrum Master - Self-Driving Cars - Serial entrepreneurs - Slash - software - software design - Software Development - Software Development Company - software development team - Software Engineering - Software Product Development Services - solution architect - Spotify Model - Staff Augmentation - Staff Augmentation Services - Staffing Agency in Singapore - teamwork - Tech Talks - tech teams - tech vendor - testing playbook - The Phoenix Project - Unit testing - user interview - user retention design - VB Map podcast - Venture Building - Venture building strategies - Venture Capital - venturecapital - virtual retreat - Web3 - Web and Mobile Apps Service - web app service - Worker Agency Singapore