Hi,

Christian Lohmaier wrote:
On Fri, May 20, 2005 at 04:10:32PM +0200, Joerg Barfurth wrote:

The decision how much effort should be put into a feature can't really be separated, but that decision in turn is strongly interrelated with decisions about the feature itself and what shape it should take on a high level.


These are two things. 1) Whether the feature is considered at all and
2) How the actual design of the feature will be

I think it is absolutly necessary to involve the community in step 2),
once the decision is taken.


What I meant to say is that for higher-level design step 2) is not strictly after step 1), because you need to have an understanding about the amount of work and the technical risk to decide whether to proceed with a feature and for that you often need an initial design.

Design considerations that occur as part of the RFE work (what RFE's can or need be combined to be our new feature?) are at that level.

On 1), there's nothing the community can do, Sun pays for it so Sun
decides where to spend its ressources.

1) Is the handling in issuezilla that currently lacks significantly. Not
on the QA-part of it, but on the decision side.


What exactly is lacking there? The most important source of information about this kind of decision is the target milestone.

OTOH many detailed decisions can only be taken when there is a solution design and maybe even a prototype, which means that the decision to address the feature has been taken already (otherwise who would do the work on the design or prototype).


When a prototype or whatever information is missing the situation is the
following:

* the issue just sits there forever (like the other ones)

But it should be like this:
* people should be asked to provide the necessary information, spec,
  etc..


If the missing information really is the technical risk and the required resources and effort, then 'people' won't generally be able to provide this. Conversely features often need to be scoped to the available resources, so it is difficult to completely separate sorting through the RFEs we have on a certain area and consolidating them into one feature specification from planning/deciding where to put the resources.

OTOH I agree that there also are many cases where it would be appropriate to ask the submitter (or any other available community members) to prepare a spec for the desired feature even before a decision is taken.

The problem is not the actual programming work - this has improved much.

The problem still is
* getting decisions (no visible reactions on RFEs in issueZilla)

In many cases there simply are no decisions yet - except that the feature is not considered for the currently active release branches.

The 'comment' that shows that is, if target milestone 'OOo later' is assigned.

* listening to/getting/asking for input from the community on the
  specifications

The problem is that most of the feedback on the specs arrives once the
feature appears in the product since nobody really knows about the spec
beforehand. (This may improve once this is stated more prominently).


Yes. I really hope the announced/published spec drafts can be used more for the next release(s). Of course ultimately the i-Team has to take decisions and proceed with the work, but I'd expect them to listen to feedback.

There should be a way to influence these design bugs more easily (not by
having such a big fight like for the quickstarter entries).


Changing completed implementations of approved specs after 'feature freeze' deadlines have passed will always require some sort of a fight (i.e. very convincing arguments) - and for good reason. That in some cases even good arguments are not accepted as valid by someone else is a fact about human nature. But it should not become the rule.

Participating in this also requires a QA process that integrates the community QA and possibly a process to do early (pre-integration) feedback releases from child workspaces. Both of this isn't really there yet. This is probably something the qa project should try to set up.


The qa-Project is ready. What is needed is a process on how feedback on
the specs will be handled. (Here I come again with my review-system...)


Not sure what system you mean. Generally I'd think exchanging mail with the i-Team and/or the relevant dev@<project> list is the way to provide feedback. It then depends on the i-Team members what they do with the feedback. Systematically we can provide guidelines or recommendations for dealing with feedback but ultimately the team takes the decisions.

But if you want to influence design decisions, this will probably have to start earlier, which means were are back at the RFE and specification process.


If you mean with design "the direction the product is heading to", then
no, the community doesn't need to be involved. It is Sun's decision on
what it will implement and what things to reject (but again it should
communicate the decision).

Public discussion of the overall direction is good thing too.

If you mean with design "shaping the implementation of that paricular
feature", then yes, the community should be involved; it should have
some kind of "veto".


Yes, I meant that RFE handling (grouping, combining, aligning RFE's) and initial specification work already involves important (high-level) design decisions. Correcting things after the initial fact, especially changing the fundamental concepts, may be much harder.

Wrt. vetoing: yes, we probably need a defined process to appeal/escalate arguments to project leads, CC or ESC.

oups, I was not aware of that. We have begin to work on RFE process some time ago now and nobody told me that it was postponed after 2.0. Anyway I have postponed my participation because nothing was moving at all.

Not sure if this was a formal decision. This was just my impression, but I really have nothing to do with the RFE process myself. I noticed that progress on the RFE process was stalled

It basically never started from Sun's (decision-taking) part. That's why
the evaluation of the RFEs slowed down.


Between feature freeze for one release and the time when work on the next version seriously starts, there isn't much to decide, except whether a certain RFE is so exceptionally important that it warrants a freeze exception.

Without getting the decisions on the issues the whole process doesn't
make any sense. It is just shoveling the issues from one pile to another
(reassign from bh to requirements). The only advantage of the process is
that those issues got looked at at all, that the issues with rfe_eval_ok
have a clear description. But that's all that was achieved.


But that is great. This way, when the time comes to seriously get into the preparation for the next release, we have usable issues to base the work on. That is about all that could be done in advance.

Of course such a process will have to deal with the fact that any given RFE may not be good for all users and that anyone who implements features (e.g. Sun) will value the perceived needs of their target group higher than those of the general community (representative or not).

Again: It is not about getting "our will", getting the feature
implemented. It is about getting a response, getting a decision in a
timely fashion. (I don't consider two years as an acceptable timeframe).


Neither do I. But that really is a problem of the long release cycle, not of the RFE process. If even the start of the next release cycle is months away, then there is not much point in taking decisions for decisions' sake. They will likely be obsolete when the real work commences. Most decisions are taken in the early phases of a release cycle. I also hope we can find a way to get quicker release cycles to work - that should solve the timeframe problem.

Taking the quickstarter as example: Even after citing the specs and
explaining why the specification did interpret microsoft's guideline
wrong the "answer" was still "OOo works as designed", nobody tried to
explain why this design decision was taken. Still the spec reads
something like "in contradiction to the MS-guidelines OOo will have the
startup-entries".

Apparently the author of the spec does not feel you overturned his interpretation of the MS-guideline. Such disagreement may happen.

This is something where I feel the community is not taken seriously.

Even if the author took you seriously and considered your opinion, he may still consider his original opinion to be correct. I don't think community opinions are disregarded systematically, but it can happen with individual people or individual issues.

Another point is the saving of cursorposition (or now the lack thereof).
The spec itself lists concerns by developers - but these notes are
unanswered, the same for the issue. Only answer is "works as designed".
The cursor-positioning-thing is a spec that I consider "badly designed"

True. AFAICT this happened in a time-constrained frenzy close to feature freeze, where nobody took the time to step back and notice that the resulting, cut-down specification had this serious flaw, that it traded an existing feature for essentially no benefit.

Acknowledging this - after it was implemented - does not change anything though, if the responsible developer can't correct this shortly before release due to resource constraints or high risk. An improved specification process should reduce the risk of this happening, but I don't think it can be completely avoided.

Another issue is the new mail-merge. Not the new mail-merge itself, but
the removal of the "classic" way.


I don't know anything relevant about this issue. But probably this is another item that could have been addressed much easier before the change was implemented - if anybody would have thought of that in that phase.


And yes there are some systematic problems that either the community and Sun have to adress, this is what we are trying to do, I guess

I think the main point is that the non-Sun community and the involved Sun people need to get *together* to figure out how they can collaborate here.


Again we have to differentiate between two things:
As you said: Sun pays the developer, has customers. Sun sets its
priorities according to Sun's customers. I have no problem with that.

Avoiding mistakes while implementing new features by including the
community.

While it is desireable if the community can influence Sun's priority
(i.e. by votes or other means), this is by far not necessary. The second
part however is a pressing problem, esp. when existing Features are
affected or even dropped.


As I have said before, it is a worthwhile goal to improve this for the next version. But things happened to late for the 2.0 feature cycle.

- there is no way here for us to imply companies that want to implement a complete feature,

I'm not sure I understand this sentence. Companies (e.g. Ximian/Novell) already have implemented entire features. If you don't have such a company for your feature, you may try to get together a group of individuals that can complete the task. In any case it is best to communicate with the responsible project lead before you start to avoid duplicate or contradicting efforts and to make sure the feature will be accepted (i.e. does not contradict OOo plans or concepts).

Unfortunaltely, when the effort is not a bugfix, it is very hard to get
it accepted (included into the product). While this has somewhat
improved, this still lacks decisions. (Zoom in toolbar, word-count
macro, fixed fonts in formula-editor, etc.) All were with patches,
working solutions.

Disclaimer: I don't know the details or background of any of these issues.

Such changes need not only a patch, but a specification - or an update to the existing specification. Features and UI changes are a case where it is important to get agreement - e.g. with the responsible project lead - what to do and how to do it before you code. And they have to be provided in time. Feature and UI freeze dates are there for a reason. Sun developers have to cope with this as well. Additionally any such patches of course need to be screened for quality.

I agree that simply ignoring patches is not acceptable. OTOH I suspect that in some cases this is the result of issue handling errors. An unconfirmed defect issue not assigned to a (relevant) developer may simply go unnoticed.

- there is no way for us to give a clear representation of the needs of our users base.

Why? That would be up to you wouldn't it?

The point that is unclear is how you can feed that into OOo processes so that it will be heard (and hopefully implemented, even though you said you didn't care about that).


I like to stress that indeed it is not about manipulating Sun's
decisions, to force Sun to implement a certain feature (although this
is of course a wish) - it is about /how/ to implement the feature and
getting a response & early decisions on RFEs. This involves rejecting
RFEs (and there is a lot of things that can easily be rejected or
"delegated" to OOo-community-developers). But for this delegation to
work, we're again at the decisions problem. You cannot reject or pass
issues when you did not decide upon them...


True. But there is a certain timeslot when most of these decisions are bundled. And the perceived problem in large part stems from the long release cycle, which results in long times without such decisions.

Ciao, Joerg

--
Joerg Barfurth              Sun Microsystems - Desktop - Hamburg
>>>>>>>>>>>>>>>>>> using std::disclaimer <<<<<<<<<<<<<<<<<<<<<<<
Software Engineer                         [EMAIL PROTECTED]
OpenOffice.org Configuration          http://util.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to