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

Re: [XP] XP in non xp environment?

Expand Messages
  • Robert Watkins
    ... Reading the source code for FIT made me realise how many of my programming techniques are utterly defensive in nature. My mind kept screaming Unsafe!
    Message 1 of 21 , Feb 1, 2005
      yahoogroups@... wrote:
      > A thorough
      > examination of FIT will bend your mind: Ward is a wizard programmer.

      Reading the source code for FIT made me realise how many of my programming
      techniques are utterly defensive in nature. My mind kept screaming "Unsafe!
      Unsafe!" Writing code in that particular style scares me because I know _I_
      would screw it up. Maybe one day I can take my training wheels off too... ;)
      --
      "Software is too expensive to build cheaply"
      Robert Watkins http://twasink.net/ robertdw@...
    • Michael Brunton-Spall
      Apologies Ron, I looked back and in the OT -Same stupid arguments, and old methodologies thread, Kent and Charles were talking about it, and it stuck in my
      Message 2 of 21 , Feb 2, 2005
        Apologies Ron,
        I looked back and in the 'OT -Same "stupid" arguments, and old
        methodologies' thread, Kent and Charles were talking about it, and it
        stuck in my mind, but I guess it must have stuck in my mind as the sort
        of thing you would say... :)

        The bit in question was...
        Charles Said:
        > Kent Beck wrote:
        > > Charles,
        > >
        > > Few people would say in public that their software development
        process
        > > valued cowardice, secrecy, complexity, isolation, and elitism. Most
        of my
        > > clients will admit that at least some subset of these are their de
        facto
        > > values, however. The ones where no one will admit that their values
        are
        > > messed up are the ones where I don't last long.
        > I think you're saying that few places admit they *reward*
        > cowardice, secrecy, etc, but in fact they do.
        <snip>
        > In the absence of some countering payoff, cowardice *is* rewarded,
        > although I bet those places would say they reward "caution", or that
        > they "don't like to take unneeded risks."

        That was what I was referring to with the value cowardice, which I
        thought was a very good way of putting the fact that some companies seem
        to state that they are Cautious or don't take unneeded risks, and are in
        fact valuing cowardice.

        Anyway, sorry for attributing it to you Ron, no offence intended

        Mib
        Software Engineer


        > -----Original Message-----
        > From: Ron Jeffries [mailto:ronjeffries@...]
        > Sent: 01 February 2005 20:55
        > To: extremeprogramming@yahoogroups.com
        > Subject: Re: [XP] XP in non xp environment?
        >
        >
        >
        > On Tuesday, February 1, 2005, at 9:12:17 AM, Michael
        > Brunton-Spall wrote:
        >
        > > "value cowardice" (to paraphrase Ron)
        >
        > I certainly hope I didn't say that. If I did, I'm sorry now.
        >
        > Ron Jeffries
        > www.XProgramming.com
        > You can observe a lot by watching. --Yogi Berra
        >
        >
        >
        >
        > 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
        ... When I worked at IBM, I did what some call XP for One. This is an outline of what I did: * weekly cycle During the status meeting I presented what I
        Message 3 of 21 , Feb 4, 2005
          Michael Brunton-Spall wrote:

          > I was hoping to start a discussion about what practices can be
          > implemented under the radar of management oversight, and what advantages
          > or disadvantages that may have.
          >
          > I was obviously interested in which practices can be done subtly, and
          > which are simply not able to be done without management interaction.

          When I worked at IBM, I did what some call XP for One. This is an
          outline of what I did:

          * weekly cycle

          During the status meeting I presented what I achieved in the
          just-finished iteration. After the meeting I spent an hour in the
          afternoon talking my customer (who was internal) about what I could do
          in the coming few weeks. We went over priorities and risks and settled
          on what to do for the coming week. I would put this information into a
          spreadsheet and send a copy to my manager. I broke down features small
          enough that each could be done in 1-2 days.

          * test-driven development with domain-driven design

          Since I was a team of one, it was easy to carve out my section of the
          design and test-drive new features. Integrating with the rest of the
          product presented challenges, and I wrote about them. ("Use your
          singletons wisely" came out of that project.) I was able to drive the
          design from the domain outward, adding persistence last. (Better
          Software, April 2004, feature article.)

          (For me, TDD includes Refactoring, in case you're wondering where that
          went.)

          * continuous integration

          I committed code on average every half day. I had to write additional
          integration tests to make this safe, but then, the requirements for
          committing code were lax. (If it built, that's all that mattered; and
          working in Visual Age for Java, you always knew whether it built.)

          * informative workspace

          Anyone who wanted to know how I was doing could read my cubicle door,
          which included a burndown chart and which stories were in plan for the
          next few weeks.

          * on-site customer

          I was fortunate in that I was writing code for another programmer, so I
          had an on-site customer. He was quite active, answering questions
          relatively quickly and willing to spend an hour per week planning with
          me. Our relationship was quite good.

          I was able to do all this without changing the way I interacted with
          management:

          * I still reported status like anyone else, and my reports were based
          on projections of actual data, rather than gut feelings

          * I followed the rules for committing code, and even worked with the
          build team to increase the effectiveness of their automation

          * I attended meetings and participated, but reported at the end of the
          week how much time I spent away from writing code and how that affected
          my schedule

          My immediate manager appreciated what I was doing and was happy to be
          involved on a more day-to-day basis, because she felt she was working
          with me, rather than babysitting me. I certainly liked that.

          Had I not had an on-site customer, I would likely have done a poorer job
          of delivering the right features, but I think I would have done a good
          job at delivering working features. In that environment, working code
          was enough to stand out.

          I hope this helps.
          --
          J. B. (Joe) Rainsberger
          Diaspar Software Services
          http://www.diasparsoftware.com
          Author, JUnit Recipes: Practical Methods for Programmer Testing
        • Kent Beck
          Michael, What is your anti-XP organization in favor of? Could you apply XP to give it more of that? Kent Beck Three Rivers ... From: Michael Brunton-Spall
          Message 4 of 21 , Feb 8, 2005
            Michael,

            What is your anti-XP organization in favor of? Could you apply XP to give it
            more of that?

            Kent Beck
            Three Rivers

            -----Original Message-----
            From: Michael Brunton-Spall [mailto:mib@...]
            Sent: Monday, January 31, 2005 7:30 AM
            To: extremeprogramming@yahoogroups.com
            Subject: [XP] XP in non xp environment?


            Ok based on some of the discussions in the newbie thread, and some other
            comments here and there, I thought I'd ask this fairly newbie type
            question.

            If one is working in an organisation that is firmly anti-xp, what
            practices of XP are possible to do in a skunk works type manner. I.e.
            stealthily apply them by oneself without requiring management approval.
            Which practices can we definitely not do? (Customer on site, Planning
            Game spring to mind).
            Given that many of the processes work best when applied together, what
            problems are caused by the lack of the above in the development process.

            Some possible issues may include the following...
            <these are not a reflection of my place of work, but are merely
            suggestions> (that should avoid me being fired if my emails are
            monitored!)
            Micro-managing managers, are you allowed to perform any techniques that
            are not *approved* techniques
            Restrictive corporate policies, for example, unable to install any
            software of choice on dev machines (this one is true here, the fight to
            get cppunit in was hard!)
            Code sharing, (yes that can be a problem, take cppunit for example,
            programmers who don't have it installed can't compile my programs
            without linking errors)
            Non-supportive peers,

            I'm sure there's more, but I'm out of ideas now, just thought I'd toss
            this off, and see what comes in.

            Mib
            Software Engineer



            [Non-text portions of this message have been removed]



            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
          • Tony Nassar
            Accordingly, it seems like a skunk works is the wrong starting point; that pretty much implies going behind someone s back. If you do indeed have a manager who
            Message 5 of 21 , Feb 9, 2005
              Accordingly, it seems like a skunk works is the wrong starting point;
              that pretty much implies going behind someone's back. If you do indeed
              have a manager who paranoically looks over your shoulder and forbids you
              even to use JUnit, well, then you've got problems, but that scenario
              seems pretty unlikely. I've faced a lot of these obstacles, too, MBS, so
              I don't dismiss them. I had to be patient, and pick my battles sensibly,
              which is not to say that I won them all. The proof, for the manager, was
              in the pudding (i.e., an error-free and properly performant
              deliverable); he didn't care about my "XP is great" spiel, which I was
              unqualified to deliver anyway. Yes, *I'd* have done better work if
              everyone on this site had been test-infected, but they weren't; c'est la
              vie for a contractor. One thing is certain: I couldn't go into a
              customer site hoping to practice stealth there; one has to resist the
              temptation to regard a customer in that fashion.

              Kent Beck wrote:

              >Michael,
              >
              >What is your anti-XP organization in favor of? Could you apply XP to give it
              >more of that?
              >
              >Kent Beck
              >Three Rivers
              >
              >-----Original Message-----
              >From: Michael Brunton-Spall [mailto:mib@...]
              >
              >Ok based on some of the discussions in the newbie thread, and some other
              >comments here and there, I thought I'd ask this fairly newbie type
              >question.
              >
              >If one is working in an organisation that is firmly anti-xp, what
              >practices of XP are possible to do in a skunk works type manner. I.e.
              >stealthily apply them by oneself without requiring management approval.
              >Which practices can we definitely not do? (Customer on site, Planning
              >Game spring to mind).
              >Given that many of the processes work best when applied together, what
              >problems are caused by the lack of the above in the development process.
              >
              >Some possible issues may include the following...
              ><these are not a reflection of my place of work, but are merely
              >suggestions> (that should avoid me being fired if my emails are
              >monitored!)
              >Micro-managing managers, are you allowed to perform any techniques that
              >are not *approved* techniques
              >Restrictive corporate policies, for example, unable to install any
              >software of choice on dev machines (this one is true here, the fight to
              >get cppunit in was hard!)
              >
              >
            • Michael Brunton-Spall
              Thanks for the responses, I m not sure I understood that last post however Tony, You say that implementing XP in a stealthy manner is probably not a good
              Message 6 of 21 , Feb 9, 2005
                Thanks for the responses,

                I'm not sure I understood that last post however Tony,

                You say that implementing XP in a stealthy manner is probably not a good
                start, a point which I think everybody would agree with, ideally, one
                can convince the company to allow XP to be performed freely by everybody
                on the team. This is obviously better as it enables the free
                information flow in the team, ensures that the development process is
                supported and so on.

                However there are cases whereby one may not be allowed to do that, it is
                in those cases that I am interested.

                You then said that the proof was in the pudding, i.e. error free and
                properly performing software, I don't understand how if your manager is
                opposed to the idea of practicing XP, how you can prove that it works
                without performing XP by stealth.

                The two possibilities that spring to mind are,
                1) You argued for say, the introduction of nUnit (for any value of
                n), the manager agreed, and you demonstrated that business improvement
                of implementing a single practice of xp.
                2) Your manager agreed to allow you to develop in any way you
                wished, and you were able to develop the system according to XP
                principles wherever possible.

                I agree that both are very valid ways of slowly introducing XP to an
                environment where people may be opposed to XP by name, but don't truly
                understand it, and so wont notice if you introduce the practices one at
                a time, or if your organisation is willing to allow developers or teams
                of developers to use whatever method of development they wish providing
                they meet the organisation requirements, (i.e. status meeting twice a
                month or something).

                The area I was interested in was exploring all the different ways of
                bringing XP in, especially in adverse conditions so to speak.

                With regard to my personal development conditions, I have given up hope
                of convincing my development organisation that XP is of any use. I am
                in a junior development position, and we program mainly in C++. Suffice
                to say that the organisation will not accept XP, or agile methods as a
                possible development methodology.
                I am not and have not been asking Questions on here for my works
                benefit, instead for my own elucidation and personal development. So
                consider them abstract questions, or thought experiments for now :)

                (ah, funny mood today, just wrote 3 paragraphs of badness about my work
                then deleted it realising that a) you lot don't care, and b) it's
                probably not ethical to complain about my place of work via my company
                email address to a global audience!)


                Mib
                Software Engineer


                > -----Original Message-----
                > From: Tony Nassar [mailto:tony.nassar@...]
                > Sent: 09 February 2005 15:44
                > To: extremeprogramming@yahoogroups.com
                > Subject: Re: [XP] XP in non xp environment?
                >
                >
                >
                > Accordingly, it seems like a skunk works is the wrong starting point;
                > that pretty much implies going behind someone's back. If you
                > do indeed
                > have a manager who paranoically looks over your shoulder and
                > forbids you
                > even to use JUnit, well, then you've got problems, but that scenario
                > seems pretty unlikely. I've faced a lot of these obstacles,
                > too, MBS, so
                > I don't dismiss them. I had to be patient, and pick my
                > battles sensibly,
                > which is not to say that I won them all. The proof, for the
                > manager, was
                > in the pudding (i.e., an error-free and properly performant
                > deliverable); he didn't care about my "XP is great" spiel,
                > which I was
                > unqualified to deliver anyway. Yes, *I'd* have done better work if
                > everyone on this site had been test-infected, but they
                > weren't; c'est la
                > vie for a contractor. One thing is certain: I couldn't go into a
                > customer site hoping to practice stealth there; one has to resist the
                > temptation to regard a customer in that fashion.
                >
                > Kent Beck wrote:
                >
                > >Michael,
                > >
                > >What is your anti-XP organization in favor of? Could you
                > apply XP to give it
                > >more of that?
                > >
                > >Kent Beck
                > >Three Rivers
                > >
                > >-----Original Message-----
                > >From: Michael Brunton-Spall [mailto:mib@...]
                > >
                > >Ok based on some of the discussions in the newbie thread,
                > and some other
                > >comments here and there, I thought I'd ask this fairly newbie type
                > >question.
                > >
                > >If one is working in an organisation that is firmly anti-xp, what
                > >practices of XP are possible to do in a skunk works type
                > manner. I.e.
                > >stealthily apply them by oneself without requiring
                > management approval.
                > >Which practices can we definitely not do? (Customer on
                > site, Planning
                > >Game spring to mind).
                > >Given that many of the processes work best when applied
                > together, what
                > >problems are caused by the lack of the above in the
                > development process.
                > >
                > >Some possible issues may include the following...
                > ><these are not a reflection of my place of work, but are merely
                > >suggestions> (that should avoid me being fired if my emails are
                > >monitored!)
                > >Micro-managing managers, are you allowed to perform any
                > techniques that
                > >are not *approved* techniques
                > >Restrictive corporate policies, for example, unable to install any
                > >software of choice on dev machines (this one is true here,
                > the fight to
                > >get cppunit in was hard!)
                > >
                > >
                >
                >
                >
                > 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
                >
                >
                >
                >
                >
                >
                >
                >
              • banshee858
                ... Good move. I got fired for doing the same thing. While getting fired was a bad thing , it ended up being good since I learned how much BS I can tolerate
                Message 7 of 21 , Feb 9, 2005
                  >
                  > (ah, funny mood today, just wrote 3 paragraphs of badness about my
                  > work then deleted it realising that a) you lot don't care, and b) it's
                  > probably not ethical to complain about my place of work via my company
                  > email address to a global audience!)
                  >
                  Good move. I got fired for doing the same thing. While getting fired
                  was a "bad thing", it ended up being good since I learned how much BS
                  I can tolerate before it is time to move on.

                  Carlton
                • Dakshinamurthy Karra
                  On Wed, 9 Feb 2005 16:39:06 -0000, Michael Brunton-Spall ... XP is much more than *some* set of practices - though the practices are important. You can still
                  Message 8 of 21 , Feb 9, 2005
                    On Wed, 9 Feb 2005 16:39:06 -0000, Michael Brunton-Spall
                    <mib@...> wrote:
                    > With regard to my personal development conditions, I have given up hope
                    > of convincing my development organisation that XP is of any use. I am
                    > in a junior development position, and we program mainly in C++. Suffice
                    > to say that the organisation will not accept XP, or agile methods as a
                    > possible development methodology.
                    XP is much more than *some* set of practices - though the practices
                    are important. You can still practice XP and get the benifits from
                    whatever practices that you can follow.
                    1. Did you look at cppunit/cxxunit (both hosted on sf.net) for UT
                    frameworks. It is nice to practice TDD and it might not clash with
                    anything your manager wants. You don't need to check-in the UTs into
                    the source safe if it is not possible.
                    2. You can intereact more with the tester/customer (whichever role is
                    available) to ensure that what you develop is more useful.
                    All said and done, the context provides you a set of practices that
                    you can follow without disrupting current team practices.

                    Good luck.

                    Thanks and Regards
                    KD
                    --
                    Dakshinamurthy Karra
                    CTO, Subex Systems Ltd.(http://www.subexsystems.com)
                  • Kent Beck
                    Michael, Giving up hope of changing others sounds like a positive step. Now you can focus on what you can change about how you work. I encourage you not to
                    Message 9 of 21 , Feb 11, 2005
                      Michael,

                      Giving up hope of changing others sounds like a positive step. Now you can
                      focus on what you can change about how you work. I encourage you not to
                      treat this as an abstract or academic exercise, but to try to put what you
                      learn here to work at work. The feedback will help you learn faster.

                      Kent Beck
                      Three Rivers Institute

                      -----Original Message-----
                      From: Michael Brunton-Spall [mailto:mib@...]
                      Sent: Wednesday, February 09, 2005 8:39 AM
                      To: extremeprogramming@yahoogroups.com
                      Subject: RE: [XP] XP in non xp environment?

                      With regard to my personal development conditions, I have given up hope
                      of convincing my development organisation that XP is of any use. I am
                      in a junior development position, and we program mainly in C++. Suffice
                      to say that the organisation will not accept XP, or agile methods as a
                      possible development methodology.
                      I am not and have not been asking Questions on here for my works
                      benefit, instead for my own elucidation and personal development. So
                      consider them abstract questions, or thought experiments for now :)
                    • Shane Mingins
                      Michael I have just finished a book called Fearless Change - Patterns for Introducing New Ideas by Manns & Rising. You may find the patterns of use if you
                      Message 10 of 21 , Feb 11, 2005
                        Michael

                        I have just finished a book called Fearless Change -
                        Patterns for Introducing New Ideas by Manns & Rising.

                        You may find the patterns of use if you would like to
                        instigate change in your organisation.

                        For example:

                        Just Do It - use the new idea in your own work to
                        discover its benefits and limitations.

                        Good luck
                        Shane


                        --- Kent Beck <kentb@...> wrote:

                        >
                        > Michael,
                        >
                        > Giving up hope of changing others sounds like a
                        > positive step. Now you can
                        > focus on what you can change about how you work. I
                        > encourage you not to
                        > treat this as an abstract or academic exercise, but
                        > to try to put what you
                        > learn here to work at work. The feedback will help
                        > you learn faster.
                        >
                        > Kent Beck
                        > Three Rivers Institute
                        >
                        > -----Original Message-----
                        > From: Michael Brunton-Spall
                        > [mailto:mib@...]
                        > Sent: Wednesday, February 09, 2005 8:39 AM
                        > To: extremeprogramming@yahoogroups.com
                        > Subject: RE: [XP] XP in non xp environment?
                        >
                        > With regard to my personal development conditions, I
                        > have given up hope
                        > of convincing my development organisation that XP is
                        > of any use. I am
                        > in a junior development position, and we program
                        > mainly in C++. Suffice
                        > to say that the organisation will not accept XP, or
                        > agile methods as a
                        > possible development methodology.
                        > I am not and have not been asking Questions on here
                        > for my works
                        > benefit, instead for my own elucidation and personal
                        > development. So
                        > consider them abstract questions, or thought
                        > experiments for now :)
                        >


                        =====

                        Shane Mingins

                        shanemingins@...

                        please remove clothes before emailing




                        __________________________________
                        Do you Yahoo!?
                        The all-new My Yahoo! - Get yours free!
                        http://my.yahoo.com
                      • Devin Mullins
                        Michael, 1. Why are others having linking errors with your unit tested code? Can t they just not compile & link the unit tests? 2. Stealthy can bite you in the
                        Message 11 of 21 , Feb 12, 2005
                          Michael,

                          1. Why are others having linking errors with your unit tested code?
                          Can't they just not compile & link the unit tests?

                          2. Stealthy can bite you in the butt if your manager finds out. Instead,
                          tell your boss, "Unit tests are the only way I have of producing
                          error-free and speedy code, plus they have the added bonus of
                          encouraging my code to be cheaper to reuse and maintain in the future
                          (i.e. service-oriented, if you're looking for a buzz word)." Don't speak
                          for the whole team; just speak for you. Notice two things:
                          a)you said explicitly that if you don't use unit tests, you WILL
                          introduce errors and the code will perform suboptimally. Mentally, your
                          boss is going to have to decide to introduce errors and slowness if he
                          decides against unit tests for you, and that's something his conscience
                          is less likely to do.
                          b)You used the word "cheaper." That's a word a manager can get behind.
                          Now, if you don't succeed at convincing, you really have no option but
                          to produce buggy and slow code, like the manager asked. If you
                          originally argued this in email, then you'll have something with which
                          to CYA if it really is discovered to be buggy and slow. I know from
                          similar experience that my boss would say, "Hey, I appreciate you being
                          proactive about the success of our product. Is this something other
                          people could use?" but YMMV. You're a better judge of your own
                          corporation's culture.

                          3. The nice thing about XP is that you can implement most of the
                          practices one at a time. When you pair program, you don't have to call
                          it by name. Just say, "Hey, Jeff, I'm a little uncertain about this
                          change. When you get a second, could you help me out here? I'd really
                          appreciate a second set of eyes on this one."

                          Hope that helps,
                          Devin

                          Kent Beck wrote:

                          >Michael,
                          >
                          >What is your anti-XP organization in favor of? Could you apply XP to give it
                          >more of that?
                          >
                          >Kent Beck
                          >Three Rivers
                          >
                          >-----Original Message-----
                          >From: Michael Brunton-Spall [mailto:mib@...]
                          >Sent: Monday, January 31, 2005 7:30 AM
                          >To: extremeprogramming@yahoogroups.com
                          >Subject: [XP] XP in non xp environment?
                          >
                          >
                          >Ok based on some of the discussions in the newbie thread, and some other
                          >comments here and there, I thought I'd ask this fairly newbie type
                          >question.
                          >
                          >If one is working in an organisation that is firmly anti-xp, what
                          >practices of XP are possible to do in a skunk works type manner. I.e.
                          >stealthily apply them by oneself without requiring management approval.
                          >Which practices can we definitely not do? (Customer on site, Planning
                          >Game spring to mind).
                          >Given that many of the processes work best when applied together, what
                          >problems are caused by the lack of the above in the development process.
                          >
                          >Some possible issues may include the following...
                          ><these are not a reflection of my place of work, but are merely
                          >suggestions> (that should avoid me being fired if my emails are
                          >monitored!)
                          >Micro-managing managers, are you allowed to perform any techniques that
                          >are not *approved* techniques
                          >Restrictive corporate policies, for example, unable to install any
                          >software of choice on dev machines (this one is true here, the fight to
                          >get cppunit in was hard!)
                          >Code sharing, (yes that can be a problem, take cppunit for example,
                          >programmers who don't have it installed can't compile my programs
                          >without linking errors)
                          >Non-supportive peers,
                          >
                          >I'm sure there's more, but I'm out of ideas now, just thought I'd toss
                          >this off, and see what comes in.
                          >
                          >Mib
                          >Software Engineer
                          >
                          >
                        Your message has been successfully submitted and would be delivered to recipients shortly.