Hi Thorsten, On Tuesday, 2006-10-31 12:06:28 +0100, Thorsten Behrens wrote:
> But the difference is that there's no request from high-above to > implement a certain feature, and no dedicated time in user experience > to roll out a detailed UI spec beforehand. Specs aren't only about UI, they're also about behavior of a feature. Behavior of a feature, if not obvious, is something that must be agreed upon. We do have examples of started development, patches were sent in, but there wasn't even an agreement on how the feature should really work, discussion in the issue continues, more patches attached, but still no agreement. At the end this leads to nowhere because you won't get someone from UserEx to even read the issue anymore, because the 42 comments to the issue are not digestible for anyone not involved from the beginning. One more +1 for a wiki for specification. > People just start coding. So the example of car production might suit > the way Sun-internal features are developed, Nah, comparing software development with car manufacturing always has a bit ... well ... some taste of helplessness.. > but it doesn't fit the > community. Community specs are nearly always after-the-fact > documentation of the implemented feature, thus, the argument that > specs save rework costs just doesn't apply here (simply - because all > the work has been done already, when the spec is written). > > I don't question the need for _some_ documentation - QA and especially > help authors need a way to test and describe the things that newly > enter the product. But I do question the very strict requirements the > spec process puts on community contributions, and I second Michael's > statement that most of those requirements (in their current > installment of the spec process) don't add much value to the > production line (mind that - I'm talking about community contributions > here). While I completely agree on the entire paragraph above, > In the end, specs serve multiple purposes Sun-internally: > > - have a feature well thought-out beforehand > - have UI specified by experts (user experience) > - have strings reviewed by experts > - have feature documentation for QA > - have feature documentation for help authors > - ...etc. I've probably forgot a few more items. > > The first three items should not be required for non-Sun > contributions, because they just don't affect us I don't agree on this statement. It affects us, and with "us" I'm referring the entire OOo project, not only Sun. We don't need the "Big Design Up Front" (BDUF) picture, especially not in its waterfall model sense, but maybe "Enough Design Up Front" (EDUF), as was also noted by some Agile/XP enthusiasts [1][2][3] when Joel (on Software) came up with his "love BDUF" [4]. We do need _some_ picture of a feature. A picture we may as well add to, correct, recolour, overpaint, or even tear apart after some cycles of evolution. So I'd like to replace your point you say we don't need to > - have a feature well thought-out beforehand with - have a feature _enough_ thought-out beforehand Again, a wiki may be a perfect place for this. On to the next: > - have UI specified by experts (user experience) This affects us. UI has to be consistent, functional, and should guide users like most users expect. This is what UserEx should have an eye on. Much of software evaluation (in organizations, governments, companies, by journalists, ...) happens on the UI level. If that has quirks it will give us OOo bad reputation. I don't say we need UserEx for each and every single check box, but sometimes we may even need them to say ok to where the checkbox is placed. > - have strings reviewed by experts Yes and no. It is vital for a good UI to name identical things identical, and different things different throughout the entire product. You need at least to check with a glossary now and then, or sometimes need a hint to phrase something different. UserEx can provide those hints. However, far more important than a string review, IMHO, would be to drop German as a developer provided second source localization. Let's get rid of that. There's no sense in it other than most Hamburg engineers being native German speakers. Two major drawbacks with the German source localization are: 1. non-Hamburg contributors most certainly can't provide it. 2. If they can manage somehow, it doesn't necessarily mean it's a good localization, bable fish and the like.. - This localization will stick until issues are submitted. AFAIK there is no following localization process. > - if a CWS needs > rework because of them, it's the burden of the community dev. But they > should be free to choose their way, and not be pressed into a mold, > that has been designed for a Sun-employed OOo developer. Seconded, but "if a CWS needs rework because of them" effectively means the spec/UI/string things may be done any time, maybe even after the CWS was set ready-for-QA the first time, and somehow it's up to the community developer working on a CWS whether she likes to rework everything because UE/QA wasn't satisfied with. A bit dissatisfactory for the developer.. why not involve UE/QA earlier? Anyway, all this, work done in a CWS by a community developer, leaves out the frequent situation where a patch arrives for some feature or enhancement attached to an issue and eagerly awaits to get applied, which for smaller enhancements most times happens in a CWS a Sun developer has open anyway, and only for larger features a CWS on its own is created. Whose burden is it then to provide necessary spec and involve UE/QA/DOC? > And we've some (minimal) > documentation requirements, to enable other people to do their > work. But the specifics, or even the outer form, of those > documentation, should IMO not be specified (no pun intended ;-)) in > minute detail - if QA or help authors miss something, they can simply > ask, can't they? I mean, that's what currently happens all the time, > even with the spec process in place. Btw, if this model ought to work, module helpcontent2 has to be added to a CWS, as you never know when a CWS will be ready and to which release it will be integrated. The same may be true for QA automation tools of module qadevOOo. > > Now I am at a company and learned, that re-work costs are really costs > > money and is very annoying for the users. Therefore I am now a fan of > > the processes which are taught at study. > > > Absolutely correct. And I'd recommend every community developer > starting to implement a major feature to spend some time on planning & > discussion, even doing UI mock-ups. But we shouldn't _force_ them to > do that, and we shouldn't use that as an all-or-nothing argument for > the spec process. We should request what we really need > (documentation), and leave all the rest unspecified. ;-) Ok, but let's clearly state then that a CWS may sit there and wait for ages if the necessary docs aren't provided. And had to be resynced and rebuilt if more then xx milestones old before QA would even take a look at it. Btw I think a template does ease things a lot, be it as a document or a wiki template, because it guides the spec author and she doesn't have to pull some prosa out of her head. I think much of the hurdle are communication (habit) problems instead of a specification (template) problem. If we agree that we need some spec/doc and need to collaborate, then it doesn't matter if one or the other part doesn't answer in a timely manner in the issue, in the spec, or in the wiki. Eike [1] http://blogs.codehaus.org/people/tirsen/archives/001159_joel_is_misunderstanding_xp_and_bduf.html [2] http://haacked.com/archive/2005/08/18/9536.aspx [3] http://www.google.com/search?q=Joel+%22Big+Design+Up+Front%22 [4] http://www.joelonsoftware.com/articles/AardvarkSpec.html -- OOo/SO Calc core developer. Number formatter stricken i18n transpositionizer. OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS Please don't send personal mail to this [EMAIL PROTECTED] account, which I use for mailing lists only and don't read from outside Sun. Thanks. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]