Check here:
http://www.joelonsoftware.com/articles/fog0000000043.html
For the "Joel Test" which is a modified version of the McConnell test
which Joel Spolsky placed on his site. Here is a round-up of how we
measure and what items are appropriate:
1. Do you use source control?
Yes. CVS. Which is not a spectacularily great source control system, but
even Joel says it is "fine" in comparison to commercial ones. Still,
moving everything to a Subversion repository is something I'd really like
to do. And SVN is really great.
2. Can you make a build in one step?
Yes. A CVS checkout and then ./prepare_package --rpm. I could write a
scriptlet to do that.
3. Do you make daily builds?
Sort of. Whenever I reach a new milestone, I prepare an RPM and install it
and use it (I'm always on the bleeding edge).
4. Do you have a bug database?
The TODO list serves as an ad-hoc bug system which satisfies the needs of
this 1 core-developer n*10K lines project.
5. Do you fix bugs before writing new code?
Always. I always bring the development version into a state where it is
fully working.
6. Do you have an up-to-date schedule?
Not very relevant to a voluntary project which is already very mature. I
can do things at my own time and my own pace.
7. Do you have a spec?
We have the USAGE file, which might be considered a SPEC, and the
fcs_user.h header. A functional SPEC? Will the architecture document do?
8. Do programmers have quiet working conditions?
I have such conditions at home and in the Technion.
9. Do you use the best tools money can buy?
Hmmm. I cannot afford to pay anything to finance FCS which does not give
positive income. I believe my system is pretty suitable for coding,
testing and debugging an ANSI C library and a set of command line tools. I
have the best tools, but I don't need to pay for them. ;-) Long live the
free software revolution.
10. Do you have testers?
I am a tester. I don't know how many people out there try the development
versions. I've seen some bug reports from other people. Let's say that
part of the community at large are our testers.
11. Do new candidates write code during their interview?
I obviously don't try to hire new programmers in the team, since I cannot
afford to pay for them. Those who wish to contribute to the project in
some way, can contribute by feedback, ideas or code. Since this is an
open-source, Bazaar style project I'm not sure how this question falls
into here.
12. Do you do hallway usability testing?
I'm not sure how much this is appropriate for a command line program which
has a lot of switches, and requires a bit of a reading to understand how
to operate. And new features will require a higher level of understanding
what's going on.
I could say, try to play PySol and if you're get stuck type
"make_pysol_freecell_board.py [board number] | fc-solve" and try to see if
it helps you.
Never tried it - maybe I should. In any case, Joel specifically refers to
GUI programs.
Regards,
Shlomi Fish
----------------------------------------------------------------------
Shlomi Fish shlomif_at_vipe.technion.ac.il
Home Page:
http://t2.technion.ac.il/~shlomif/
He who re-invents the wheel, understands much better how a wheel works.
Received on Wed Nov 27 2002 - 20:33:36 IST