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

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

Expand Messages
  • Carfield Yim
    ... 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?
    Message 1 of 18 , Nov 1, 2006
    • 0 Attachment
      > 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?
    • 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 2 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 3 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 4 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 5 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 6 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 7 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 8 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.