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

Re: [XP] TDD (and testing)-related bachelorthesis - what's there to research?

Expand Messages
  • Steven Gordon
    Hi ZobbL, Writing as a former academician, the problem with computer scientists doing research in software development processes is that software development
    Message 1 of 7 , Jan 24, 2013
    • 0 Attachment
      Hi ZobbL,

      Writing as a former academician, the problem with computer scientists doing
      research in software development processes is that software development is
      a social phenomenon more than a technical one.

      Collecting some data is pointless if the biases in that data cannot be
      controlled in the ways used by social science and medical research.
      Controlling for bias is difficult and involves techniques that are not
      taught to computer scientists, not to mention expensive and time-consuming.

      The result is that many students in your position do something that is
      really not valid research just to satisfy your requirement. You may learn
      something about software development if you follow this path, but what you
      would learn about research will be false.

      My suggestion is to focus on something purely technical for your research.
      This does not mean you should not continue to be interested in Agile, XP,
      TDD, testing, etc., just that I strongly believe it is not feasible to do a
      meaningful thesis on how people do things (especially from a computer
      science point of view rather than a social science point of view).

      There are purely technical topics on the edge of software development that
      might be of interest. For example, refactoring is purely technical. You
      might look into refactoring and automate a refactoring in the IDE that you
      use at work (if not feasible in that IDE, try eclipse). Or you could look
      into perturbation testing and try to find something smallish you could
      implement for your thesis.

      Steven Gordon, PhD

      On Thu, Jan 24, 2013 at 5:16 AM, zobbl <cau.rocco@...> wrote:

      > **
      >
      >
      >
      >
      > --- In extremeprogramming@yahoogroups.com, "M. Manca" wrote:
      > >
      > > Il 24/01/2013 11:48, zobbl ha scritto:
      > > >
      > > >
      > > > Hello there,
      > > > this is my first post, so please correct me if I made any mistakes.
      > > >
      > > > I'm studying applied computer science in Germany at a so-called "Duale
      > > > Hochschule". It's a practice-oriented dual education. This means I
      > > > work about 3 months in a company (always the same) and then I study
      > > > for about 3 Months at the university - theory and practice combined.
      > > >
      > > > The next big challenge is my bachelorthesis. Some companies usually
      > > > advertise some topics they want researched, but as I'm already tied to
      > > > my company (a rather small one) and they don't have a specific topic
      > > > to research I have to found one for myself. Of course it should bring
      > > > some benefit to the company.
      > > >
      > > > The suggestion of my boss is, that I should choose a topic of my
      > > > personal interest and, if possible, it should yield some kind of
      > > > benefit to the company - any kind.
      > > > My current field of interest is around the topic of testing in
      > > > general, test-driven-development and clean-code. I know that these are
      > > > broad topics, but for the moment I can't really specify it further.
      > > >
      > > > These topics are kind of related to XP (I'm not perfectly familiar
      > > > with the practices of XP) and therefore I chose to ask you.
      > > >
      > > > So here I am, familiar with the basics of TDD, interested in Testing
      > > > in general (best practices and so on) and the beauty of clean code. As
      > > > I'm a student I don't have that much experience, so every suggestion
      > > > of topic either doesn't suit me (too big or too much unknown stuff) or
      > > > I just can't imagine what to do and how to do it.
      > > >
      > > > The only real restriction here is, that due to the size of the company
      > > > I'm rather unable to gather enough data to do some kind of "how does X
      > > > affect the team / behaviour / efficiency".
      > > >
      > > > My question in particular is: Are there any topics of TDD that are
      > > > still not researched yet or need a fresh look / a different
      > perspective?
      > > > Or are there any questions in the community I could base my thesis on?
      > > > Do you have any further ressources like other forums (already posted a
      > > > more general question to academia.stackexchange.com) or anything
      > similar?
      > > >
      > > Surely you will not the 1st to investigate TDD, I think there are a lot
      > > of thesis and study about it. You should say if you are alone or in a
      > > team and if you are investigating your or the team performance. In my
      > > opinion TDD is a best practice but I don't know if it is sufficient to
      > > do a thesis.
      >
      > Thanks for your reply.
      > At the moment I'm working on my own (getting used to TDD, gathering
      > information Testing in general). All in all I'm trying to expand my
      > knowledge in these areas. Therefore I'm going to meetings with my
      > colleagues, planning the sprint and estimating and participate in
      > code-reviews and so on.
      > This keeps me up to date with the projects in the company, I gain more and
      > more insight in my co-workers style of programming and habits.
      >
      > I'm quite sure the thesis will be a task where I work on my own most of
      > the time. And it most likely will be a more technical task than an analysis
      > of a social aspect. But the subject for the thesis is not found, yet, so
      > these are just assumptions (and some kind of preferences ;)).
      >
      > > >
      > > >
      > > > I really don't want to put the search for my thesis on you - really -
      > > > I don't, but I'm quite lost here as I can't "think out of the box" in
      > > > this case - this really bugs me.
      > > >
      > > > I appreciate _every_ kind of suggestion, idea oder tipp.
      > > >
      > > > Kind regards
      > > > ZobbL
      > > >
      > > >
      > >
      > >
      > >
      > > [Non-text portions of this message have been removed]
      > >
      >
      >
      >


      [Non-text portions of this message have been removed]
    • strazhce
      What are actual academic requirements for your bachler thesis? In my days not too long ago this could be a paper with actual practical implications and you
      Message 2 of 7 , Jan 25, 2013
      • 0 Attachment
        What are actual academic requirements for your bachler thesis? In my days not too long ago this could be a paper with actual practical implications and you didn't have to invent any science.
        If this applies to you and you may solve some practical problem.. Solving technical issues is a good advice here .
        What are the pains of your team? Or your company? E.g. do you have some legacy system? It is probably plagued with problems. Do you miss some tool?

        Oleg

        --- In extremeprogramming@yahoogroups.com, "zobbl" wrote:
        >
        > Hello there,
        > this is my first post, so please correct me if I made any mistakes.
        >
        > I'm studying applied computer science in Germany at a so-called "Duale Hochschule". It's a practice-oriented dual education. This means I work about 3 months in a company (always the same) and then I study for about 3 Months at the university - theory and practice combined.
        >
        > The next big challenge is my bachelorthesis. Some companies usually advertise some topics they want researched, but as I'm already tied to my company (a rather small one) and they don't have a specific topic to research I have to found one for myself. Of course it should bring some benefit to the company.
        >
        > The suggestion of my boss is, that I should choose a topic of my personal interest and, if possible, it should yield some kind of benefit to the company - any kind.
        > My current field of interest is around the topic of testing in general, test-driven-development and clean-code. I know that these are broad topics, but for the moment I can't really specify it further.
        >
        > These topics are kind of related to XP (I'm not perfectly familiar with the practices of XP) and therefore I chose to ask you.
        >
        > So here I am, familiar with the basics of TDD, interested in Testing in general (best practices and so on) and the beauty of clean code. As I'm a student I don't have that much experience, so every suggestion of topic either doesn't suit me (too big or too much unknown stuff) or I just can't imagine what to do and how to do it.
        >
        > The only real restriction here is, that due to the size of the company I'm rather unable to gather enough data to do some kind of "how does X affect the team / behaviour / efficiency".
        >
        > My question in particular is: Are there any topics of TDD that are still not researched yet or need a fresh look / a different perspective?
        > Or are there any questions in the community I could base my thesis on?
        > Do you have any further ressources like other forums (already posted a more general question to academia.stackexchange.com) or anything similar?
        >
        > I really don't want to put the search for my thesis on you - really - I don't, but I'm quite lost here as I can't "think out of the box" in this case - this really bugs me.
        >
        > I appreciate _every_ kind of suggestion, idea oder tipp.
        >
        > Kind regards
        > ZobbL
        >
      • zobbl
        Hi Steven, thanks for your reply. You are absolutely correct - it is a social activity and due to the size of my company the data I could retrieve would be - I
        Message 3 of 7 , Jan 28, 2013
        • 0 Attachment
          Hi Steven,

          thanks for your reply. You are absolutely correct - it is a social activity and due to the size of my company the data I could retrieve would be - I guess - to biased as you mentioned.

          And my personal preference is to create some tool oder implement something. Your suggestions already gave me some new ideas.

          Thank you very much ;) (and all the others)

          --- In extremeprogramming@yahoogroups.com, Steven Gordon wrote:
          >
          > Hi ZobbL,
          >
          > Writing as a former academician, the problem with computer scientists doing
          > research in software development processes is that software development is
          > a social phenomenon more than a technical one.
          >
          > Collecting some data is pointless if the biases in that data cannot be
          > controlled in the ways used by social science and medical research.
          > Controlling for bias is difficult and involves techniques that are not
          > taught to computer scientists, not to mention expensive and time-consuming.
          >
          > The result is that many students in your position do something that is
          > really not valid research just to satisfy your requirement. You may learn
          > something about software development if you follow this path, but what you
          > would learn about research will be false.
          >
          > My suggestion is to focus on something purely technical for your research.
          > This does not mean you should not continue to be interested in Agile, XP,
          > TDD, testing, etc., just that I strongly believe it is not feasible to do a
          > meaningful thesis on how people do things (especially from a computer
          > science point of view rather than a social science point of view).
          >
          > There are purely technical topics on the edge of software development that
          > might be of interest. For example, refactoring is purely technical. You
          > might look into refactoring and automate a refactoring in the IDE that you
          > use at work (if not feasible in that IDE, try eclipse). Or you could look
          > into perturbation testing and try to find something smallish you could
          > implement for your thesis.
          >
          > Steven Gordon, PhD
          >
          > On Thu, Jan 24, 2013 at 5:16 AM, zobbl wrote:
          >
          > > **
          > >
          > >
          > >
          > >
          > > --- In extremeprogramming@yahoogroups.com, "M. Manca" wrote:
          > > >
          > > > Il 24/01/2013 11:48, zobbl ha scritto:
          > > > >
          > > > >
          > > > > Hello there,
          > > > > this is my first post, so please correct me if I made any mistakes.
          > > > >
          > > > > I'm studying applied computer science in Germany at a so-called "Duale
          > > > > Hochschule". It's a practice-oriented dual education. This means I
          > > > > work about 3 months in a company (always the same) and then I study
          > > > > for about 3 Months at the university - theory and practice combined.
          > > > >
          > > > > The next big challenge is my bachelorthesis. Some companies usually
          > > > > advertise some topics they want researched, but as I'm already tied to
          > > > > my company (a rather small one) and they don't have a specific topic
          > > > > to research I have to found one for myself. Of course it should bring
          > > > > some benefit to the company.
          > > > >
          > > > > The suggestion of my boss is, that I should choose a topic of my
          > > > > personal interest and, if possible, it should yield some kind of
          > > > > benefit to the company - any kind.
          > > > > My current field of interest is around the topic of testing in
          > > > > general, test-driven-development and clean-code. I know that these are
          > > > > broad topics, but for the moment I can't really specify it further.
          > > > >
          > > > > These topics are kind of related to XP (I'm not perfectly familiar
          > > > > with the practices of XP) and therefore I chose to ask you.
          > > > >
          > > > > So here I am, familiar with the basics of TDD, interested in Testing
          > > > > in general (best practices and so on) and the beauty of clean code. As
          > > > > I'm a student I don't have that much experience, so every suggestion
          > > > > of topic either doesn't suit me (too big or too much unknown stuff) or
          > > > > I just can't imagine what to do and how to do it.
          > > > >
          > > > > The only real restriction here is, that due to the size of the company
          > > > > I'm rather unable to gather enough data to do some kind of "how does X
          > > > > affect the team / behaviour / efficiency".
          > > > >
          > > > > My question in particular is: Are there any topics of TDD that are
          > > > > still not researched yet or need a fresh look / a different
          > > perspective?
          > > > > Or are there any questions in the community I could base my thesis on?
          > > > > Do you have any further ressources like other forums (already posted a
          > > > > more general question to academia.stackexchange.com) or anything
          > > similar?
          > > > >
          > > > Surely you will not the 1st to investigate TDD, I think there are a lot
          > > > of thesis and study about it. You should say if you are alone or in a
          > > > team and if you are investigating your or the team performance. In my
          > > > opinion TDD is a best practice but I don't know if it is sufficient to
          > > > do a thesis.
          > >
          > > Thanks for your reply.
          > > At the moment I'm working on my own (getting used to TDD, gathering
          > > information Testing in general). All in all I'm trying to expand my
          > > knowledge in these areas. Therefore I'm going to meetings with my
          > > colleagues, planning the sprint and estimating and participate in
          > > code-reviews and so on.
          > > This keeps me up to date with the projects in the company, I gain more and
          > > more insight in my co-workers style of programming and habits.
          > >
          > > I'm quite sure the thesis will be a task where I work on my own most of
          > > the time. And it most likely will be a more technical task than an analysis
          > > of a social aspect. But the subject for the thesis is not found, yet, so
          > > these are just assumptions (and some kind of preferences ;)).
          > >
          > > > >
          > > > >
          > > > > I really don't want to put the search for my thesis on you - really -
          > > > > I don't, but I'm quite lost here as I can't "think out of the box" in
          > > > > this case - this really bugs me.
          > > > >
          > > > > I appreciate _every_ kind of suggestion, idea oder tipp.
          > > > >
          > > > > Kind regards
          > > > > ZobbL
          > > > >
          > > > >
          > > >
          > > >
          > > >
          > > > [Non-text portions of this message have been removed]
          > > >
          > >
          > >
          > >
          >
          >
          > [Non-text portions of this message have been removed]
          >
        • zobbl
          quick translation from the actual requirements: work self-dependent on a practice-related problem using practice-oriented and scientific knowledge and
          Message 4 of 7 , Jan 28, 2013
          • 0 Attachment
            quick translation from the actual requirements:
            "work self-dependent on a practice-related problem using practice-oriented and scientific knowledge and methods"
            in short: keep it useful

            Thanks for your reply - there are some things in my company I could solve (or try to sovle ;) )


            --- In extremeprogramming@yahoogroups.com, "strazhce" wrote:
            >
            > What are actual academic requirements for your bachler thesis? In my days not too long ago this could be a paper with actual practical implications and you didn't have to invent any science.
            > If this applies to you and you may solve some practical problem.. Solving technical issues is a good advice here .
            > What are the pains of your team? Or your company? E.g. do you have some legacy system? It is probably plagued with problems. Do you miss some tool?
            >
            > Oleg
            >
            > --- In extremeprogramming@yahoogroups.com, "zobbl" wrote:
            > >
            > > Hello there,
            > > this is my first post, so please correct me if I made any mistakes.
            > >
            > > I'm studying applied computer science in Germany at a so-called "Duale Hochschule". It's a practice-oriented dual education. This means I work about 3 months in a company (always the same) and then I study for about 3 Months at the university - theory and practice combined.
            > >
            > > The next big challenge is my bachelorthesis. Some companies usually advertise some topics they want researched, but as I'm already tied to my company (a rather small one) and they don't have a specific topic to research I have to found one for myself. Of course it should bring some benefit to the company.
            > >
            > > The suggestion of my boss is, that I should choose a topic of my personal interest and, if possible, it should yield some kind of benefit to the company - any kind.
            > > My current field of interest is around the topic of testing in general, test-driven-development and clean-code. I know that these are broad topics, but for the moment I can't really specify it further.
            > >
            > > These topics are kind of related to XP (I'm not perfectly familiar with the practices of XP) and therefore I chose to ask you.
            > >
            > > So here I am, familiar with the basics of TDD, interested in Testing in general (best practices and so on) and the beauty of clean code. As I'm a student I don't have that much experience, so every suggestion of topic either doesn't suit me (too big or too much unknown stuff) or I just can't imagine what to do and how to do it.
            > >
            > > The only real restriction here is, that due to the size of the company I'm rather unable to gather enough data to do some kind of "how does X affect the team / behaviour / efficiency".
            > >
            > > My question in particular is: Are there any topics of TDD that are still not researched yet or need a fresh look / a different perspective?
            > > Or are there any questions in the community I could base my thesis on?
            > > Do you have any further ressources like other forums (already posted a more general question to academia.stackexchange.com) or anything similar?
            > >
            > > I really don't want to put the search for my thesis on you - really - I don't, but I'm quite lost here as I can't "think out of the box" in this case - this really bugs me.
            > >
            > > I appreciate _every_ kind of suggestion, idea oder tipp.
            > >
            > > Kind regards
            > > ZobbL
            > >
            >
          Your message has been successfully submitted and would be delivered to recipients shortly.