Hi *, On Mon, Oct 30, 2006 at 11:17:36PM -0500, Kohei Yoshida wrote: > On 10/30/06, Nikolai Pretzell <[EMAIL PROTECTED]> wrote: > >Kohei Yoshida schrieb: > >> On 10/27/06, Nikolai Pretzell <[EMAIL PROTECTED]> wrote: > >>> Kohei Yoshida schrieb: > [...] > But I wouldn't want to try spec'ing every minute detail of a feature, > and keep it in sync with the code all the time.
Nobody requests that. And this is not reasonable either. The code doesn't matter for the spec anyway. It is the User-interaction part that really matters. > And that, to me, is > what the specification project is requiring us to do (well, probably > not "all the time", but close). Specify what the code should do, not how exactly the code does it. In the quickstarter example, I would have expected that the spec would tell that a link is created in a directory that is the equivalent of the autostart folder on windows (see freedesktop-spec). I'm not interested on how the code does that, but this tiny bit of information would already explain a lot. > There are mainly two complaints I have with the current specification > project: > > 1) It asks for way too many details, especially in the UI design > section. It's not too bad if the feature involves only one > control/widget change. But once the change involves three or more > dialogs, with each dialog having an average of 7 to 8 controls, it > starts to become a real pain in the rear, [...] I disagree. Esp. when the UI is changed significantly the UI-mockups are necessary. Both for finding flaws in the proposed design as well as for documentation. I'm sure nobody expects you to do a pixel-accurate mockup, but again the user-interaction part should be clearly visualized. Making a picture of a mockup is far easier than explaining a dialog in text only. One picture tells more than a thousand words. > 2) The target audience is not very clear. Thanks to this thread, > though, now I'm beginning to see who the specification documents are > intended for (mostly for QA, right?). QA. documentation and those who want to give feedback... And of course the developers that implement the feature (if not "retrofitted") - but again here no real code design, but from a user-interaction perspective. What does the user need to do, and what is the result when a user does this or that. And don't forget the answer to "Why should OOo behave like that in the first place?" (read: User scenarios or comparison with other apps - and read as well: depends of course of the impact of the feature) In the example of the quickstart spec: I would have expected an short description what happens when the user uses KDE, what happens when the user uses a gtk based system (xfce) but not GNOME, how the user activates the feature, how the user deactivates the feature, whether it can be enabled/disabled by an admin (if so: how) If the spec would not be retrofitted, then the detailed specification part could list implementation details/proposals, such as how the quickstart works (keeping an "invisible instance", continuously catting OOo's libraries to /dev/null or whatever). > [...] > >"Responsible" does not mean he has to do the actual work. But the > >developer is the one who after all sets a task to fixed. He cannot do > >this, if the spec is not in sync, because either the implementation is > >buggy or the spec. In the latter case the QA cannot test (it verifies > >against the spec, what else?). And a feature that cannot be verified is > >not yet done. > > I don't doubt that this is how you guys do your work, and I have > nothing against it. > And if the way the stuff gets activated (i.e. the option moves to a different tabpage or something), then I'd expect the spec to be updated accordingly. (before that move is actually performed) > But doesn't an externally contributed feature come pretty much when > it's complete (or nearly so)? If so, then a spec is written after the > fact, which means the spec can be easily retrofitted to be "in sync > with the code". Doesn't matter in this case. > In this scenario, a spec cannot be used to verify the > implementation, because the implementation is done first. Well, you can still see whether what you coded actually is what you thought it would do (i.e. what you coded is what you wrote down in the spec). It is true that you miss the "find errors in the planning phase" (but again I don't think you start coding without having planned the changed first, so no gain/no loss) > You can do > the opposite, perhaps, to verify the spec against the implementation. > I did that for my first specification (natural sort), and I'll > probably do it for my second spec (solver), too. See above. Not really a problem as long as you did not just typed ahead your code.. > So, my workflow seems different from yours, which itself may be a > problem when being involved in this project. But that's how I write > my code in my free time. Still - then you know what your code does and how it should work. So how could QA know or Documentation write their stuff without knowing what is going on and where to find the feature? > >Who actually does the change (in spec or code) is an internal problem of > >the I-team and they should come to a consensus within that team, IMO. > > Ah, I-Team. Yes, definition of I-Team really sucks. Works fine as long as no UI-Changes are involved, but if not you have to find somebody from "User Experience". And although this was raised a couple of times, no easy way was pointed out (or I just didn't get it) > By the way, I usually work on my feature alone, with > occasional patches received from the ooo-build team for build fixes > etc and with occasional consultation from the Calc team and the > ooo-build team. But, for the most part, I'm usually the only guy for > my feature. :-) So you're Project lead and developer. > And I imagine this setting is not uncommon among > community hackers who contribute codes (I may be wrong though). Yes, but still you should have a seperate QA. And you probably don't write documentation (read: onlineHelp) yourself, so you need somebody fom documentation team (if applicable). And here you got your team. Just tell QA they should drag somebody from UE into the boat... > [...] ciao Christian -- NP: Helmet - Unsung --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]