1. Would you like to get your project mentioned in the talk? (Otherwise
   I won’t mention the project, just the results)

MirBSD: yes
FreeWRT: yes
Debian: yes
FusionForge: yes

2. How many project members also work in software development in their
   “regular” job? (The regular job may as well be to work on the
   project)

MirBSD: 25%
FreeWRT: don’t know (less than half)
Debian: don’t know (more than half?)
FusionForge: about half

3. Is your project based in a company?

MirBSD: no
FreeWRT: yes, two
Debian: no
FusionForge: yes, several

4. Do you use agile project management processes like Scrum, eXtreme
   Programming, lean development or similar?

MirBSD: no
FreeWRT: no
Debian: no
FusionForge: no

5. Are you using timeboxed releases? (Releases every x months for
   example like Gnome or Ubuntu)

MirBSD: no
FreeWRT: no
Debian: no
FusionForge: no

6. Are you doing retrospectives after a release or at all in your
   project?

MirBSD: not much
FreeWRT: no
Debian: dunno (not me) but probably
FusionForge: yes

7. Are you using a version control system? (CVS,SVN,GIT,…) Which one?
   Are you using branches etc. or only one line for development?

MirBSD: yes, CVS. We develop in MAIN and branch off when a version
        is formally released, for future bugfixes (minor releases)
FreeWRT: yes, Suckwürstchen. We develop both in trunk and in the
        1.0-stable branch actively.
Debian: there's no single or central VCS, nor is everything stored
        in a VCS, as this depends on the packager, so no
FusionForge: development is decentralised using Bazaar, but the
        “official” source code is kept in svn by means of being
        pushed there by bzr automatically

9. Are you writing unit tests for your code? (junit, phpunit,…) Are you
   doing automated UI-tests? (With for example Selenium)

MirBSD: few tests, no idea if they’re unit or not
FreeWRT: no
Debian: not in the area I am in
FusionForge: yes and yes

10. Are you doing peer reviews of new code? If this is the case, are
    you doing it only for new developers or for “old devs” too?

MirBSD: yes but mostly on a trust basis (diff itself is not mailed
        around, no need for pre-commit approval), for all developers
FreeWRT: yes but mostly on a semitrust basis (diff is mailed around
        on the commits list and reviews are sent as replies if needed),
        for all developers
Debian: depends on the package, usually not
FusionForge: yes, exactly like FreeWRT

11. If you are writing unit tests, do you also do continous integration
    on a daily or per checkin basis?

MirBSD: no
FreeWRT: no
Debian: no
FusionForge: yes, per revision

12. Are you doing early releases or fast iterations to get your code as
    soon as possible to your users or do you have rather long release
    cycles?

*: no, long release cycles are preferable

13. Is there collective code ownership or do you have code that only
    one or a few people are “allowed” to touch? How many people are
    able to make changes everywhere? (how good is codebase known to the
    team)

MirBSD: the ownership of most of the code lies with the project lead;
        there is a “core team” which may touch everywhere (but rarely
        does for areas that are unofficially owned by specified deve-
        lopers); others not on the core team may not
FreeWRT: the ownership of the code lies with the project; some areas
        of the code have weak ownership, in general everyone may touch
        everything where he doesn’t fear to break things
Debian: every package has strong ownership (developer or team mainte-
        nance) which may only be broken by so-called NMUs in dire cir-
        cumstances, such as release-critical bugs
FusionForge: there's no clear governance model or ownership yet; the
        code is usually free for all to toiuch in trunk and only care-
        fully in branches but developers are trusted

14. Are you using a bug-/tasktracker to handle user requests like bug
    reports or feature requests? Which one?

MirBSD: none in the classical sense (only IRC (preferred) and mailing
        lists), although I got an offer to use Launchpad for that today
FreeWRT: yes, Trac unfortunately
Debian: yes, it’s called “Debian BTS” and home-grown but very well
        integrated, feature- and powerful
FusionForge: primarily IRC and mailing lists, but there’s also the
        forge’s own bugtracker and Tasks which are a bit used

15. How are you planning your releases? Do they just “materialize” or
    do you use user stories or similar techniques to plan your
    iterations/releases?

MirBSD: releases are done after a stabilisation phase, when the core
        team feels the code base is ripe enough; this process is
        initiated when there are no upcoming large changes, we feel
        the code is up to it mostly already, up to date enough, and
        we have time to prepare for one (lengthy process)
FreeWRT: there are no releases at the moment, due to an interrupted
        project which was apparently too large for the developers to
        finish plus the loss of the project lead
Debian: similar to MirBSD, there’s a long stabilisation phase, which
        however occurs every approx. 22 months, followed by about a
        year of freeze with much QA, translations, etc.
FusionForge: releases are done after a testing phase following when
        the developers feel larger changes have been done and settled
        down (not early/often but definitively frequent) and ready
        “when they’re ready, sooner if you help”

14. How are you documenting your project? (Inline documentation like
    Javadoc, Wiki, Tasktracker like Bugzilla/Jira,…)

MirBSD: mostly manpages, a website and a number of data-driven entry
        collections that can be read on the site and as RSS (mostly
        comparable to a newsblog and a developer blog, but not quite)
        plus the obvious (free-format) comments in the source code
FreeWRT: inline comments (free-format) and a wiki-like website via
        Trac, plus two(!) different blogs
Debian: large-scale translated website (wiki too, but does not serve
        as primary documentation)
FusionForge: some inline (Javadoc) but few; some inline free-format
        comments; beginnings of a docbook manual; online help

15. Do you have regular team meetings like “daily standup” meetings
    (which are of course difficult in distributed teams)? Maybe
    scheduled IRC meetings or constant communication via
    chat,IM,Skype,…?

MirBSD: no but the developers are strongly encouraged to idle in IRC
FreeWRT: no but IRC is recommended
Debian: no
FusionForge: yes, weekly IRC meetings at a fixed time

16. Are there chances for face to face communication in the project for
    example via team meetings in real life?

*: developers usually attend conferences like FOSDEM, FrOSCon, LSM/RMLL,
        Linuxtage where real-life meetings happen; they often schedule
        devrooms (Debian, FusionForge) with a vague agenda

17. Are there developers who are co-located (or at least live close to
    another, so they can meet if necessary)

MirBSD: no
FreeWRT: yes, somewhat (few)
Debian: some but they’re spread all over the world
FusionForge: some (the “French cabal”)

18. Are you using pair programming via internet or co-location?

*: no

19. Are there any other things you’d like to mention in context of
    agile development and your project?

*: no
_______________________________________________
freewrt-developers mailing list
[email protected]
https://www.freewrt.org/lists/listinfo/freewrt-developers

Reply via email to