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