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

Re: [XP] Is Aegis Agile?

Expand Messages
  • Brad Appleton
    ... I have experience with Aegis and Cook. Cook is great compared to traditional Make. But it is a new make language to learn and master. ... I haven t used
    Message 1 of 4 , Apr 30, 2003
    • 0 Attachment
      On Thu, May 01, 2003 at 03:21:56PM +1200, John Carter wrote:
      > We're setting up the build environment for a new project. I have lots of
      > experience with the CVS / gmake combo, but we're considering Aegis/Cook.

      I have experience with Aegis and Cook. Cook is great compared to traditional Make. But it is a new "make" language to learn and master.

      > Q2. Aegis seems fairly authoritarian, does it interfere with the agility?

      I haven't used it in almost a decade, but from what I remember when I did, I don't believe that it does. The only "authoritarian" thing I recall about it is that:
      * it doesn't let you "check-in" files one at a time, you have to "commit" the full set of changes (it may have evolved since then)
      * it will not allow you to commit until you pass your tests. It will insist that you define some kind of "trigger" that returns a success/failure value which presumably runs your test-suite.

      I'm not aware of anything else it "mandates" unless its been added since I last used it.

      > Q3. What of subversion? Anyone (apart from subversion itself) trusting to
      > it yet?

      A lot of folks are. I'm seeing it on more and more distributions in the past year (both Linux and otherwise). As the successor to CVS, subversion adds some things that CVS doesn't have. You may need to decide for yourself which (if any) of those things are of use to you. Check out http://subversion.tigirs.org for the detailed list. The ones that come to mind off the top of my head are:

      * supports versioning of directories. That means that if (during refactoring, or regular development) you often end up adding/removing/moving files in the directory structure, then subversion will remember which files were part of which directory at the time you tagged your code. Reproducing an earlier version makes sure you get only the files that were in that directory at that point in time (and of the course the right version of those files). If you since added more files to a directory, those newer files won't pop-up in the earlier version.

      * better/smarter merging support. There are a lot of cases where CVS doesn't accurately ascertain the origins of some changes. Sometimes it doesn't even know you've already merged a version of a file and will keep presenting you the same set of already merged changes over and over - never realizing that you already resolved that merge-conflict. Subversion is smart enough to know these things.

      * better branching support. CVS branches are kind of clumsy/heavyweight to use. SVN branches are "lightweight" (like Perforce, which one a JOLT award this year by the way) - so if you intend to make use of branching and parallel development, SVN is way easier. HOWEVER - because its model is different from CVS, it won't seem intuitive at first (unless you are used to Perforce or something similar) and will trip you up if you're not careful. I don't recall what kind of branching support Aegis had.

      * WEBDAV support

      Hope that helps a little!
      --
      Brad Appleton <brad@...> www.bradapp.net
      Software CM Patterns (www.scmpatterns.com)
      Effective Teamwork, Practical Integration
      "And miles to go before I sleep." -- Robert Frost
    • Pieter Nagel
      ... I have used Aegis for about 7 years. First off, Cook is just a build tool an not inherently more or less Agile than make/gmake etc. (though I prefer Cook
      Message 2 of 4 , May 1, 2003
      • 0 Attachment
        On Thu, May 01, 2003 at 03:21:56PM +1200, John Carter wrote:

        > We're setting up the build environment for a new project. I have lots of
        > experience with the CVS / gmake combo, but we're considering Aegis/Cook.

        I have used Aegis for about 7 years.

        First off, Cook is just a build tool an not inherently more or less
        "Agile" than make/gmake etc. (though I prefer Cook over make) Note also
        that Aegis allows you to use whichever build tool you like.

        I think Aegis is a good fit in an XP environment. It is authoritarian in
        the sense that the whole purpose of the tool is to add process on top of
        raw SCM. But these mandated processes tend to fit well with what XP itself
        advocates:

        1) Aegis requires every new/changed unit to be accompanied with
        new/changed tests for that unit before it all can be checked in. XP
        requires this too, and more: the tests should also be coded *before* the
        unit in question.

        2) Aegis requires all tests to run through before you may check in. XP
        does too.

        3) Aegis mandates and automates a seperate integration step outside of the
        developer's work environment, to ensure that it is not by accident of the
        developer's environment that the tests passed. XP does too - the
        traditional rule is a seperate integration computer.

        4) Aegis does not allow one to check partially completed work that does
        not pass the test into the codebase. Neither does XP. It does not allow
        the codebase to be used as a backup of the developer's workstation before
        he goes out to lunch. But note that XP also advocates doing work in very
        small incremental tasks, so there should never be a lot off unchecked-in
        code anyway.


        One minor niggle is when one's work consists of only refactoring. Aegis
        assumes that all work is done to introduce new functionality and should
        add tests, but refactoring per definition does not add new functionality.
        But one can switch off the requirement for new tests on a change (task),
        so this is not a big issue.

        One "authoritarian" aspect of Aegis that does not map to XP is that Aegis
        assumes a hierarchy of roles: administrators who can create new changes
        (tasks) to be done and switch on/off a tasks exemption from testing;
        developers who may merely sign up for tasks and create and modify files;
        reviewers; and integrators.

        In an XP project I would make all developers Aegis administrators,
        developers and integrators, and I would switch off the review phase (one
        can do so).

        --
        ,_
        /_) /| /
        / i e t e r / |/ a g e l
        http://www.nagel.co.za
      • Brian Hanks
        ... There s a typo in the URL. The correct URL is http://subversion.tigris.org/ Brian
        Message 3 of 4 , May 1, 2003
        • 0 Attachment
          Brad Appleton wrote:

          > > Q3. What of subversion? Anyone (apart from subversion itself) trusting to
          > > it yet?
          >
          > A lot of folks are. I'm seeing it on more and more distributions in the past year (both Linux and otherwise). As the successor to CVS, subversion adds some things that CVS doesn't have. You may need to decide for yourself which (if any) of those things are of use to you. Check out http://subversion.tigirs.org for the detailed list. The ones that come to mind off the top of my head are:

          There's a typo in the URL. The correct URL is http://subversion.tigris.org/

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