Loading ...
Sorry, an error occurred while loading the content.

XP Definition of software "Quality"

Expand Messages
  • Johnson, Bob
    XP gurus, Since XP tends to provide its own meanings for commonly ambiguous software engineering terms, I thought I d ask the XP community what the XP
    Message 1 of 11 , Nov 28, 2001
    • 0 Attachment
      XP gurus,

      Since XP tends to provide its own meanings for commonly
      ambiguous software engineering terms, I thought I'd ask the XP "community"
      what the XP definition is for Software Quality. Does software quality just
      mean "defects" or is there more to it?

      Bob Johnson


      [Non-text portions of this message have been removed]
    • jbrewer@jera.com
      ... Jerry Weinberg defines quality as value to some person . XP typically deals with two sets of people, programmers and customers, and therefore has two
      Message 2 of 11 , Nov 28, 2001
      • 0 Attachment
        --- In extremeprogramming@y..., "Johnson, Bob" <bjohnson@c...> wrote:
        > Since XP tends to provide its own meanings for commonly
        > ambiguous software engineering terms, I thought I'd ask the XP
        > "community" what the XP definition is for Software Quality.
        > Does software quality just mean "defects" or is there more to it?

        Jerry Weinberg defines quality as "value to some person". XP
        typically deals with two sets of people, programmers and customers,
        and therefore has two definitions of quality.

        "Internal quality" is the the programmer's opinion of the system's
        quality. Programmers typically value the absence of defects, and
        cleanliness of the code and design. If the code runs all the unit
        tests, and the is well-factored, the programmers would probably
        consider it to be of high quality.

        "External quality" is the customer's opinion of the system's quality.
        Customers typically value conformance to requirements, absence of
        failures, and time to market. If a system is delivered in a timely
        fashion, meets user needs, and has an acceptably low field defect
        rate, the customer will probably consider to be of high quality.

        John Brewer
        Jera Design

        Extreme Programming FAQ: http://www.jera.com/techinfo/xpfaq.html
      • John Carter
        ... Oh dear. Such questions tend produce answers at a higher baud rate than the human capacity to absorb them. Answer 1 - Read Zen and the Art of Motorcycle
        Message 3 of 11 , Nov 28, 2001
        • 0 Attachment
          On Wed, 28 Nov 2001, Johnson, Bob wrote:

          > Since XP tends to provide its own meanings for commonly
          > ambiguous software engineering terms, I thought I'd ask the XP "community"
          > what the XP definition is for Software Quality. Does software quality just
          > mean "defects" or is there more to it?

          Oh dear. Such questions tend produce answers at a higher baud rate than
          the human capacity to absorb them.

          Answer 1 - Read Zen and the Art of Motorcycle maintenance.

          Answer 2 - On the basis that "Good Design" aims to produce good quality
          software... Read the huge vast thread on "Design Questions" that went
          through this and other forums - or nag Ron Jeffries to summarise it.

          Answer 3 - Read http://www.iso.ch, nah, on the other hand don't bother...
          that stuff has nothing to do with quality, soft or otherwise.

          Answer 4 - Think of shirts and quality and compile your own list of
          answers. They will be different from mine as my shirts are different to
          yours.

          Answer 5 - Take a deep breath.... Let it out. No, not today. Ask me
          something simple like "What is God?" and I will have a go at it... (Hint -
          At some level the two questions are equivalent.)

          Answer 6 - "Number & Nature of Defects" wouldn't be high on my list of
          measures of Software quality, but high quality software would have very
          few defects.

          Answer 7 - Now what did you really want to know?


          John Carter Phone : (64)(3) 358 6639
          Tait Electronics Fax : (64)(3) 359 4632
          PO Box 1645 Christchurch Email : john.carter@...
          New Zealand

          Of course I'm in shape, round's a shape ain't it?
        • Johnson, Bob
          Whew! I didn t realize that software quality was such a religious issue! It s my own fault for trying to extrapolate my own experiences in hardware quality to
          Message 4 of 11 , Nov 28, 2001
          • 0 Attachment
            Whew! I didn't realize that software quality was such a religious issue!
            It's my own fault for trying to extrapolate my own experiences in hardware
            quality to the field of software. Sorry about that!

            Bob

            -----Original Message-----
            From: John Carter [mailto:john.carter@...]
            Sent: Wednesday, November 28, 2001 4:09 PM
            To: 'extremeprogramming@...'
            Subject: Re: [XP] XP Definition of software "Quality"

            On Wed, 28 Nov 2001, Johnson, Bob wrote:

            > Since XP tends to provide its own meanings for commonly
            > ambiguous software engineering terms, I thought I'd ask the XP "community"
            > what the XP definition is for Software Quality. Does software quality
            just
            > mean "defects" or is there more to it?

            Oh dear. Such questions tend produce answers at a higher baud rate than
            the human capacity to absorb them.

            Answer 1 - Read Zen and the Art of Motorcycle maintenance.

            Answer 2 - On the basis that "Good Design" aims to produce good quality
            software... Read the huge vast thread on "Design Questions" that went
            through this and other forums - or nag Ron Jeffries to summarise it.

            Answer 3 - Read http://www.iso.ch, nah, on the other hand don't bother...
            that stuff has nothing to do with quality, soft or otherwise.

            Answer 4 - Think of shirts and quality and compile your own list of
            answers. They will be different from mine as my shirts are different to
            yours.

            Answer 5 - Take a deep breath.... Let it out. No, not today. Ask me
            something simple like "What is God?" and I will have a go at it... (Hint -
            At some level the two questions are equivalent.)

            Answer 6 - "Number & Nature of Defects" wouldn't be high on my list of
            measures of Software quality, but high quality software would have very
            few defects.

            Answer 7 - Now what did you really want to know?


            John Carter Phone : (64)(3) 358 6639
            Tait Electronics Fax : (64)(3) 359 4632
            PO Box 1645 Christchurch Email : john.carter@...
            New Zealand

            Of course I'm in shape, round's a shape ain't it?



            To Post a message, send it to: extremeprogramming@...

            To Unsubscribe, send a blank message to:
            extremeprogramming-unsubscribe@...

            ad-free courtesy of objectmentor.com

            Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
          • John Carter
            ... If I may summarise so complex a book as Zen and the art of motorcycle maintenance in so few words... Quality _is_ the religious issue. Much of his
            Message 5 of 11 , Nov 28, 2001
            • 0 Attachment
              On Wed, 28 Nov 2001, Johnson, Bob wrote:

              > Whew! I didn't realize that software quality was such a religious issue!
              > It's my own fault for trying to extrapolate my own experiences in hardware
              > quality to the field of software. Sorry about that!

              If I may summarise so complex a book as "Zen and the art of motorcycle
              maintenance" in so few words...

              Quality _is_ the religious issue.

              Much of his examples were taken from the ultimate in hardware experiences,
              maintaining a motorcycle whilst on a trans-america trip.

              ps. The bit about using a piece of beer can as a shim to stop handle bars
              from slipping works like a charm, but then I don't drive BMW's.

              John Carter Phone : (64)(3) 358 6639
              Tait Electronics Fax : (64)(3) 359 4632
              PO Box 1645 Christchurch Email : john.carter@...
              New Zealand

              Carter's Observation - "If a bug was really hard to find, you won't
              know what to do with it when you do find it."
            • Dale Emery
              Hi John, ... We can combine Jerry s definition of quality with your definitions of external and internal quality. See below. ... Internal quality is the
              Message 6 of 11 , Nov 29, 2001
              • 0 Attachment
                Hi John,

                > Jerry Weinberg defines quality as "value to some person".

                We can combine Jerry's definition of quality with your definitions of
                external and internal quality. See below.

                > "Internal quality" is the the programmer's opinion of the system's
                > quality.

                Internal quality is the system's value to the programmer.

                > "External quality" is the customer's opinion of the system's
                > quality.

                External quality is the system's value to the customer.

                I don't like the terms "internal quality" and "external quality" for
                these, but they do seem to be part of the XP lexicon.

                Dale
              • Kari Hoijarvi
                ... Actually, I like the ISO 9167 quality attribute list. Excellent committee work. Six main categories and 20 subcategories cover pretty much everything and
                Message 7 of 11 , Dec 3, 2001
                • 0 Attachment
                  >From: John Carter [mailto:john.carter@...]
                  >Answer 3 - Read http://www.iso.ch, nah, on the other hand don't bother...
                  >that stuff has nothing to do with quality, soft or otherwise.

                  Actually, I like the ISO 9167 quality attribute list.
                  Excellent committee work.
                  Six main categories and 20 subcategories cover pretty
                  much everything and is a cold shower for those who think
                  that being bug free is all you can achieve.

                  functionality:
                  - suitability
                  - accuracy
                  - security
                  - interoperability

                  reliability:
                  - maturity
                  - fault-tolerance
                  - recoverability

                  usability:
                  - understandability
                  - learnability
                  - operability

                  efficiency:
                  - time behavior
                  - resource behavior

                  maintainability:
                  - analyzeability
                  - changeability
                  - stability
                  - testability

                  portability:
                  - adaptability
                  - installability
                  - conformance
                  - replaceability
                • Dale Emery
                  Hi Kari, ... There are also two other lists I like. First is the SEI s Quality Attributes (
                  Message 8 of 11 , Dec 3, 2001
                  • 0 Attachment
                    Hi Kari,

                    > Actually, I like the ISO 9167 quality attribute list.

                    There are also two other lists I like. First is the SEI's "Quality
                    Attributes" (
                    http://www.sei.cmu.edu/publications/documents/95.reports/95.tr.021.htm
                    l ).

                    Second Tom Gilb's book Principles of Software Engineering Management.
                    Gilb defines a number of quality attributes, and defines tests for
                    many attributes. He offers a framework for defining tests for any
                    quality attribute (scale, units, planned level, current level, best
                    level achieved elsewhere, ...).

                    Dale
                  • John Carter
                    ... I agree without reservation about the attributes they list, but the process and audit heavy monsters they create in the name of Quality inhibit rather than
                    Message 9 of 11 , Dec 3, 2001
                    • 0 Attachment
                      On Mon, 3 Dec 2001, Kari Hoijarvi wrote:

                      > >From: John Carter [mailto:john.carter@...]
                      > >Answer 3 - Read http://www.iso.ch, nah, on the other hand don't bother...
                      > >that stuff has nothing to do with quality, soft or otherwise.
                      >
                      > Actually, I like the ISO 9167 quality attribute list.
                      > Excellent committee work.

                      I agree without reservation about the attributes they list, but the
                      process and audit heavy monsters they create in the
                      name of Quality inhibit rather than create quality.

                      Quality software is created by programmer with a text editor open on the
                      program source in front of him. Any process that decreases the amount of
                      time the programmer spends in that mode must necessarily have a
                      detrimental effect. It may have other beneficial effects, but it must
                      always also have a detrimental effect.

                      Thus a dynamic balance exists, processes that hopefully will have some
                      benificient effect, but takes the programmer away from the source code
                      which _is_ the program.

                      Like any good mathematician, lets consider the limits...

                      At one end of the scale, the programmer spends no time in front of the
                      source code, nothing gets written. That is clearly wrong.

                      At the other end, the programmer spends full time coding, and never shifts
                      his eyes to process documents and meetings etc. etc.

                      Clearly this end isn't all bad, because you at least have a program coming
                      out the end of it, may be cruddy quality, but at least its a program.
                      Perhaps not with all those desirable attributes, but it is at least a
                      program.

                      So we have a judgement call. What level of ISOish ceremony do we need to
                      create Quality software?

                      Cosmically speaking it's a personal judgement call.

                      My personal judgement is that no amount of process and ceremony will
                      create Quality. At best we can choose quality programmers and make them
                      aware of the issues. If you have quality aware quality programmers, then
                      taking them away from their tasks will merely decrease the limited time
                      they have to create quality.

                      If the programmers you have do not give a shit about quality, or the
                      programmers that have no understanding of software quality, then no amount
                      of process will drum it into the code. Since the process puts nothing into
                      the code, only the coders do.

                      This is why I like XP. It decreases the ceremony, it grants programmers
                      the right to create quality code, and gives (via tests and customer
                      interactions) and short iterations suitable high feedback measures to keep
                      the programmers eyes on the quality. It also provides high interaction
                      amongst team members so that concepts of quality spread rapidly and
                      pragmatically within the group.

                      What you find is the quality programmers create what ceremony they need to
                      create quality. At that point they may find it useful to lightly peruse
                      the ISO documents for predigested ideas on ceremony.

                      > Six main categories and 20 subcategories cover pretty
                      > much everything and is a cold shower for those who think
                      > that being bug free is all you can achieve.
                      >
                      > functionality:
                      > - suitability
                      > - accuracy
                      > - security
                      > - interoperability
                      >
                      > reliability:
                      > - maturity
                      > - fault-tolerance
                      > - recoverability
                      >
                      > usability:
                      > - understandability
                      > - learnability
                      > - operability
                      >
                      > efficiency:
                      > - time behavior
                      > - resource behavior
                      >
                      > maintainability:
                      > - analyzeability
                      > - changeability
                      > - stability
                      > - testability
                      >
                      > portability:
                      > - adaptability
                      > - installability
                      > - conformance
                      > - replaceability

                      John Carter Phone : (64)(3) 358 6639
                      Tait Electronics Fax : (64)(3) 359 4632
                      PO Box 1645 Christchurch Email : john.carter@...
                      New Zealand

                      Carter's Observation - "If a bug was really hard to find, you won't
                      know what to do with it when you do find it."
                    • Phlip
                      ... Every one of these ility words is an attempt to predict the future. When we install are we bug free? When we adapt are we bug free? When we replace are
                      Message 10 of 11 , Dec 3, 2001
                      • 0 Attachment
                        > > usability:
                        > > - understandability
                        > > - learnability
                        > > - operability
                        > >
                        > > efficiency:
                        > > - time behavior
                        > > - resource behavior
                        > >
                        > > maintainability:
                        > > - analyzeability
                        > > - changeability
                        > > - stability
                        > > - testability
                        > >
                        > > portability:
                        > > - adaptability
                        > > - installability
                        > > - conformance
                        > > - replaceability

                        Every one of these "ility" words is an attempt to predict the future. When
                        we install are we bug free? When we adapt are we bug free? When we replace
                        are we bug free?

                        "The best way to predict the future is to invent it" --Alan Kay

                        --
                        Phlip phlip_cpp@...
                        http://flea.sourceforge.net
                        -- Have a :-) day --
                      • Ted Young
                        While we re at it...how does XP stack up against 24 Quality attributes (in the authors opinion), as stated in The Quality of Requirements in Extreme
                        Message 11 of 11 , Dec 3, 2001
                        • 0 Attachment
                          While we're at it...how does XP stack up against 24 Quality attributes (in
                          the authors opinion), as stated in "The Quality of Requirements in Extreme
                          Programming" (http://www.stsc.hill.af.mil/crosstalk/2001/jun/duncan.asp).
                          His conclusion:

                          "Of the 24 quality attributes of a software specification, the XP process
                          leads to higher points in nine attributes and lowers the score in two. The
                          most noteworthy gains are in ambiguity and understandability, since the
                          customer is always present to answer questions and clear up problems.
                          Furthermore, since the customer is also responsible for developing test
                          scenarios he or she will create more verifiable requirements. The discipline
                          enforced by the XP process should also carry over into other areas of
                          requirements engineering."

                          The two areas of lower scoring are "Complete" and "Not Redundant". I
                          understand his point that XP could allow "holes" in the system, but these
                          would be found fairly quickly (how easily they could be filled in is another
                          matter). I'm not sure about the "Not Redundant" aspect, though.

                          btw, the 24 Quality Attributes come from "Identifying and Measuring Quality
                          in Software Requirements Specification" by Davis, et al. in the Proceedings
                          of the First International Software Metrics Symposium, 1993.

                          ;ted


                          Kari Hoijarvi wrote on Mon, 3 Dec 2001 13:29:54:
                          >
                          > >From: John Carter [mailto:john.carter@...]
                          > >Answer 3 - Read http://www.iso.ch, nah, on the other hand don't bother...
                          > >that stuff has nothing to do with quality, soft or otherwise.
                          >
                          >Actually, I like the ISO 9167 quality attribute list.
                          >Excellent committee work.
                          >Six main categories and 20 subcategories cover pretty
                          >much everything and is a cold shower for those who think
                          >that being bug free is all you can achieve.
                          >
                          >functionality:
                          >- suitability
                          >- accuracy
                          >- security
                          >- interoperability
                          >
                          >reliability:
                          >- maturity
                          >- fault-tolerance
                          >- recoverability
                          >
                          >usability:
                          >- understandability
                          >- learnability
                          >- operability
                          >
                          >efficiency:
                          >- time behavior
                          >- resource behavior
                          >
                          >maintainability:
                          >- analyzeability
                          >- changeability
                          >- stability
                          >- testability
                          >
                          >portability:
                          >- adaptability
                          >- installability
                          >- conformance
                          >- replaceability
                          >
                          >
                          >
                          >To Post a message, send it to: extremeprogramming@...
                          >
                          >To Unsubscribe, send a blank message to:
                          >extremeprogramming-unsubscribe@...
                          >
                          >ad-free courtesy of objectmentor.com
                          >
                          >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
                          >


                          _________________________________________________________________
                          Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
                        Your message has been successfully submitted and would be delivered to recipients shortly.