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. Sunk cost fallacy

Sunk cost fallacy

Scheduled Pinned Locked Moved The Lounge
csharpcomhelpannouncementlearning
15 Posts 8 Posters 1 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.
  • S Offline
    S Offline
    Super Lloyd
    wrote on last edited by
    #1

    Just happened to me. Just spend 2 weeks rewriting complicated code that no one understand into a simpler form. They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version. End of story we don't have time or resource to replace the code. Change goes to the bin.... I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing.... [LATER EDIT] 1. my political skills are rather weak. 2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)

    A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

    N E D Sander RosselS E 6 Replies Last reply
    0
    • S Super Lloyd

      Just happened to me. Just spend 2 weeks rewriting complicated code that no one understand into a simpler form. They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version. End of story we don't have time or resource to replace the code. Change goes to the bin.... I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing.... [LATER EDIT] 1. my political skills are rather weak. 2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)

      A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

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

      Super Lloyd wrote:

      Change goes to the bin....

      Keep a copy, when the problem is very pressing... say you have to retire and think about it, take 3 off days, come back with your solution, deploy it directly, prove that the problem is gone, ask for a rise.

      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
      • S Super Lloyd

        Just happened to me. Just spend 2 weeks rewriting complicated code that no one understand into a simpler form. They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version. End of story we don't have time or resource to replace the code. Change goes to the bin.... I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing.... [LATER EDIT] 1. my political skills are rather weak. 2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)

        A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

        E Offline
        E Offline
        effayqueue
        wrote on last edited by
        #3

        I guess they've never heard of testing / acceptance criteria?

        S P 2 Replies Last reply
        0
        • E effayqueue

          I guess they've never heard of testing / acceptance criteria?

          S Offline
          S Offline
          Super Lloyd
          wrote on last edited by
          #4

          no time for testing! I should have stressed that 1 advantage of my new classes is that they are much easier to test. Being in a standalone library, as opposed to inextricably spaghetified inside the app...

          A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

          J 1 Reply Last reply
          0
          • S Super Lloyd

            Just happened to me. Just spend 2 weeks rewriting complicated code that no one understand into a simpler form. They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version. End of story we don't have time or resource to replace the code. Change goes to the bin.... I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing.... [LATER EDIT] 1. my political skills are rather weak. 2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)

            A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

            D Offline
            D Offline
            Duncan Edwards Jones
            wrote on last edited by
            #5

            Ah yes - keeping all the code smells in place - a skunk cost fallacy.

            1 Reply Last reply
            0
            • S Super Lloyd

              Just happened to me. Just spend 2 weeks rewriting complicated code that no one understand into a simpler form. They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version. End of story we don't have time or resource to replace the code. Change goes to the bin.... I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing.... [LATER EDIT] 1. my political skills are rather weak. 2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)

              A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #6

              I did that once. I rewrote a complete application based only on the old code. I didn't know what it did or how it worked, only that it did something with stocks. A coworker who didn't know what it did or how it worked either (manually) tested the code (we had no unit tests, documentation, or anything :laugh: ). The reason I had to rewrite it is because this application kept giving problems and no one was able to fix it (or a fix introduced new issues). So two days work and we released the app to production (Acceptance testing? Hah! We don't need no stinkin' acceptance testing :laugh: ). And all of a sudden they got a stock of -100000 :laugh: After a bit of investigating the issue it turned out that I forgot a single if statement :sigh: The issue was resolved rather quick, they manually adjusted their stock (which they did once a month anyway) and we sent them a pie for the inconvenience. After that we never had problems with that app again (so kudo's to me I guess) :D

              Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly

              1 Reply Last reply
              0
              • S Super Lloyd

                Just happened to me. Just spend 2 weeks rewriting complicated code that no one understand into a simpler form. They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version. End of story we don't have time or resource to replace the code. Change goes to the bin.... I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing.... [LATER EDIT] 1. my political skills are rather weak. 2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)

                A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                E Offline
                E Offline
                englebart
                wrote on last edited by
                #7

                Can you capture or extract inputs+results of actual production usage on the old code? Get a month or two of transactions from the old code. Replay it on the new code and verify that they produce identical results. (Keep the inputs/outputs for future Unit Testing/Regression Testing of the new code)

                S 1 Reply Last reply
                0
                • E effayqueue

                  I guess they've never heard of testing / acceptance criteria?

                  P Offline
                  P Offline
                  patbob
                  wrote on last edited by
                  #8

                  If you don't know what the code does, how can you know you tested all important aspects of it? If they had tests up front that test all the important behaviors, then the replacement code just needs to pass to give them the confidence to deploy, but obviously, they don't.

                  I live in Oregon, and I'm an engineer.

                  1 Reply Last reply
                  0
                  • E englebart

                    Can you capture or extract inputs+results of actual production usage on the old code? Get a month or two of transactions from the old code. Replay it on the new code and verify that they produce identical results. (Keep the inputs/outputs for future Unit Testing/Regression Testing of the new code)

                    S Offline
                    S Offline
                    Super Lloyd
                    wrote on last edited by
                    #9

                    This is for an app which controller multiple hardware pieces. I only rewrite a controller for 1 piece. They don't have automated test, only manual tests which takes ages apparently...

                    A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                    1 Reply Last reply
                    0
                    • S Super Lloyd

                      Just happened to me. Just spend 2 weeks rewriting complicated code that no one understand into a simpler form. They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version. End of story we don't have time or resource to replace the code. Change goes to the bin.... I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing.... [LATER EDIT] 1. my political skills are rather weak. 2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)

                      A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                      J Offline
                      J Offline
                      jschell
                      wrote on last edited by
                      #10

                      Super Lloyd wrote:

                      1. my political skills are rather weak.

                      Presumably this is a company. Company is there to make money. Does your update, including the fix, objectively produce more money for the company? If your refactor fails, despite your best intentions, will it cost the company money?

                      Super Lloyd wrote:

                      basically told me to wait a bit and introduce the change gradually)

                      How are you going to introduce a complete refactor gradually?

                      S 2 Replies Last reply
                      0
                      • S Super Lloyd

                        no time for testing! I should have stressed that 1 advantage of my new classes is that they are much easier to test. Being in a standalone library, as opposed to inextricably spaghetified inside the app...

                        A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                        J Offline
                        J Offline
                        jschell
                        wrote on last edited by
                        #11

                        Super Lloyd wrote:

                        Being in a standalone library,

                        It only took you two weeks to refactor this code, there are no unit tests and your solution involved putting it into its own library? Just saying those factors would scream high risk to me.

                        S 2 Replies Last reply
                        0
                        • J jschell

                          Super Lloyd wrote:

                          1. my political skills are rather weak.

                          Presumably this is a company. Company is there to make money. Does your update, including the fix, objectively produce more money for the company? If your refactor fails, despite your best intentions, will it cost the company money?

                          Super Lloyd wrote:

                          basically told me to wait a bit and introduce the change gradually)

                          How are you going to introduce a complete refactor gradually?

                          S Offline
                          S Offline
                          Super Lloyd
                          wrote on last edited by
                          #12

                          This is the wrong question. My refactor produce the same result so it does not add immediate value. But by this argument all refactor are useless since they should change the shape while keeping the function. On the other hand there is a pending bug since before I come that is solved in my refactor standalone app. My standalone library is also easy to extend and can easily support automated test, which the current version does not and apparently there was also talk since before I come to do it.... At any rate the tech lead told me to sneak my new class in later. And I will keep my test app since I can easily validate hardware behavior with it, so it add value to me at any rate.

                          A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                          1 Reply Last reply
                          0
                          • J jschell

                            Super Lloyd wrote:

                            1. my political skills are rather weak.

                            Presumably this is a company. Company is there to make money. Does your update, including the fix, objectively produce more money for the company? If your refactor fails, despite your best intentions, will it cost the company money?

                            Super Lloyd wrote:

                            basically told me to wait a bit and introduce the change gradually)

                            How are you going to introduce a complete refactor gradually?

                            S Offline
                            S Offline
                            Super Lloyd
                            wrote on last edited by
                            #13

                            jschell wrote:

                            How are you going to introduce a complete refactor gradually?

                            There is just 2 class that need be scrapped. One is valuable for it static event. The other is valuable for its method that I reproduce it all. It will be a minor change. My code is (allegedly) big, the insertion is small.

                            A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                            1 Reply Last reply
                            0
                            • J jschell

                              Super Lloyd wrote:

                              Being in a standalone library,

                              It only took you two weeks to refactor this code, there are no unit tests and your solution involved putting it into its own library? Just saying those factors would scream high risk to me.

                              S Offline
                              S Offline
                              Super Lloyd
                              wrote on last edited by
                              #14

                              On the other hand they claim they want automated unit test on each part of the application. I just did that for one part. The one that interested me. And also solved a long standing bug for it. But I am not too worry. We will the long standing bug unsolved. We might spend a few more weeks looking helplessly after it. A solution might be direly needed one day. Meanwhile I will extend my test app with more automated test as I need them. Until people find it attractive enough. And by app I mean my component library which is really not big a deal to plug in the current app.

                              A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                              1 Reply Last reply
                              0
                              • J jschell

                                Super Lloyd wrote:

                                Being in a standalone library,

                                It only took you two weeks to refactor this code, there are no unit tests and your solution involved putting it into its own library? Just saying those factors would scream high risk to me.

                                S Offline
                                S Offline
                                Super Lloyd
                                wrote on last edited by
                                #15

                                Additionally the only guy who understand that code (he wrote it) - agrees with me that the intended behavior is relatively simple - loves my new implementation that is a simple as it should - I involved him like 10 times a day everyday - agree with me that updating the app with this is trivial - love the fact that this code is finally simple and easily testable independantly and automatically. Now I agree why change anything if it's not broken? Well, it is broken unfortunately... and someone who don't understand the current code is afraid that replacing it with my new code is going to be very risky. By this account nothing should ever be done.

                                A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                                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