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 Tuesday, October 31, 2006, at 10:23:58 PM, you ... So we should do an unimportant thing, rather than an important thing, because we might
    Message 1 of 18 , Oct 31, 2006
      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?

      Ron Jeffries
      www.XProgramming.com
      New and stirring things are belittled because if they are not belittled,
      the humiliating question arises, "Why then are you not taking part in
      them?" -- H. G. Wells
    • 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 2 of 18 , Nov 1 12:40 AM
        > 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 3 of 18 , Nov 1 3:23 AM
          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 4 of 18 , Nov 1 6:28 AM
            > >> > 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 5 of 18 , Nov 1 6:41 AM
              > 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 6 of 18 , Nov 1 5:13 PM
                --- 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 7 of 18 , Nov 2 4:28 PM
                  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 8 of 18 , Nov 2 6:47 PM
                    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 9 of 18 , Nov 2 8:14 PM
                      > > 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.