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

RE: [XP] New to group with quick question.

Expand Messages
  • Charlie Poole
    Hi Ken, ... Personal, one-man projects are the hardest ones to keep on track in my experience. Your pairing partner hardly ever corrects you. :-) ...
    Message 1 of 13 , Jun 30, 2007
    • 0 Attachment
      Hi Ken,

      > Hi all! I have been doing XP for almost 15 years but at a
      > little stumbling block here with a personal project.

      Personal, one-man projects are the hardest ones to keep on track
      in my experience. Your pairing partner hardly ever corrects you. :-)

      > This little program has several people waiting for it, but I
      > seem to get caught up in the programmer's "Way Cool" stuff
      > like multi-threading and the like. It started simple and now
      > is 'Cool'
      > from a programmer's stand point but after abt 2 months, all
      > it does is the 'Cool Stuff.'

      Understandable, but good that you realize it's not the right way to go.

      > So, I am tempted to start over and simplify the whole thing
      > so I might get it done sooner.
      >
      > Advantage of starting over: Get the program working sooner.
      > Disadvantage of starting over: Program will not be as
      > responsive. The 'cool programmer' factor will not be there.
      > Throw away some of my code.

      Getting some code out there is always an advantage. You won't
      be using your code, but you aren't "throwing it away" even if
      you boldly delete it. What you learned from your uninteded spike
      will still be in your brain when you need it.

      > Advantage of continuing: 'Programmer Cool' factor. Program
      > will be a LOT more responsive due to the multithreading.
      > Disadvantage of continuing: May not get done this year (and
      > people are waiting for it).

      Not delivering is non-cool.

      > So? Comments? Should I start over and 'Get-r-Done?'

      Definitely. Wait for the problems that you anticipate to actually
      occur before trying to fix them. They may not show up or they may
      manifest in some slightly different way from what you imagine, calling
      for a different implementation. Treat whwat you have already done
      as a spike.

      "Throwing away" code is one of the hardest things to learn to do
      in XP.

      Charlie

      > TNX
      > Ken Linder
      > KC7RAD
      >
      >
      >
      > To Post a message, send it to: extremeprogramming@...
      >
      > To Unsubscribe, send a blank message to:
      > extremeprogramming-unsubscribe@...
      >
      > ad-free courtesy of objectmentor.com
      > Yahoo! Groups Links
      >
      >
      >
      >
    • J. B. Rainsberger
      ... ...and easily the first, most important thing to learn. Fortunately, XP gave me a lot of practice throwing away code. -- J. B. (Joe) Rainsberger ::
      Message 2 of 13 , Jun 30, 2007
      • 0 Attachment
        Charlie Poole wrote:

        > "Throwing away" code is one of the hardest things to learn to do
        > in XP.

        ...and easily the first, most important thing to learn. Fortunately, XP
        gave me a lot of practice throwing away code.
        --
        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
      • Ken Linder
        Thank you for the response! To add a little more info. I am writing a sort-of FileMail program in C#. It will retrieve requests by e-mail (POP3), process the
        Message 3 of 13 , Jun 30, 2007
        • 0 Attachment
          Thank you for the response!

          To add a little more info. I am writing a sort-of FileMail program in C#. It will retrieve requests by e-mail (POP3), process the request and return the request via e-mail(SMTP). It will also be able to do things like retrieve files via HTTP, cache the files locally and perform various image manipulations on image files.

          Sounded like a job for threads when I started, but I just seem to be spending a LOT of time on the thread handling. Admittedly, I am a novice at thread programming, :-)

          So, the threading is the 'cool' stuff. I have a prototype written in PHP but want to do it in C#. Is the responsiveness needed? No. Not really. It is a server program, after all.

          How much does this 'cool stuff' cost??? Well, I am somewhat embarrased to say, it has cost me about 2 months. I have the other pieces working individually, I just thought it would be good to tie them all together with threads. BUT..... I think the threads, while cool... are killing the project.

          Thanks for the Insight!
          -Ken
          KC7RAD

          ----- Original Message -----
          From: Seyit Caglar Abbasoglu
          To: extremeprogramming@yahoogroups.com
          Sent: Saturday, June 30, 2007 1:40 PM
          Subject: Re: [XP] New to group with quick question.


          1. Is the responsiveness of the "cool stuff" needed by customer? More
          importantly, in your opinion, will it be an essential factor for you at
          later stages? Do you think you would do that "cool stuff" anyway, or is it a
          too early decision?

          2. How much extra maintenance cost, does that "cool stuff" add to the
          project? Does that "cool stuff" effecting/slowing your progress through new
          features (which are more needed by customers)?
          Recent Activity
          a.. 20New Members
          b.. 2New Links
          Visit Your Group
          Yahoo! Finance
          It's Now Personal

          Guides, news,

          advice & more.

          Search Ads
          Get new customers.

          List your web site

          in Yahoo! Search.

          Yoga Groups
          Exchange insights

          with members of

          the yoga community.
          .


          [Non-text portions of this message have been removed]
        • Ken Linder
          Thanks, Charlie! I think you hit the nail on the head! -Ken KC7RAD ... From: Charlie Poole To: extremeprogramming@yahoogroups.com Sent: Saturday, June 30, 2007
          Message 4 of 13 , Jun 30, 2007
          • 0 Attachment
            Thanks, Charlie!

            I think you hit the nail on the head!

            -Ken
            KC7RAD
            ----- Original Message -----
            From: Charlie Poole
            To: extremeprogramming@yahoogroups.com
            Sent: Saturday, June 30, 2007 1:43 PM
            Subject: RE: [XP] New to group with quick question.


            Not delivering is non-cool.

            > So? Comments? Should I start over and 'Get-r-Done?'

            Definitely. Wait for the problems that you anticipate to actually
            occur before trying to fix them. They may not show up or they may
            manifest in some slightly different way from what you imagine, calling
            for a different implementation. Treat whwat you have already done
            as a spike.
            Recent Activity
            a.. 20New Members
            b.. 2New Links
            Visit Your Group
            Yahoo! Finance
            It's Now Personal

            Guides, news,

            advice & more.

            HDTV Support
            The official Samsung

            Y! Group for HDTVs

            and devices.

            Yoga Resources
            on Yahoo! Groups

            Take the stress

            out of your life.
            .


            [Non-text portions of this message have been removed]
          • J. B. Rainsberger
            ... Can you roll back to two months ago? Would that help? -- J. B. (Joe) Rainsberger :: http://www.jbrains.ca Your guide to software craftsmanship JUnit
            Message 5 of 13 , Jun 30, 2007
            • 0 Attachment
              Ken Linder wrote:

              > How much does this 'cool stuff' cost??? Well, I am somewhat embarrased
              > to say, it has cost me about 2 months. I have the other pieces working
              > individually, I just thought it would be good to tie them all together
              > with threads. BUT..... I think the threads, while cool... are killing
              > the project.

              Can you roll back to two months ago? Would that help?
              --
              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
              ... Ask the people who are waiting for it? 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
              Message 6 of 13 , Jun 30, 2007
              • 0 Attachment
                Hello, Ken. On Saturday, June 30, 2007, at 3:10:06 PM, you wrote:

                > So? Comments? Should I start over and 'Get-r-Done?'

                Ask the people who are waiting for it?

                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?
              • Phlip
                ... If I had to do that, I would get the Subversion version number from 2 months ago, call it 202, and then I d use svn di -r202 ../diff.patch Then I d merge
                Message 7 of 13 , Jun 30, 2007
                • 0 Attachment
                  > Can you roll back to two months ago? Would that help?

                  If I had to do that, I would get the Subversion version number from 2 months
                  ago, call it 202, and then I'd use

                  svn di -r202 >../diff.patch

                  Then I'd merge 202 into the HEAD, and run all the tests.

                  Then I'd open diff.patch in an editor (and the extension would give it the
                  correct syntax highlighting). Then I'd read each change, and attempt to
                  manually apply it to the HEAD. I'd test and integrate much more often, this
                  time, maybe deleting each diff block from the patch file as I resolve it.

                  I have done this quite a few times recently, because near-XP and pure-XP
                  encourage you to be a little reckless with the codebase, so you might
                  sometimes need to roll back. The testing and versioning systems should make
                  this harmless and easy. I have not yet rolled back and then got stuck again.
                  I usually never learn what the bug was - I just push in all the changes from
                  the patch that seem relevant, and for some reason the bug doesn't happen to
                  make the cut!

                  Anything but debugging, folks!

                  --
                  Phlip
                  http://www.oreilly.com/catalog/9780596510657/
                  "Test Driven Ajax (on Rails)"
                  assert_xpath, assert_javascript, & assert_ajax
                • Steven Gordon
                  Ken, Does your lack of response to my first email indicate that you do not yet have a first story to deliver? If not, start by working with your customers to
                  Message 8 of 13 , Jun 30, 2007
                  • 0 Attachment
                    Ken,

                    Does your lack of response to my first email indicate that you do not yet
                    have a first story to deliver?

                    If not, start by working with your customers to agree on the first few small
                    story that you can deliver in a short period of time like two weeks. Then,
                    focus on doing the simplest thing possible to deliver each small story.

                    If the last 2 month's code did not deliver those stories (or any specific
                    stories), then the last 2 months work was an exploratory spike. Keep the
                    knowledge gained, but throw away the code.

                    Steve

                    On 6/30/07, Steven Gordon <sgordonphd@...> wrote:
                    >
                    > Ken,
                    >
                    > Do any of these several people waiting for this act as a customer to you?
                    >
                    > What was the highest priority story? Is that story finished to the
                    > statisfaction of the your customers?
                    >
                    > If so, what about the next highest priority story? On the other hand, if
                    > the highest priority story is not completed after 2 months, it does not
                    > sound like you are doing XP.
                    >
                    > Steve
                    >
                    > On 6/30/07, Ken Linder <farmerken@...> wrote:
                    > >
                    > > Hi all! I have been doing XP for almost 15 years but at a little
                    > > stumbling block here with a personal project.
                    > >
                    > > This little program has several people waiting for it, but I seem to
                    > > get caught up in the programmer's "Way Cool" stuff like
                    > > multi-threading and the like. It started simple and now is 'Cool'
                    > > from a programmer's stand point but after abt 2 months, all it does is
                    > > the 'Cool Stuff.'
                    > >
                    > > So, I am tempted to start over and simplify the whole thing so I might
                    > > get it done sooner.
                    > >
                    > > Advantage of starting over: Get the program working sooner.
                    > > Disadvantage of starting over: Program will not be as responsive. The
                    > > 'cool programmer' factor will not be there. Throw away some of my code.
                    > >
                    > > Advantage of continuing: 'Programmer Cool' factor. Program will be a
                    > > LOT more responsive due to the multithreading.
                    > > Disadvantage of continuing: May not get done this year (and people are
                    > > waiting for it).
                    > >
                    > > So? Comments? Should I start over and 'Get-r-Done?'
                    > >
                    > > TNX
                    > > Ken Linder
                    > > KC7RAD
                    > >
                    > >
                    > >
                    >
                    >


                    [Non-text portions of this message have been removed]
                  • Paul Campbell
                    ... in C#. It will retrieve requests by e-mail (POP3), process the request and return the request via e-mail(SMTP). It will also be able to do things like
                    Message 9 of 13 , Jul 2, 2007
                    • 0 Attachment
                      --- In extremeprogramming@yahoogroups.com, "Ken Linder"
                      <farmerken@...> wrote:
                      >
                      > Thank you for the response!
                      >
                      > To add a little more info. I am writing a sort-of FileMail program
                      in C#. It will retrieve requests by e-mail (POP3), process the
                      request and return the request via e-mail(SMTP). It will also be able
                      to do things like retrieve files via HTTP, cache the files locally and
                      perform various image manipulations on image files.
                      >
                      > Sounded like a job for threads when I started, but I just seem to be
                      spending a LOT of time on the thread handling. Admittedly, I am a
                      novice at thread programming, :-)

                      Threading solves two basic problems:
                      * no responsiveness during blocking operations
                      * no throughput during blocking operations

                      If you dont have either of these two problems (or you do but they dont
                      hurt you) you dont *need* threading. In this case base your decision
                      on whatever leads to the cleanest design (yes sometimes a threaded
                      design can be the cleanest).

                      Paul.
                    Your message has been successfully submitted and would be delivered to recipients shortly.