Hi,

Christian Lohmaier wrote:

On Wed, Jun 01, 2005 at 04:39:34PM +0200, Joerg Barfurth wrote:

Christian Lohmaier wrote:
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.


You can ask the community to come up with an initial design..
Surely the community cannot evaluate the technical risk, but I'm sure
the community can create a design spec that is usable and comprehensive.


Agreed. And I don't think anyone would keep you from doing this. I even suppose that having an initial spec - even if it is incomplete in the technical details - would raise the chances of getting a feature considered or implemented.

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.


This kind of information is useless since almost all RFEs have the TM
"OOo later" or "---" which can be excachanged by each other without any
loss of information.


That shouldn't be the case. Before assigning any target milestone an initial round of triaging should have taken place. Thus issues that are incomprehensible, unacceptable or known to be duplicate should be closed as INVALID, WONTFIX, WORKSFORME or DUPLICATE without ever getting a target milestone.

Features/Enhancements with status New:
                "---": 1654
           "OOoLater": 1104


Between these two targets, ther is basically no difference at all.

The
same goes for "not determined". It depends on the one who reassignes the
issue on what target the issue will have.


To me target milestone "OOo later" signifies that the issue is basically accepted as "should/could be implemented", but that noone has comitted to working on it for one of the active releases.

If this does not correspond to current TM assignments, then
- Either this accumulated historic cruft or
- Our target milstone definitions are not clear enough or
- Our target milestone usage has not been communicated well enough

The use of "not determined" is certainly underspecified. I can think of at least two vastly different meanings.

The problem is:

An RFE gets filed.
-> it gets reassigned..
-> then <nothing happens for a long, long time>
-> then either
   A) somebody stubles across the issue and realizes that it has fixed in
      the meantime/does no longer appy and the closes it - or
   B) it continues lying around


Checking whether old issues still apply for the next release is another big task. And this is another reason why early decisions or evaluation often are impossible: you need to look at feature issues from the POV of the preceding release to decide whether they are worthwhile.

The only actions on RFEs are regular users adding their comments (mostly
complaints "This is so serious, how dare you to ignore this one")


The longer such comments accumulate the more time the handling will require, so as a result less issues will be dealt with.

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.


Yes! And that is exaclty the problems: No decisions.


Right. And my answer is: to get faster decisions, we need shorter release cycles.

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


I'm not sure whether I understand that one properly. Are you saying: TM
OOoLater means: not considered for active release branches"?


Sort of. Of course there are other target milestones that also imply this. To me OOo later means: From todays view it makes sense to implement this for OOo and the owner intends to do this sometime; noone has committed to implement this for a currently active release branch (atm those are OOo 1.1.x or OOo 2.0.x), but when work on the next release starts the issue will be revisited.

If there is a decision to implement is, it will be assigned an appropriate concrete target milestone. OTOH if a planned issue can't be handled after all due to time constraints or changes in planning, it will be reset to OOoLater.

Then I respond: Everything without a TM OOo 2.* is not considered.


Yes OOo 1.1.* and OOo 2.0.* are the only active release branches.

That by itself would not be a problem. The problem is that these not
considered issues reach back to the very beginnings of OOo. - That the
timeframe between reporting the issue and getting considered is huge.


The older issues get, the more sense it makes to either do or reject it. But it may well be that an issue is no developer's priority although it makes sense. Such issue may stay open very long.

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...)


http://qa.openoffice.org/servlets/ReadMsg?list=dev&msgId=1058032
http://marketing.openoffice.org/servlets/ReadMsg?list=proddev&msgNo=79


That might make sense. But apparently the proposal did not reach the right people (yet).

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.


You mentioned the problem that votes on issuezilla and of feedback by
individuals would not be representative of the user-base. A set of
"reviewers" (e.g. representatives of the native-lang-project) would
certify with their approval that the issue is important - not only for a
handful of noisy individuals, but for many,many people.

Still the ones who do the work are free to do with the feedback what they want. So we are back at the need of an appeal process to an authority that is entitled to overturn decisions by individual developers.

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


here the review system again. The initial idea was that it should
accelerate getting a decision on lousy to fix RFEs, bypassing the
product-planning phases. The reviewers should make sure that the issue
really qualifies for an accelerated decision (small impact, really lousy
to fix) - But the same system can be applied to vetoing.


For vetoing you need someone or some group that has been given the authority for such decisions. This could be ESC, CC or project lead(s). I don't think a 'veto' by a loosely defined band of reviewers would be considered authoritative by a developer.

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.


But this renders the RFE-process pretty useless.


No the triaging and cleanup process can go a long way to ensure that there is good material when the next planning session starts. So when the time comes everyone can work on the real meaty stuff instead of having to sift through the accumulated junk.

And that process - maybe combined with your review idea - could also yield the (few) issues that are so important that they should be fixed on the existing stable release.

Again, I think that a shorter release cycle is the only way to effectively address this feeling of futility.

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.


No. I disagree. Many things can simply be rejected - even without big
planning.
But almost every issue that is flagged rfe/feature is reassigned, no
matter how irrationale it is.


Apparently everyone involved is simply too busy with work on the current development version that new incoming RFEs are dealt with with minimal effort. IOW noone feels they can invest the time to make even that decision.

They will likely be obsolete when the real work commences.


Again I disagree. A decision like "Will never be part of OOo even when a
patch existed" or "Sounds interesting" should be possible at any time.


They still require a serious look at the issues.

Same for a evaluation like "Only useful to a handful of people" and
"affects almost everybody". Just pass these "only for a handful"-issue
to the community (close them with OOoPleaseHelp target)

The same.

Another decision that can be taken easily almost everytime is
"needs a complete rewrite" vs "just like fixing a typo"


This one is an engineering judgement, not something a user experience guy can necessarily judge.

This doesn't need to be 100% correct everytime since it is only a quick
evaluation of the issue, but it will help to reduce the number of
unanswered issues.

As an user, I would appreciate an answer "We won't implement it" far
more than waiting forever without knowing what the status is.


I agree. I also agree that any state/target/owner change should be accompanied by a comment that really indicates what is happening and why. But we probbaly need to get agreement and commitment on this by the people doing that work.

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.


Again I disagree. For a release cylce the decision basically is "Hmm,
what features will we pick for implementation this time" and not "What
features do we want in our product":


Yes. But the latter question needs to be reevaluated basically after each release, looking at where we have come meanwhile. I guess that is the reason why the people doing it prefer to do both parts together at the same time.

To me these are two very distinct types of decisions that are
unfortunatly taken at the same time with the current process.


Having different opinions is OK, not explaining them is not. The author
did not post his interpretation to the issue, did not try to explain why
he has a different interpretation/how he came to his interpretation.


I agree that it should be explained. In that [quickstarter] case, wasn't the interpretation of the original author cited in the original spec?

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


BTW. I can imagine that people who get swamped with loads of inappropriate "me too" and "why don't you finally solve my pet issue" issuezilla notifications can easily overlook the occasional more well-reasoned IZ comment.

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.


And I have been trying to say: It is not about the release-cycles, not
about getting the features implemented.

What I am trying to convey: most developers (including user experience people) are so busy with the current release, that new stuff gets only a quick check whether it must be considered for the current release. If the decision is 'no' (=> target milestone "OOo Later") they will not look at it again until work on the current release is finished.

I agree that it would be useful, if everyone took at least the time for an explanatory comment.

Such changes need not only a patch, but a specification - or an update to the existing specification.


Nobody asked for such actions. And these things are old but still
unresolved (except the font in math's command-window)


If an issue is from an unfamiliar community member, I generally (have to) assume that the submitter won't be able to do that themselves. Of course for patches that assumption is probably not warranted. But feature issues get sent to the requirements people who can't themselves judge the quality of a patch.

As a result it may be underestimated what the community members behind an issue could do themselves.

Maybe this could be addressed with a better process, that tells patch submitter what they should or need do to get their patches in (creating specs, assigning issues to right owners, asking the right people, ...)

But it is probably true that many of the StarOffice developers are not really prepared for accepting or even encouraging community contributions. First contributions often need a lot of hand-holding to get them into a shape that they can be accepted.

I can't really offer a quick solution to the problems. I guess it takes more learning on both sides.

Ciao, J�rg

--
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