Loading ...
Sorry, an error occurred while loading the content.

Re: [XP] Why pay now when we can pay later?

Expand Messages
  • Ron Jeffries
    Hello, Carfield. On Wednesday, November 1, 2006, at 3:40:17 AM, ... I m not sure what the cause is, but I m really not understanding your point vis-a-vis my
    Message 1 of 18 , Nov 1, 2006
    • 0 Attachment
      Hello, Carfield. On Wednesday, November 1, 2006, at 3:40:17 AM,
      you wrote:

      >> Hello, Carfield. On Tuesday, October 31, 2006, at 10:23:58 PM, you
      >> wrote:
      >>
      >> > For me the
      >> > simplest reason is you probably forget if you don't do now, because
      >> > you will only have time to do the most important thing. Once you delay
      >> > it you will never have time to pick it up again.
      >>
      >> So we should do an unimportant thing, rather than an important
      >> thing, because we might forget to do the unimportant one?
      >>
      > In fact what I mean is we should do the most important thing otherwise
      > we will forget, am my English is too bad to present this?

      I'm not sure what the cause is, but I'm really not understanding
      your point vis-a-vis my signature line that Victor quoted ...

      Ron Jeffries
      www.XProgramming.com
      I know we always like to say it'll be easier to do it now than it
      will be to do it later. Not likely. I plan to be smarter later than
      I am now, so I think it'll be just as easy later, maybe even easier.
      Why pay now when we can pay later?
    • Carfield Yim
      ... In fact may be I understand the question wrong at the beginning, what I understand the question is If there we can refactoring or unit test later, why we
      Message 2 of 18 , Nov 1, 2006
      • 0 Attachment
        > >> > For me the
        > >> > simplest reason is you probably forget if you don't do now, because
        > >> > you will only have time to do the most important thing. Once you delay
        > >> > it you will never have time to pick it up again.
        > >>
        > >> So we should do an unimportant thing, rather than an important
        > >> thing, because we might forget to do the unimportant one?
        > >>
        > > In fact what I mean is we should do the most important thing otherwise
        > > we will forget, am my English is too bad to present this?
        >
        > I'm not sure what the cause is, but I'm really not understanding
        > your point vis-a-vis my signature line that Victor quoted ...
        >

        In fact may be I understand the question wrong at the beginning, what
        I understand the question is "If there we can refactoring or unit test
        later, why we do this now? May be put more effort to make my code
        work" . In my working environment, some of my coworker actually doing
        that, however, the result is they haven't write single unit test
        before they change their job.

        So what my immediate feedback of the question is, if you don't put
        these task is an important priority and do this first, then you will
        never have time to do that, once you finish the current task and like
        to move on to write unit test, the other task will come and the code
        missing unit test accumulate and you will not bother to touch that
        eventaully.

        May be I try to abstract the above but present it in an incorrect
        sentense? Or may be this is English problem? Anyway I need to practice
        more about English writing
      • Victor
        ... I support that. Don t be deterred by the difficulties. Just keep communicating. Victor ... From: Carfield Yim To: extremeprogramming@yahoogroups.com
        Message 3 of 18 , Nov 1, 2006
        • 0 Attachment
          > Anyway I need to practice more about English writing

          I support that. Don't be deterred by the difficulties. Just keep communicating.

          Victor

          ===============================================



          ----- Original Message -----
          From: Carfield Yim
          To: extremeprogramming@yahoogroups.com
          Sent: Wednesday, November 01, 2006 9:28 AM
          Subject: Re: [XP] Why pay now when we can pay later?


          > >> > For me the
          > >> > simplest reason is you probably forget if you don't do now, because
          > >> > you will only have time to do the most important thing. Once you delay
          > >> > it you will never have time to pick it up again.
          > >>
          > >> So we should do an unimportant thing, rather than an important
          > >> thing, because we might forget to do the unimportant one?
          > >>
          > > In fact what I mean is we should do the most important thing otherwise
          > > we will forget, am my English is too bad to present this?
          >
          > I'm not sure what the cause is, but I'm really not understanding
          > your point vis-a-vis my signature line that Victor quoted ...
          >

          In fact may be I understand the question wrong at the beginning, what
          I understand the question is "If there we can refactoring or unit test
          later, why we do this now? May be put more effort to make my code
          work" . In my working environment, some of my coworker actually doing
          that, however, the result is they haven't write single unit test
          before they change their job.

          So what my immediate feedback of the question is, if you don't put
          these task is an important priority and do this first, then you will
          never have time to do that, once you finish the current task and like
          to move on to write unit test, the other task will come and the code
          missing unit test accumulate and you will not bother to touch that
          eventaully.

          May be I try to abstract the above but present it in an incorrect
          sentense? Or may be this is English problem? Anyway I need to practice
          more about English writing




          [Non-text portions of this message have been removed]
        • geoffrey_slinker
          ... I know that Victor understand the saying why pay now when we can pay later . For those that are new or are lurking that doesn t understand this agilism I
          Message 4 of 18 , Nov 1, 2006
          • 0 Attachment
            --- In extremeprogramming@yahoogroups.com, yahoogroups@... wrote:
            I know that Victor understand the saying "why pay now when we can pay
            later".

            For those that are new or are lurking that doesn't understand this
            agilism I think John describes it very well.

            >
            > In the case of code, doing it now rather than later has
            > defered opportunity costs (you aren't doing something else)
            > and the risk of doing something with limited information.
            > (You'll know more later).

            There is another agilism that is relevant. YAGNI. You ain't gonna need
            it. It has to do with feature creep, gold plating, etc.

            Often developers will add functionality because the anticipate it will
            be useful. Don't "pay" for software until it is needed.

            I have fallen into the gold plating trap before. I remember when
            writing some service libraries I would try to supply a method for
            every conceivable set of parameters.

            void UpdatePersonRecord(PersonRecord person)
            void UpdatePersonRecord(string firstName, string lastName, string
            recordInfo)
            void UpdatePersonRecord(int personId, string recordInfo)

            I thought I was being thorough. Instead I made some unnecessary
            wrappers and wasted time.

            If the additional interfaces would have been added when they were
            needed it would have been easy to do so.

            >
            > In the case of testing, the costs of defered testing go up
            > superlinearly. The same is true of letting the design degrade
            > by not refactoring. These are things that it's cheaper to do
            > now rather than later.

            Sometimes referred to as Code Debt.

            Thanks John.


            Geoff Slinker
            http://digerati-illuminatus.blogspot.com/
          • J. B. Rainsberger
            ... I know this is obvious, but whenever there is a tradeoff between paying less now for less return and more later for more return, I ignore profit and only
            Message 5 of 18 , Nov 2, 2006
            • 0 Attachment
              Victor wrote:
              >
              >
              > Ron Jeffries tag line says:
              >
              > > I know we always like to say it'll be easier to do it now than it
              > will be to do it later. Not likely. I plan to be smarter later than
              > I am now, so I think it'll be just as easy later, maybe even easier.
              > Why pay now when we can pay later?
              >
              > Somebody could argue:
              > Why make the tests run now?
              > Why refactor now?
              >
              > So, without context the above line is confusing. Why use it now?

              I know this is obvious, but whenever there is a tradeoff between paying
              less now for less return and more later for more return, I ignore profit
              and only consider cashflow. If I have enough cash to get me from now to
              then, I /always/ pay more later for more return. So what's cashflow for
              a software team? Some combination of time-until-a-release and customer
              confidence/trust, I guess. Anything else? Anything better?
              --
              J. B. (Joe) Rainsberger :: http://www.jbrains.ca
              Your guide to software craftsmanship
              JUnit Recipes: Practical Methods for Programmer Testing
              2005 Gordon Pask Award for contribution Agile Software Practice
            • Ron Jeffries
              Hello, Carfield. On Wednesday, November 1, 2006, at 9:28:31 AM, ... Well, I took Victor s question to relate to the fact that a signature isn t an article. In
              Message 6 of 18 , Nov 2, 2006
              • 0 Attachment
                Hello, Carfield. On Wednesday, November 1, 2006, at 9:28:31 AM,
                you wrote:

                > In fact may be I understand the question wrong at the beginning, what
                > I understand the question is "If there we can refactoring or unit test
                > later, why we do this now? May be put more effort to make my code
                > work" . In my working environment, some of my coworker actually doing
                > that, however, the result is they haven't write single unit test
                > before they change their job.

                Well, I took Victor's question to relate to the fact that a
                signature isn't an article.

                In any case, leaving testing or refactoring until later does make it
                cost more, so we should do it now. Building a feature that isn't
                going to be used costs more now and not later so we should do it
                later. In general, one might read the sig as inviting the thoughtful
                reader to think about the impact of doing something now, vs waiting
                until later, and to make the wisest decision she's capable of.

                > So what my immediate feedback of the question is, if you don't put
                > these task is an important priority and do this first, then you will
                > never have time to do that, once you finish the current task and like
                > to move on to write unit test, the other task will come and the code
                > missing unit test accumulate and you will not bother to touch that
                > eventaully.

                I think it depends on the task. Would you agree?

                Ron Jeffries
                www.XProgramming.com
                War remains the decisive human failure.
                -- John Kenneth Galbraith
              • Carfield Yim
                ... It will be hard to disagree. For me it sound something like what this article mentioned -
                Message 7 of 18 , Nov 2, 2006
                • 0 Attachment
                  > > So what my immediate feedback of the question is, if you don't put
                  > > these task is an important priority and do this first, then you will
                  > > never have time to do that, once you finish the current task and like
                  > > to move on to write unit test, the other task will come and the code
                  > > missing unit test accumulate and you will not bother to touch that
                  > > eventaully.
                  >
                  > I think it depends on the task. Would you agree?
                  >

                  It will be hard to disagree. For me it sound something like what this
                  article mentioned -
                  http://www.jamesshore.com/Blog/CardMeeting/Voluntary-Technical-Debt.html
                  . And I think many of developer try to work on this approach, but most
                  of them fail to management the debt before they quit. Just like most
                  people pay more debt than he like to pay for credit card expense. Of
                  course, may be someone earn of lot from getting more debt and have
                  clever investment, but I don't think I can. Thus I personally like to
                  be more conservative have having debt, In finance and also
                  development. And I like to work with conservative people also.

                  In fact, I have email Victor privately and know that I miss something
                  at the original question.
                Your message has been successfully submitted and would be delivered to recipients shortly.