Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Legacy Systems Rewrite - Forgotten Knowledge

Legacy Systems Rewrite - Forgotten Knowledge

Scheduled Pinned Locked Moved The Lounge
businesscollaboration
36 Posts 23 Posters 5 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Jacquers

    We (devs) have voiced our concerns, but management is going ahead regardless. I understand that it would cost money to keep the old system going for a bit longer, but the consequences if the new system doesn't work as intended are potentially worse. Support calls, lost clients, etc. The BA has resigned, so we'll be getting another fresh one again. And if I find suitable alternative employment I might be gone later in the year as well. I'm surprised the other dev on the project hasn't resigned yet. All that being said, if we manage to get it working then things should improve later in the year.

    R Offline
    R Offline
    rnbergren
    wrote on last edited by
    #16

    I would be running away as fast as I could. I understand you are looking, but this is just a bomb waiting to go off. Management seriously is sometimes sooo out of touch to their own actual business it just scares the hell out of me. I had this at my last position. I feel for you.

    To err is human to really elephant it up you need a computer

    N 1 Reply Last reply
    0
    • J Jacquers

      We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

      G Offline
      G Offline
      glennPattonWork3
      wrote on last edited by
      #17

      Oh Been there done that! Got the bl*** T shirt, the worst thing is trying to figure out how it works (why is there a define called fudgeFactor that is 1, when its changed the system dies!) So tempting to repackage the exe as a DLL that is called from the new code...

      1 Reply Last reply
      0
      • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

        Hopefully there are no hidden gems, that only activates under certain circumstances - otherwise the joke will be on you...

        "The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012

        J Offline
        J Offline
        Jacquers
        wrote on last edited by
        #18

        There definitely will be. The legacy system has been in use for 10+ years and very customized for certain clients / cases.

        1 Reply Last reply
        0
        • J Jorgen Andersson

          Jacquers wrote:

          We're going live in a few weeks and I suspect there may be some features that will be missing.

          So, you're agile. :sigh:

          Wrong is evil and must be defeated. - Jeff Ello

          J Offline
          J Offline
          Jacquers
          wrote on last edited by
          #19

          We will be giving them the minimum functionality they need to function and adding the other bells & whistles later on.

          D 1 Reply Last reply
          0
          • J Jacquers

            We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

            F Offline
            F Offline
            Forogar
            wrote on last edited by
            #20

            I came into a project where the last remaining programmer had quit. We had the source code - just one copy on his old machine, no backups. There were some occasional errors which at first appeared to be multi-threading issues, overwriting shared data without locks, that sort of thing. It was a network DLL, just part of the whole product - but essential. I and another developer went through this code trying to find the error(s). After a while we coined a phrase which we both had uttered several times, "How did this ever work?" After a longer while we realized it couldn't. The source code had been updated several times after the last release - presumably trying to fix these errors. Massive amount of cut and paste (this was effectively before the internet) meant multiple copies of code in multiple methods all for slightly different functions - some of which were never even called. There was no copy of code that had actually been released in the last version - he had just ploughed on, editing the one and only copy of the code! We ended up rewriting the whole thing from functional needs (no documentation, I had been brought in because I had used the product extensively at my previous job and had been "poached" to work for the product vendor). I spent a few days writing the specifications based on my memory of what worked and what didn't and how I thought it should have worked. When we finished it all worked and was about 9,000 lines of carefully constructed code. the code we started with was over 60,000 lines of code, mostly repeated. Phew!

            - I would love to change the world, but they won’t give me the source code.

            L J 2 Replies Last reply
            0
            • F Forogar

              I came into a project where the last remaining programmer had quit. We had the source code - just one copy on his old machine, no backups. There were some occasional errors which at first appeared to be multi-threading issues, overwriting shared data without locks, that sort of thing. It was a network DLL, just part of the whole product - but essential. I and another developer went through this code trying to find the error(s). After a while we coined a phrase which we both had uttered several times, "How did this ever work?" After a longer while we realized it couldn't. The source code had been updated several times after the last release - presumably trying to fix these errors. Massive amount of cut and paste (this was effectively before the internet) meant multiple copies of code in multiple methods all for slightly different functions - some of which were never even called. There was no copy of code that had actually been released in the last version - he had just ploughed on, editing the one and only copy of the code! We ended up rewriting the whole thing from functional needs (no documentation, I had been brought in because I had used the product extensively at my previous job and had been "poached" to work for the product vendor). I spent a few days writing the specifications based on my memory of what worked and what didn't and how I thought it should have worked. When we finished it all worked and was about 9,000 lines of carefully constructed code. the code we started with was over 60,000 lines of code, mostly repeated. Phew!

              - I would love to change the world, but they won’t give me the source code.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #21

              Come on be honest, you've only removed about every seventh line break ;P :laugh:

              F 1 Reply Last reply
              0
              • F Forogar

                I came into a project where the last remaining programmer had quit. We had the source code - just one copy on his old machine, no backups. There were some occasional errors which at first appeared to be multi-threading issues, overwriting shared data without locks, that sort of thing. It was a network DLL, just part of the whole product - but essential. I and another developer went through this code trying to find the error(s). After a while we coined a phrase which we both had uttered several times, "How did this ever work?" After a longer while we realized it couldn't. The source code had been updated several times after the last release - presumably trying to fix these errors. Massive amount of cut and paste (this was effectively before the internet) meant multiple copies of code in multiple methods all for slightly different functions - some of which were never even called. There was no copy of code that had actually been released in the last version - he had just ploughed on, editing the one and only copy of the code! We ended up rewriting the whole thing from functional needs (no documentation, I had been brought in because I had used the product extensively at my previous job and had been "poached" to work for the product vendor). I spent a few days writing the specifications based on my memory of what worked and what didn't and how I thought it should have worked. When we finished it all worked and was about 9,000 lines of carefully constructed code. the code we started with was over 60,000 lines of code, mostly repeated. Phew!

                - I would love to change the world, but they won’t give me the source code.

                J Offline
                J Offline
                Jacquers
                wrote on last edited by
                #22

                That sounds rough! Someday the next couple of devs will probably have to rewrite this project I'm on and be scratching their heads :laugh:

                1 Reply Last reply
                0
                • 5 5teveH

                  Jacquers wrote:

                  The list goes on, but it may be the best / worst 1 April joke for the users of the new system.

                  Booked the whole of April as a holiday, yet?

                  K Offline
                  K Offline
                  k5054
                  wrote on last edited by
                  #23

                  5teveH wrote:

                  Booked the whole of April as a holiday, yet?

                  And here's some vacation suggestions: [5 Extreme Retreats When You Want to Unplug](https://www.entrepreneur.com/article/227020)

                  Keep Calm and Carry On

                  1 Reply Last reply
                  0
                  • J Jacquers

                    We will be giving them the minimum functionality they need to function and adding the other bells & whistles later on.

                    D Offline
                    D Offline
                    DerekT P
                    wrote on last edited by
                    #24

                    That's what you think... you've probably found the "easy" bits from the old system / source code and implemented them, 90% of which are never used anymore. A client of mine is looking for a replacement for a system I wrote for them 6 years ago (nothing wrong with it, they just want something that isn't dependent on a single freelancer). Rather than tell the new vendor what they need, they've simply directed me to tell the vendor what my system does. Which I've done (mainly via the original functional specs). A few follow-up questions from the new vendor to the client (after they've developed the bulk of the new system) reveals that there are chunks (some quite large ones) that they've written, but actually haven't been used for 3+ years. Replicating legacy systems tends to replicate their shortcomings, and often adds a few more too.

                    J 1 Reply Last reply
                    0
                    • D DerekT P

                      That's what you think... you've probably found the "easy" bits from the old system / source code and implemented them, 90% of which are never used anymore. A client of mine is looking for a replacement for a system I wrote for them 6 years ago (nothing wrong with it, they just want something that isn't dependent on a single freelancer). Rather than tell the new vendor what they need, they've simply directed me to tell the vendor what my system does. Which I've done (mainly via the original functional specs). A few follow-up questions from the new vendor to the client (after they've developed the bulk of the new system) reveals that there are chunks (some quite large ones) that they've written, but actually haven't been used for 3+ years. Replicating legacy systems tends to replicate their shortcomings, and often adds a few more too.

                      J Offline
                      J Offline
                      Jacquers
                      wrote on last edited by
                      #25

                      "Replicating legacy systems tends to replicate their shortcomings, and often adds a few more too." Very true. Due to time constraints and a lack of understanding the new database is pretty much the same as the old one and the strange company + branch management system as well :doh: It does make data migration a bit easier though :) For the system that you wrote - would that maybe have been an opportunity to sell them the source code?

                      D 1 Reply Last reply
                      0
                      • R rnbergren

                        I would be running away as fast as I could. I understand you are looking, but this is just a bomb waiting to go off. Management seriously is sometimes sooo out of touch to their own actual business it just scares the hell out of me. I had this at my last position. I feel for you.

                        To err is human to really elephant it up you need a computer

                        N Offline
                        N Offline
                        Nelek
                        wrote on last edited by
                        #26

                        rnbergren wrote:

                        Management seriously is sometimes sooo out of touch to their own actual business it just scares the hell out of me

                        ^but sadly so common to find... :sigh: :sigh: :sigh:

                        M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

                        1 Reply Last reply
                        0
                        • L Lost User

                          Come on be honest, you've only removed about every seventh line break ;P :laugh:

                          F Offline
                          F Offline
                          Forogar
                          wrote on last edited by
                          #27

                          OK, you caught us! ;-)

                          - I would love to change the world, but they won’t give me the source code.

                          1 Reply Last reply
                          0
                          • J Jacquers

                            "Replicating legacy systems tends to replicate their shortcomings, and often adds a few more too." Very true. Due to time constraints and a lack of understanding the new database is pretty much the same as the old one and the strange company + branch management system as well :doh: It does make data migration a bit easier though :) For the system that you wrote - would that maybe have been an opportunity to sell them the source code?

                            D Offline
                            D Offline
                            DerekT P
                            wrote on last edited by
                            #28

                            It might have been - except that the "new" system is actually an existing system being modified to meet the client's needs, because the new vendor is owned by a friend of a friend of the client's boss. So they're bolting on new functionality all over the place. In the meantime, since the "upgrade" is taking so long, I'm busier than ever adding new features to the old system faster than the entire large team is adding them to the new... :doh: In any case, my client owns the IP (including source code) so could have just handed it over anyway.

                            1 Reply Last reply
                            0
                            • J Jacquers

                              We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

                              L Offline
                              L Offline
                              Lost User
                              wrote on last edited by
                              #29

                              If the system's client is the government / crown, do their "regulations" suffice as documentation? I got to come back some 5 years later when there were new "retro-active" regulations. Nobody else wanted to touch it.

                              It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food

                              1 Reply Last reply
                              0
                              • J Jacquers

                                We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

                                G Offline
                                G Offline
                                Gary R Wheeler
                                wrote on last edited by
                                #30

                                You haven't lived until you've been tasked with replacing a feature where the original developer is no longer with the company, he's no longer alive. Good riddance to bad rubbish, BTW; the guy was an utter douchebag. We're not even certain we have the proper source code for the product we've been delivering for the last several years, and we don't really know how to build it. It's in C, uses makefiles, and an odd configuration of C runtime libraries. We are (or at least I am) totally :elephant:ed.

                                Software Zen: delete this;

                                1 Reply Last reply
                                0
                                • J Jacquers

                                  We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

                                  C Offline
                                  C Offline
                                  Carlos Perez Chavez
                                  wrote on last edited by
                                  #31

                                  There is honor in recognizing that we need help. I am glad that your managers did the right thing.

                                  1 Reply Last reply
                                  0
                                  • J Jacquers

                                    We (devs) have voiced our concerns, but management is going ahead regardless. I understand that it would cost money to keep the old system going for a bit longer, but the consequences if the new system doesn't work as intended are potentially worse. Support calls, lost clients, etc. The BA has resigned, so we'll be getting another fresh one again. And if I find suitable alternative employment I might be gone later in the year as well. I'm surprised the other dev on the project hasn't resigned yet. All that being said, if we manage to get it working then things should improve later in the year.

                                    P Offline
                                    P Offline
                                    Pete Kelley
                                    wrote on last edited by
                                    #32

                                    Regardless of who made the actual call, there will be plenty of blame distributed. Hate to sound so pessimistic, but if it has so many unknowns then it sounds like there are big problems ahead.
                                    "Get it right" is taking a backseat to "Get it done.". Business decisions aren't always right, you can only hope that good enough is good enough. Keep calm.

                                    “The show doesn’t go on because it’s ready; it goes on because it’s 11:30.”

                                    ― Lorne Michaels

                                    1 Reply Last reply
                                    0
                                    • J Jacquers

                                      We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

                                      M Offline
                                      M Offline
                                      MikeCO10
                                      wrote on last edited by
                                      #33

                                      There's a difference between rewriting and translating. It sounds like a minor distinction but it is not. If the goal is simply to move from language A to B because A is not supported/secure/etc. anymore, then translate and run with it. From a business process POV however, that is the cheaper solution but also a waste of resources for the client. The PM/SA should have done the required analysis and reviewed the processes with the client. It is expensive but at the end of the day, the client could get an enormous value add rather than a translation. Rewrites need to look beyond the codebase behind the system and utilize current technology to create or improve the client's operation as well. I know there are valid reasons to go from "A" to "B", but personally I wouldn't take it on as I learned several years ago to listen to myself and that often the client/users don't know what's best.

                                      1 Reply Last reply
                                      0
                                      • J Jacquers

                                        We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

                                        B Offline
                                        B Offline
                                        Bruce Patin
                                        wrote on last edited by
                                        #34

                                        Curious to know how you would document such things. Do you use a wiki for anything like that? I use html files with a home built index.

                                        1 Reply Last reply
                                        0
                                        • J Jacquers

                                          We're in the process of rewriting a legacy system and nobody on the current team knows the details of how a certain feature works. So the managers swallowed their pride and contacted the client who uses it. They are now explaining it to us using our own old system :laugh: We're going live in a few weeks and I suspect there may be some features that will be missing. And that's why documentation for business processes is important ;)

                                          S Offline
                                          S Offline
                                          SeattleC
                                          wrote on last edited by
                                          #35

                                          More than once in my career, I've had to reverse-engineer a product in order to re-implement it using modern technology. It's pretty embarrassing when it's your own company's product and you're wandering around to all the old-timer trying to collect fragments of documentation, and reverse-engineering your own hardware.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups