Announcing the KDE Quality Team Project
Quique writes "The KDE Community is pleased to announce the launch of the Quality Team Project, a community of contributors who will serve as a gateway between developers and users in the KDE Project, and as a new way for people to begin contributing. KDE is a very attractive project, offering high quality software and is freely available. There is a lot of people who feel the urge to give something back, but stop in the middle of the way, frustrated by the steep learning curve. The aim of the project is to reduce these barriers by welcoming these potential contributors, and by offering documentation, support, and even guidance if requested. The objective is to support the new contributors, (programmers, documenters, testers, artists...). Have you ever wished to help KDE in some way, but never knew how? Keep reading!"
QA? Testing? This is what open source needs!
Allow me to use Slashdot as an example. Wednesday nights = push development into production. Anyone on the slashteam want to tell me what regression testing tools and system testers they use? Sure, usually (not always) there isn't a crash-and-burn build, but occasionally there is annoyances and such that are just 'thrown into' the build that people didn't know was coming and other things.
Granted, this is Robs code, let him do what he wants with it, but with a 'QA' step it just makes for a better product.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
What was that open source code auditting thing that DARPA set up, but noone showed up to do the gruntwork?
Sounds like KDE is looking for folks to come along and do all the thankless, boring shit. Spellchecking help files, testing obscure check boxes, applying different themes. Of course, all the cool design work and programming, and artistry, etc, will be done by the core team - who will, of course, accept all the credit.
Noone wants to do the monkey work. I don't want to test constantly, read bug reports, track down insignificant bugs in code thats unused 99.9% of the time. I only do so because it's my job.
Which is a shame for open source in general, because it's that QA step, all the thankless hours of gruntwork, that make the final product what it is.
I don't need no instructions to know how to rock!!!!
I think this is exactly what open source needs. It's one thing for programmers, sysadmins and advanced users to contribute to open source projects, but there's often no easy way for the average user to help out.
With ideas like KDE Quality Team, the developers get to hear from the users and integrate features that they would like to see, as well as providing a means by which the average user can contribute. That's why Wikipedia works so well - it is possible for anybody to contribute. It's great to see the "anybody can contribute" idea extend to open source where up till now it's really only the advanced users who can contribute easily.
My operat~1 system unders~1 long filena~1 , does yours?
right you are - but should it be that way? for newbies and technophobes -packages are the way they get stuff onto their machines
For fostering a community unlike any other. www.kde-look.org has been my first stop to see modern ideas on desktop design for years now. I am not nor have I ever been a KDE fanboy (I'm a Blackbox user) but they have managed to form a remarkable bond with the graphics design community (and the graphically inclined). They should be a model for more OSS projects and this is something we should look at as a community as a whole. There is more to good software then 1's and 0's.
Quack, quack.
ESR did bring up a lot of good points. However, I doubt this team will have too much to do with that. From the article, it seems to me that it's mostly focused at lowering the entry level requirements for working on the KDE project. They are trying to get people to write documentation, etc. But that doesn't mean that they will actually focus on ensuring that it will all be as simple to use as Windows.
As an open source author and member of a quality assurance team, experience tells me that the greatest effort will go into programming. QA teams generally have enough work to do just fixing bugs, writing documentation and testing releases ("important stuff"), that not enough time is left for making the user interface uniform or even intuitive. In this case, though they are asking users for direct input on the topic. That's a good sign.
It has been my experience as well that people often confuse "testing for defects" with "quality assurance." The former is doing something to figure out if what you made (note the past tense) is ready for release. The latter is a process or set of processes that assures (or attempts to) that the output of your development cycle has quality. Testing is really only a phase of the entire quality assurance process.
The Spoon
Updated 6/28/2011
I should point out that most of those topics are rather equivalent to just one:
It's worse than that for FOSS, because the available total man-hours must be scaled by the funness of the task. Programming is more fun than debugging, which is itself more fun than reviewing requirement documents or measuring escaped defects. In paid work, testers are cheaper to hire than coders; but on a volunteer basis, testers can be harder to attract because the job is less emotionally rewarding.
But, always remember that in many Open Source efforts, the users are the testers. That's a valid viewpoint if something is free; Microsoft is excoriated when they periodically lure customers into paying to become testers, but the practice is more defensible when no money changes hands.
If you want solid, defect-finding, QA people who can improve your product, you'll be asked questions like these.
And yet, corporations that have an affirmative answer to everything you listed have still proven themselves fully capable of producing code that's absolute garbage. The public at large might not be aware of this, as the truely bad code dies before making it out the door. Someone who works in the industry will see veracity in the quote "Most software projects fail".
Additionally, the themes of Superprogrammer vs The Horde" are relevant to understanding why. Having seen a few SEI CMM 5 shops in action, it's clear that to fill the man-hours for all the redudant tasks requires hiring a grade of developer that's frankly sub-par. Programming is the one field where a true 20x productivity differential between two professionals is unremarkable. It seems that the prominent Open Source projects have gotten more attention from generous SuperProgrammers than a typical commercial developement is able to attract.
In general I'd say FOSS doesn't need any QA auditor role at all. That's for *large* corporations with huge projects and a bad tendency to push releases out to the buying public before they are ready... sort of a checks-and-balance system to mitigate management stupidity.
:-)
FOSS tend to be small groups, with small projects. And there is no insane pressure from management to let releases escape to early.
It would be nice to have some dedicated testers around to do smoke tests and general usablity tests. In general FOSS projects rely on the users to want to run the bleeding edge code and test that. But in my experience a group of good testers is the best bang for the buck beyond starting with great programmers.
To the specific points:
>What is the development process? Is it documented?
The development process is pretty typical. Check out any successful project on SourceForge. No need for QA audit role. There's no management around to muck things up, the engineers are in charge.
> What types of estimation procedures do you do?
Irrelevant. It gets done when it gets done. If you pay for the development one can do better... you can audit those circumstances, but in general, don't need QA audit role here.
> What is the SCM process? Is it documented?
CVS or subversion and bugzilla or some such is typically the tool. Much of the SCM process probably depends on the distribution that actually packages the code. Might be Debian's release process. Anyway this is pretty well defined too...
> What is the review/inspection process for all artifacts?
There are usually a few "stars" writing all the code. They can tell crap from not. And if it's crap it probably doesn't work, so no one is going to use it. So you find out one way or another. Reviews of code might help but in general it doesn't matter. If it works well, and the people maintaining it can read it, we're OK. The project will die its natural death otherwise (just like proprietary software... actually its death is usually prolonged too far...).
> Are there software requirements? Are they inspected/reviewed?
What gets implemented is what the creator needs and sounds cool or seems OK and is contributed. Unless someone is paying, in which case this might be useful. But in general, no role for QA here.
> Are there development plans/design docs? Are they inspected/reviewed?
Informal probably. Small team, might trade mockups of screens or working prototype code around. Back of the napkin kind of stuff. Probably works OK for most projects. Wouldn't fly a plane that way though
> Are there code reviews?
Hahah. And you and I both know they don't really matter anyway unless you're dealing with poor programming ability, in which case you're screwed anyway... what are you going to do, fire the volunteer programmer from his own project?
Code reviews don't find bugs. You might be able to get more conformity to the coding guidelines if any that way. But in general, many projects enforce their guidelines by having few people allowed to check in. And good programmers go with the flow as far as code formatting anyway.
> What are your defect escape rates?
Escape rates? Must be some QA auditor speak. Does that mean bugs V&V didn't find before release? Anyway, Not interesting... If the stuff doesn't work people won't use it. It will die a natural death.
> What is your plan for alpha/beta testing?
Release early, release often but maintain a good stable release if you're changing things rapidly. Don't need QA to tell us engineers how to do that.
> What is your release schedule?
Irrelevant. It's done when it's done unless someone's paying.