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

XP for a school project?

Expand Messages
  • Ken Chien
    This might be a silly question, but for a school project, should one obtain user stories from the professor? I want to use XP practices on my school project
    Message 1 of 8 , Mar 1, 2005
    • 0 Attachment
      This might be a silly question, but for a school project, should one
      obtain user stories from the professor? I want to use XP practices on
      my school project (an online travel reservation system, using J2EE)
      but many of the practices may be hard to implement/practice. How
      would we go about paired programming? (Kind of difficult when
      everyone works full time.) I've persuaded the team (after many
      emails, discussions, etc.) to use JUnit, but I'm not so sure they
      understand TDD.

      Does anyone have experience using XP in a university setting?
    • J. B. Rainsberger
      ... Not XP, but I did have the experience of being on a good team in university, and testing was the primary strength of the team. Our test plans were long and
      Message 2 of 8 , Mar 2, 2005
      • 0 Attachment
        Ken Chien wrote:
        >
        > This might be a silly question, but for a school project, should one
        > obtain user stories from the professor? I want to use XP practices on
        > my school project (an online travel reservation system, using J2EE)
        > but many of the practices may be hard to implement/practice. How
        > would we go about paired programming? (Kind of difficult when
        > everyone works full time.) I've persuaded the team (after many
        > emails, discussions, etc.) to use JUnit, but I'm not so sure they
        > understand TDD.
        >
        > Does anyone have experience using XP in a university setting?

        Not XP, but I did have the experience of being on a good team in
        university, and testing was the primary strength of the team. Our test
        plans were long and painful to execute, but they were good enough for
        our purposes. With xUnit, you should be flying.

        Whoever on the team knows most about testing should try to lead the group.

        As for getting stories, first read the assignment, then write some
        tests. The more tests you write, the more holes you find in the
        assignment description. Ask the professor to fill each hole. Having
        tests as a spreadsheet would help.

        What's the assignment?
        --
        J. B. (Joe) Rainsberger
        Diaspar Software Services
        http://www.diasparsoftware.com
        Author, JUnit Recipes: Practical Methods for Programmer Testing
      • Ken Chien
        On Wed, 02 Mar 2005 08:07:17 -0600, J. B. Rainsberger ... Should I write tests from a developer prospective, i.e. xUnit, or more from a managment/user
        Message 3 of 8 , Mar 2, 2005
        • 0 Attachment
          On Wed, 02 Mar 2005 08:07:17 -0600, J. B. Rainsberger
          <jbrains@...> wrote:
          >
          > As for getting stories, first read the assignment, then write some
          > tests. The more tests you write, the more holes you find in the
          > assignment description. Ask the professor to fill each hole. Having
          > tests as a spreadsheet would help.
          >

          Should I write tests from a developer prospective, i.e. xUnit, or more
          from a managment/user perspective, i.e. FitNesse? (To answer my own
          question, maybe both?)



          > What's the assignment?
          The assignment is an online travel (flight) reservation system. We
          must use Java/J2EE, using Sun's default application server. In a
          nutshell, the user can search for flights and book them, if desired.
          Then there is the idea of the travel reservation manager, who is like
          an admin to the system; he/she can cancel and add flights at will, and
          generate reports.
        • J. B. Rainsberger
          ... For now, it doesn t matter. Write the tests in whatever format makes you feel most comfortable. If they re all in xUnit, that s fine. ... Very neat. It
          Message 4 of 8 , Mar 2, 2005
          • 0 Attachment
            Ken Chien wrote:
            > On Wed, 02 Mar 2005 08:07:17 -0600, J. B. Rainsberger
            > <jbrains@...> wrote:
            >
            >>As for getting stories, first read the assignment, then write some
            >>tests. The more tests you write, the more holes you find in the
            >>assignment description. Ask the professor to fill each hole. Having
            >>tests as a spreadsheet would help.
            >
            > Should I write tests from a developer prospective, i.e. xUnit, or more
            > from a managment/user perspective, i.e. FitNesse? (To answer my own
            > question, maybe both?)

            For now, it doesn't matter. Write the tests in whatever format makes you
            feel most comfortable. If they're all in xUnit, that's fine.

            >>What's the assignment?
            >
            > The assignment is an online travel (flight) reservation system. We
            > must use Java/J2EE, using Sun's default application server. In a
            > nutshell, the user can search for flights and book them, if desired.
            > Then there is the idea of the travel reservation manager, who is like
            > an admin to the system; he/she can cancel and add flights at will, and
            > generate reports.

            Very neat. It sounds quite manageable. I have a suggestion: your first
            story is "Admin can book a specific flight on behalf of a user". After
            you can get a booking through the system, add the interesting bits, like
            searching and so on.

            Take care.
            --
            J. B. (Joe) Rainsberger
            Diaspar Software Services
            http://www.diasparsoftware.com
            Author, JUnit Recipes: Practical Methods for Programmer Testing
          • Kent Beck
            Orit Hazzan at Technion has used XP as the basis for studio-style university learning (similar to architectural training).
            Message 5 of 8 , Mar 2, 2005
            • 0 Attachment
              Orit Hazzan at Technion has used XP as the basis for studio-style university
              learning (similar to architectural training).
              http:edu.technion.ac.il/Faculty/OritH/HomePage.

              Kent Beck
              Three Rivers Institute

              > -----Original Message-----
              > From: Ken Chien [mailto:ken.chien@...]
              > Sent: Tuesday, March 01, 2005 6:42 AM
              > To: extremeprogramming@yahoogroups.com
              > Subject: [XP] XP for a school project?
              >
              > This might be a silly question, but for a school project, should one
              > obtain user stories from the professor? I want to use XP practices on
              > my school project (an online travel reservation system, using J2EE)
              > but many of the practices may be hard to implement/practice. How
              > would we go about paired programming? (Kind of difficult when
              > everyone works full time.) I've persuaded the team (after many
              > emails, discussions, etc.) to use JUnit, but I'm not so sure they
              > understand TDD.
              >
              > Does anyone have experience using XP in a university setting?
            • Adam Carter
              Hi, My degree has a heavy focus on XP and agile development during its courses and attempts to use XP during our studio process. ... In the experiance I had at
              Message 6 of 8 , Mar 11, 2005
              • 0 Attachment
                Hi,

                My degree has a heavy focus on XP and agile development during its
                courses and attempts to use XP during our studio process.

                On Tue, 2005-03-01 at 09:41 -0500, Ken Chien wrote:
                >
                > This might be a silly question, but for a school project, should one
                > obtain user stories from the professor?

                In the experiance I had at the University of Queensland the students had
                to be both the customers and the developers. EG They would design a
                product and then find a development team that wanted to build it, while
                developing a product for a third party. From a students perspective I am
                surprised that it works as well as it does, maybe this is because the
                degree I am doing mostly focuses on being a design degree first up and
                coders second.

                The advantage of this style is that everybody gets to be the customer
                (which is valuable) and everybody gets to be a developer (which is
                crucial) and everybody is doing different stuff, so collusion is basicly
                a mute point. Not to mention at the end of semester it is really fun to
                see what everybody else has made.


                > I want to use XP practices on
                > my school project (an online travel reservation system, using J2EE)
                > but many of the practices may be hard to implement/practice. How
                > would we go about paired programming? (Kind of difficult when
                > everyone works full time.)

                Pair programming is probably the most resisted feature of XP I have seen
                at uni. I believe this comes from two major areas:

                A, people management; in the real world people are supposed to rock up
                at a certian time and go home at another defined time. At uni, people
                are doing a bunch of subjects and probably working on the side. Getting
                two (or more) people all together can be painful at best.

                B, Some people are scumbags: In an XP like setting some people end up
                carrying the load of a looser who shouldn't be there. In the real world
                you can often fire the looser, while at uni all you can do is cry about
                it. Even if this isn't true, and it is only a perception, it does have a
                drastic effect on the way teams are formed for XP projects. Basicly all
                of the hard working students immediatly all pair (group) up leaving
                everybody else to random pick up groups, assuming that you give them the
                option of doing so.

                > I've persuaded the team (after many
                > emails, discussions, etc.) to use JUnit, but I'm not so sure they
                > understand TDD.

                That is only going to work if all of the group mates agree to actually
                do it :)

                >
                > Does anyone have experience using XP in a university setting?

                >From a non student point of view my experiance is very limited :) Most
                of the academic work I have done has been mostly individual efforts that
                are absorbed by the team.

                >From a students point of view it can be a mixed blessing. If you get a
                good team with a good creative project then focusing on XP can be great,
                if you get crap teams and/or crap groups then it is very hard to stop
                projects spiraling out of control.

                A good example of team and a project that wasn't good for them was last
                year in a studio subject the students were deciding to create a hybrid
                physical/digital game using Java, J2ME and Bluetooth enabled phones
                (they sure regret the Bluetooth on phones). The team had some real
                talented ex-engineering students, some realy gifted students and a
                couple of students who should never have been allowed into the degree to
                begin with.

                The team stalled for a very long time (in a subject were stalling is
                bad) as the best group mates were paired up with the very worst of the
                group which basicly nulled each other out. I mean the gifted programmers
                were at the best acting as tutors who didn't get paid, and at the worst
                were teaching students basic programming techniques (like the meaning of
                the 'if' and 'else' keywords.

                Eventually the team decided to risk the loss of points for not working
                as a team and just ignored the deadweight. All in all the remaining team
                burned out and some almost dropped the degree.

                In a normal team project they would have just dropped the deadweight
                members up front and just worked a little harder for 13 weeks, instead
                of the massive effort they put in in the final stages of the production.

                So, in summary, XP at uni can be awesome if you groups are good groups,
                although many groups will just claim to have done XP and ignore it. It
                can also be very, very bad.

                Adam
              • Paul Jenkins
                this actually struck quite a chord with me, from experience in the real world. three - four years ago I worked two projects as consultant, back to back - 9
                Message 7 of 8 , Mar 11, 2005
                • 0 Attachment
                  this actually struck quite a chord with me, from experience in the real
                  world.

                  three - four years ago I worked two projects as consultant, back to back - 9
                  months on the first contract and immediately after finishing that, another
                  ten months on a completley different project for a completely different
                  client.

                  The first project was a storming success, the second pretty much a shambles
                  (although we did better by far than the first phase which had been developed
                  by waterfall & overran on time by 60% - who knows how the budget suffered).

                  We did nothing differently, first project to second; all the practices in
                  place, the whole thing.

                  The key was absolutely the people involved; the first team was thoroughly
                  dedicated to agile; they 'groked' XP. The second project, nobody 'got it';
                  completly closed minds, unwillingness to work with new techniques and 'let
                  go' from their comfort zone (but a 40 hour week was _no_ problem; you were
                  pressed to find anyone around after 4.30pm usually, and certainly no one
                  before 9am).

                  For me, Adam's comments are spot on; if you're working with the right
                  people, at uni - or anywhere else - xp /will/ work (I'd even go as far as
                  to argue that sufficient commitment and experience will mitigate a lot of
                  the commonly talked-about difficulties with xp like customer co-location,
                  remote working and size of team).

                  If you pay lipservice to xp and work with people who are simply not
                  dedicated to _making_ it work, it'll be an uphill struggle.

                  --p

                  >From: Adam Carter <a.carter@...>
                  >Reply-To: extremeprogramming@yahoogroups.com
                  >To: extremeprogramming@yahoogroups.com
                  >Subject: Re: [XP] XP for a school project?
                  >Date: Fri, 11 Mar 2005 20:20:50 +1000
                  >
                  >
                  >Hi,
                  >
                  >My degree has a heavy focus on XP and agile development during its
                  >courses and attempts to use XP during our studio process.
                  >
                  >On Tue, 2005-03-01 at 09:41 -0500, Ken Chien wrote:
                  > >
                  > > This might be a silly question, but for a school project, should one
                  > > obtain user stories from the professor?
                  >
                  >In the experiance I had at the University of Queensland the students had
                  >to be both the customers and the developers. EG They would design a
                  >product and then find a development team that wanted to build it, while
                  >developing a product for a third party. From a students perspective I am
                  >surprised that it works as well as it does, maybe this is because the
                  >degree I am doing mostly focuses on being a design degree first up and
                  >coders second.
                  >
                  >The advantage of this style is that everybody gets to be the customer
                  >(which is valuable) and everybody gets to be a developer (which is
                  >crucial) and everybody is doing different stuff, so collusion is basicly
                  >a mute point. Not to mention at the end of semester it is really fun to
                  >see what everybody else has made.
                  >
                  >
                  > > I want to use XP practices on
                  > > my school project (an online travel reservation system, using J2EE)
                  > > but many of the practices may be hard to implement/practice. How
                  > > would we go about paired programming? (Kind of difficult when
                  > > everyone works full time.)
                  >
                  >Pair programming is probably the most resisted feature of XP I have seen
                  >at uni. I believe this comes from two major areas:
                  >
                  >A, people management; in the real world people are supposed to rock up
                  >at a certian time and go home at another defined time. At uni, people
                  >are doing a bunch of subjects and probably working on the side. Getting
                  >two (or more) people all together can be painful at best.
                  >
                  >B, Some people are scumbags: In an XP like setting some people end up
                  >carrying the load of a looser who shouldn't be there. In the real world
                  >you can often fire the looser, while at uni all you can do is cry about
                  >it. Even if this isn't true, and it is only a perception, it does have a
                  >drastic effect on the way teams are formed for XP projects. Basicly all
                  >of the hard working students immediatly all pair (group) up leaving
                  >everybody else to random pick up groups, assuming that you give them the
                  >option of doing so.
                  >
                  > > I've persuaded the team (after many
                  > > emails, discussions, etc.) to use JUnit, but I'm not so sure they
                  > > understand TDD.
                  >
                  >That is only going to work if all of the group mates agree to actually
                  >do it :)
                  >
                  > >
                  > > Does anyone have experience using XP in a university setting?
                  >
                  > >From a non student point of view my experiance is very limited :) Most
                  >of the academic work I have done has been mostly individual efforts that
                  >are absorbed by the team.
                  >
                  > >From a students point of view it can be a mixed blessing. If you get a
                  >good team with a good creative project then focusing on XP can be great,
                  >if you get crap teams and/or crap groups then it is very hard to stop
                  >projects spiraling out of control.
                  >
                  >A good example of team and a project that wasn't good for them was last
                  >year in a studio subject the students were deciding to create a hybrid
                  >physical/digital game using Java, J2ME and Bluetooth enabled phones
                  >(they sure regret the Bluetooth on phones). The team had some real
                  >talented ex-engineering students, some realy gifted students and a
                  >couple of students who should never have been allowed into the degree to
                  >begin with.
                  >
                  >The team stalled for a very long time (in a subject were stalling is
                  >bad) as the best group mates were paired up with the very worst of the
                  >group which basicly nulled each other out. I mean the gifted programmers
                  >were at the best acting as tutors who didn't get paid, and at the worst
                  >were teaching students basic programming techniques (like the meaning of
                  >the 'if' and 'else' keywords.
                  >
                  >Eventually the team decided to risk the loss of points for not working
                  >as a team and just ignored the deadweight. All in all the remaining team
                  >burned out and some almost dropped the degree.
                  >
                  >In a normal team project they would have just dropped the deadweight
                  >members up front and just worked a little harder for 13 weeks, instead
                  >of the massive effort they put in in the final stages of the production.
                  >
                  >So, in summary, XP at uni can be awesome if you groups are good groups,
                  >although many groups will just claim to have done XP and ignore it. It
                  >can also be very, very bad.
                  >
                  >Adam
                  >
                  >
                  >
                  >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
                  >
                  >
                  >
                  >
                  >
                  >
                  >
                • Paul Jenkins
                  and, forgive me, Adam. The first line in my last post was the pits; absolutley did not mean to suggest that you, or indeed anyone, working at uni was not in
                  Message 8 of 8 , Mar 11, 2005
                  • 0 Attachment
                    and, forgive me, Adam. The first line in my last post was the pits;

                    absolutley did not mean to suggest that you, or indeed anyone, working at
                    uni was not in 'the real world' - that was completly condescending, and not
                    what I meant at all.

                    Lesson 1: - put brain_in_gear before engaging fingers_on_keyboard

                    :-)

                    --p


                    >From: Adam Carter <a.carter@...>
                    >Reply-To: extremeprogramming@yahoogroups.com
                    >To: extremeprogramming@yahoogroups.com
                    >Subject: Re: [XP] XP for a school project?
                    >Date: Fri, 11 Mar 2005 20:20:50 +1000
                    >
                    >
                    >Hi,
                    >
                    >My degree has a heavy focus on XP and agile development during its
                    >courses and attempts to use XP during our studio process.
                    >
                    >On Tue, 2005-03-01 at 09:41 -0500, Ken Chien wrote:
                    > >
                    > > This might be a silly question, but for a school project, should one
                    > > obtain user stories from the professor?
                    >
                    >In the experiance I had at the University of Queensland the students had
                    >to be both the customers and the developers. EG They would design a
                    >product and then find a development team that wanted to build it, while
                    >developing a product for a third party. From a students perspective I am
                    >surprised that it works as well as it does, maybe this is because the
                    >degree I am doing mostly focuses on being a design degree first up and
                    >coders second.
                    >
                    >The advantage of this style is that everybody gets to be the customer
                    >(which is valuable) and everybody gets to be a developer (which is
                    >crucial) and everybody is doing different stuff, so collusion is basicly
                    >a mute point. Not to mention at the end of semester it is really fun to
                    >see what everybody else has made.
                    >
                    >
                    > > I want to use XP practices on
                    > > my school project (an online travel reservation system, using J2EE)
                    > > but many of the practices may be hard to implement/practice. How
                    > > would we go about paired programming? (Kind of difficult when
                    > > everyone works full time.)
                    >
                    >Pair programming is probably the most resisted feature of XP I have seen
                    >at uni. I believe this comes from two major areas:
                    >
                    >A, people management; in the real world people are supposed to rock up
                    >at a certian time and go home at another defined time. At uni, people
                    >are doing a bunch of subjects and probably working on the side. Getting
                    >two (or more) people all together can be painful at best.
                    >
                    >B, Some people are scumbags: In an XP like setting some people end up
                    >carrying the load of a looser who shouldn't be there. In the real world
                    >you can often fire the looser, while at uni all you can do is cry about
                    >it. Even if this isn't true, and it is only a perception, it does have a
                    >drastic effect on the way teams are formed for XP projects. Basicly all
                    >of the hard working students immediatly all pair (group) up leaving
                    >everybody else to random pick up groups, assuming that you give them the
                    >option of doing so.
                    >
                    > > I've persuaded the team (after many
                    > > emails, discussions, etc.) to use JUnit, but I'm not so sure they
                    > > understand TDD.
                    >
                    >That is only going to work if all of the group mates agree to actually
                    >do it :)
                    >
                    > >
                    > > Does anyone have experience using XP in a university setting?
                    >
                    > >From a non student point of view my experiance is very limited :) Most
                    >of the academic work I have done has been mostly individual efforts that
                    >are absorbed by the team.
                    >
                    > >From a students point of view it can be a mixed blessing. If you get a
                    >good team with a good creative project then focusing on XP can be great,
                    >if you get crap teams and/or crap groups then it is very hard to stop
                    >projects spiraling out of control.
                    >
                    >A good example of team and a project that wasn't good for them was last
                    >year in a studio subject the students were deciding to create a hybrid
                    >physical/digital game using Java, J2ME and Bluetooth enabled phones
                    >(they sure regret the Bluetooth on phones). The team had some real
                    >talented ex-engineering students, some realy gifted students and a
                    >couple of students who should never have been allowed into the degree to
                    >begin with.
                    >
                    >The team stalled for a very long time (in a subject were stalling is
                    >bad) as the best group mates were paired up with the very worst of the
                    >group which basicly nulled each other out. I mean the gifted programmers
                    >were at the best acting as tutors who didn't get paid, and at the worst
                    >were teaching students basic programming techniques (like the meaning of
                    >the 'if' and 'else' keywords.
                    >
                    >Eventually the team decided to risk the loss of points for not working
                    >as a team and just ignored the deadweight. All in all the remaining team
                    >burned out and some almost dropped the degree.
                    >
                    >In a normal team project they would have just dropped the deadweight
                    >members up front and just worked a little harder for 13 weeks, instead
                    >of the massive effort they put in in the final stages of the production.
                    >
                    >So, in summary, XP at uni can be awesome if you groups are good groups,
                    >although many groups will just claim to have done XP and ignore it. It
                    >can also be very, very bad.
                    >
                    >Adam
                    >
                    >
                    >
                    >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
                    >
                    >
                    >
                    >
                    >
                    >
                    >
                  Your message has been successfully submitted and would be delivered to recipients shortly.