Hi Mike,

are you on the OOoCon? If yes, we can talk about this there. If no,
you have to wait for my feedback some more days, because I am busy
these days a lot.

If somebody else want to give feedback, it's welcome!

Thorsten


Mike Hall wrote:
Thorsten,
I decided to wait until 3.0 was released and settled in before sending anything more. FWIW, here is a contribution to the issue process debate.
Mike


 OpenOffice Quality

OpenOffice seems to have proportionally more open issues than other open source projects. It sometimes feels like an exponential growth, though it probably isn't. Nevertheless, there is a sense in which the project might be described as drowning in its own issues. This note identifies some of the problems and suggests three practical ways which might improve the processes.


   Perceived problems with issue handling

   *

     The development team have a massive ongoing task to assess new
     issues and allocate them appropriately to future releases. For
     many issues, this assessment is repeated multiple times.

   *

     Issues tend to be treated individually, which makes it difficult
     to see how they relate to each other and to planned developments.
     Even when development takes place on the code in question, fixing
     related issues is often a matter of chance rather than planning,
     so even if the work to fix some existing issues happened to be a
     very minor addition to planned development work, which in some
     cases it would be, in practice the chance of taking advantage of
     this is relatively small.

   *

     Arguably, the vast majority of 'ordinary' users would prefer a
     product with fewer defects, rather than new functionality, much of
     which most of them will never use. On the other hand, developers
     naturally prefer to add functionality, because it is generally
     much more satisfying and often a whole lot easier than fixing code
     developed by others which is not adequately documented and hard to
     understand. In an open source project, developers have the final
     say, which for Open Office tends to set the balance on too much
     new functionality and too little quality improvement.

   *

     Despite Writer arguably having a technical edge over Word,
     corporate IT departments of large multi-nationals each supporting
     thousands of desktops (the majority English language, PC, MS
     Office) will not adopt OpenOffice with its current quality^1
     <#sdfootnote1sym>. To become the package of choice in this
     influential area, the number of bugs, particularly P2 bugs, would
     have to be drastically reduced. The current issue handling process
     is unlikely to deliver this even in the very long term.

   *

     In order to assess reported or discovered defects, qa team members
     generally gain a good understanding of an issue. For P1 and some
     P2 issues, ie for those issues which have to be fixed in the next
     couple of releases, the subsequent processes generally work well.
     For the rest, qa expertise gained during investigation is at best
     only indirectly used to set implementation target and it is
     something of a lottery which of some P2 and virtually all P3/P4/P5
     issues are fixed and which are not.


   /Summary of suggestions/

   *

     *Emulating the Stopper meta-issue process* -- a way of formally
     handling defects related to development work

   *

     *The Magic Sorting Hat* -- a proposal for an adjustment in initial
     target setting to more closely reflect community needs

   *

     *Priority 2 Defects* -- a more concentrated effort on serious
     defects with the objective of a major reduction in numbers at (eg)
     each dot2 release


   Emulating the Stopper meta-issue process

The design process for development work allows any interested person to contribute. However, these discussions typically do not focus on identified defects in the same code areas.

One process that works exceptionally well is the stopper meta-issue, used to manage the release of each OpenOffice version. Similar meta-issues could bring together both new work and related defects in a particular area. It would be open to anyone to suggest what defects to include and up to the developer to decide which defects could sensibly be accepted and resolved. The advantage to the developer is that a study of related defects would generally inform and enhance the design. The advantage for the community is that quality would improve as more defects were resolved. An advantage for both parties would be the facilitation of a debate on the proper balance between fixing specific defects and developing new functionality.


   The Magic Sorting Hat

It would be good to have a magic way to allocate every issue to the right target, OOo later for Slytherin defects and the next release for Griffindor. In the absence of that, we must depend on mere Muggles.^2 <#sdfootnote2sym> But at least we might endeavour to minimise effort and maximise the application of available expertise. To do so, we could take a different perspective on what the target on an issue means. When a developer sets a target of one of the next couple of releases, the target implies allocation of resources and at least the intention to meet the target. In practice though, these issues are often reallocated. Sometimes this reallocation can be extensive, for example the large number reallocated from 3.0 to 3.1 and looking at the long list for 3.1, another significant reallocation would not be a surprise. Thus, a target is a target and not a commitment, even when set by a developer and the sky doesn't fall in when a target is changed.

Now, let us suppose there was a perfect way of allocating newly verified defects to the 'correct' release, taking into account available resources, the needs of the community and a proper balance between developing functionality and correcting defects. When the development team began to plan a release, they would find the allocation already done. An advantage? I think so.

We do not of course have such a way, but we do have a resource which could do something that would come closer than at present.

When an issue is being verified, the qa person may spend a considerable time researching it, often up to several hours. At least, that is what happens to me. Inevitably, a certain 'feel' develops about how important the issue is and how difficult it might be to fix. This is a depth of understanding arguably beyond what is likely in a quick trawl through issues to make allocations. At present this understanding is arguably not put to best use. The contention is that to invite the qa team to make an initial allocation is very likely to be a better use of resources, more accurate (ie reflecting real user need) and the nearest we will ever have to a Magic Sorting Hat.

The advantage for the development team is that there would no longer be a need to trawl through the untargetted issues to find the important ones, but with no reduction in control, since issues with targets that cannot be met can have their targets changed. The advantages for the community is that defects would no longer be in a limbo with no apparent response to the raising of the issue and that there would be a better mechanism for highlighting the more important. A target of OOO later is better than no target at all. The advantage for the qa team is that they would feel that their expertise was being better used.

This process would avoid the double initial assessment of many issues and to the extent that the qa assessments were accurate, would materially help developers.

Guidelines would be needed for the qa team when setting targets, perhaps most important that the process would be only for setting an initial target and never for changing a target already set.


   Priority 2 Defects

By definition, P2 defects are serious, but in practice whether or not a P2 defect is fixed depends on its target rather than its priority. In particular, P2 defects with target OOO later seems a questionable combination. Overall OpenOffice quality could be significantly improved by fixing a majority of P2 defects before moving on to the next major release.

I would like to canvas support for regular efforts to reduce the number of outstanding P2 defects during the cycle of each major release, for example it might be worthwhile targeting as many as possible of the P2 defects to say the dot2 stage (3.2, 4.2...) with the objective of eliminating a large majority of P2 defects by, say, the 4.2 release.

You have only to look at the statistics to conclude that something isn't working as well as it might.


 P2 defect list

P2 Defects: New, Started or Reopened as at 14 October 2008

Target

Defects

blank/not determined

65

OOO later

56

3.x

109

3.2

3

3.1

63

3.0.1

21

2.4.2

1

DevTools

9

There were also 75 Unconfirmed P2 defects with a blank target.


   Implementation

Generally there are reactions against procedural change, especially when responsibilities shift. It is also by non means certain that a new procedure will have the impact predicted or that it will not introduce unexpected and unwelcome side effects. On the other hand the current procedure is arguably not fully fit for purpose. One option might be to experiment with the changes proposed, for example a limited number of nominated qa team members might operate the 'magic sorting hat' for a period, after which the impact could be assessed and a decision made whether to continue or readjust.


1 <#sdfootnote1anc>This is a considered professional judgement based on 27 years work in one of those departments.

2 <#sdfootnote2anc>With apologies to JK Rowling


Mike Hall wrote:

Thorsten,

Thanks. I understand all of that, but nevertheless it's arguable that the process does not work as well as it could.

I accept your challenge "If you have a proposal..." I have a glimmer of an idea and some (actually quite a lot) of relevant experience. Give me a couple of weeks while we are away to mull it over and write something sensible down.

Mike



Thorsten Ziehm wrote:
Hi Mike,

[...]

Currently there isn't a better process or any other solution, I know. If
you have a proposal how to handle it better with the existing resources
write it down and propose it here. But I do not see any chance to set
Sun QA engineers as default as in the past. If they work on all incoming
issues in time, they will not have the time to work on new incoming
features/bug fixes etc. So the help from community is need to work on
one of the topics regularly.

[...]



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

Reply via email to