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

RE: [XP] cmm and agile?

Expand Messages
  • Robert C. Martin
    ... On a life critical project I d * shorten the cycles to a week -- possibly less. (I note that the Mercury Capsule software was written in cycles of one
    Message 1 of 21 , Apr 1, 2004
    • 0 Attachment
      >
      > UB, et al: would you do more stuff on such a project? And if so ... what?

      On a life critical project I'd

      * shorten the cycles to a week -- possibly less. (I note that the Mercury
      Capsule software was written in cycles of one half day IIRC) I wouldn't want
      the process or the code to go open-loop for very long because the most
      damage is done when feedback is at it's lowest.

      * I'd be an absolute tyrant about unit testing and acceptance testing.
      Unit tests and acceptance tests would be written first; and no production
      code would be written unless it was to make a failing unit test pass in
      pursuit of making a failing acceptance test pass.

      * I'd be very strict about pairing. It's harder for two people to break
      the rules than it is for one.

      * I'd use a code coverage tool (like clover) and insert it into the build
      process. High test coverage would become a criterion of a successful build.
      (I don't know what numbers I'd use at this point but since life is at stake
      they'd be very stringent. On the order of 99% statement and branch coverage
      most likely.)

      * I'd use a dependency tracking tool (like Jdepend) and insert it into the
      build process. Appropriate package dependencies would become a criterion of
      a successful build. Package dependencies would not be added without
      consensus of the team.

      * I'd run the build process every time a module was checked in. I'd raise
      holy hell each time the build failed. A build fails if any checked in unit
      test fails, or any previously passing acceptance test fails, or the test
      coverage criterion fails, or the dependency tracking fails.

      * I'd use the dependency tracking tools, and complexity measurement tools,
      and most importantly the advice of the team to identify "modules in
      trouble". We'd target these modules for special cleanup efforts.

      * I'd set up a comprehensive system test plan that included manual test
      scripts, random usage tests, etc. I'd regularly look over those manual
      scripts to find thins that I could automate. In this case I would not
      remove them from the manual test, I'd just add them to the automatic suite.
      Since lives are at stake, we need human verification not just computer
      verification. On the other hand, I want those human verifiers to find no
      problems at all. (Unless I seed a problem to check their efficacy.)

      * I would document and archive the result of each build, each manual test,
      each iteration plan, each standup meeting, etc. I'd leave an audit trail
      that would keep the lawyers happy, and that would allow the customers who
      are putting their lives in my hands to content themselves that everything
      that should and can be done has been done.

      This is a short list. There's certainly be more. But I think everyone
      get's the idea.

      I could make the list even shorter simply by saying: "I'd turn all the
      damned knobs up to 12."

      -----
      Robert C. Martin (Uncle Bob)
      Object Mentor Inc.
      unclebob@...
      800-338-6716
    • Jeff Grigg
      ... ...like maybe automated defect seeding, to test the tests: http://jester.sourceforge.net/
      Message 2 of 21 , Apr 1, 2004
      • 0 Attachment
        --- "Robert C. Martin" <UncleBob@o...> wrote:
        > [...] On the other hand, I want those human verifiers
        > to find no problems at all. (Unless I seed a problem
        > to check their efficacy.)
        > [...]
        > This is a short list. There's certainly be more. But
        > I think everyone get's the idea.

        ...like maybe automated defect seeding, to test the tests:

        http://jester.sourceforge.net/
      • Alleman, Glen B.
        Robert, XP is certainty low ceremony when compared to high ceremony CMMI processes. The formality of XP is a value judgment though. Compared to our projects
        Message 3 of 21 , Apr 1, 2004
        • 0 Attachment
          Robert,

          XP is certainty low ceremony when compared to high ceremony CMMI
          processes. The formality of XP is a value judgment though. Compared to
          our projects that use CMMI assessed process the formality of XP is very
          low. A 64 page configuration management guide with check list as the
          working document for the Change Control Board weekly meeting would not
          likely be found on an XP project.

          In the high ceremony, high formality projects we work on, the format and
          media for the design is not defined by the team it is defined by the
          procurement regulations as a CDRL to the customer and their auditors.

          I've come to understand (and use) the fundamental differences between XP
          and not-XP is that the agile processes used on the project originate
          within the project. On not-agile projects the processes originate
          external to the project, either through contractual, regulatory, or
          policy means.

          An important Jack Welch quote that hangs in our common area is...

          "Bureaucracy protects the organization from the incompetent."

          Glen B. Alleman


          -----Original Message-----
          From: Robert C. Martin
          Subject: RE: [XP] cmm and agile?

          > I like Cockburn's two dimensional evaluation that he talks about for
          > Crystal - more people on the team and/or more damage from failure,
          > the more formal you need to be. I would either substitute or add
          > the distance between team members and between the team and customer
          > as another dimension. It fits my situation well.
          >

          There is an implicit assumption lurking in this paragraph that XP is not
          formal. Indeed, I've heard this argument made many different times by
          many
          different people. They say that XP is informal; or XP is low ceremony.

          I think they are wrong. I think XP is very formal and is high ceremony.
          It
          is formal in that all the essential documents produced by XP are
          executable.
          Requirements are documented as executable acceptance tests. Designs are
          documented as executable unit tests. It is high ceremony because there
          are
          certain things that must be done as a team every day, every week, and
          every
          month. XP does not mean ad-hoc.

          The that is as stake (the more damage from risk) the more you need to
          write
          your unit tests first, write your acceptance tests first, and work in
          very
          short cycles with lots of stakeholder feedback. The more people you
          have on
          the team, the more you need communication, tests, short cycles, and lots
          of
          feedback.
        • Robert C. Martin
          ... Robert C. Martin (Uncle Bob) Object Mentor Inc. unclebob@objectmentor.com 800-338-6716 ... That may be true. Would you expect to find executable
          Message 4 of 21 , Apr 1, 2004
          • 0 Attachment
            -----
            Robert C. Martin (Uncle Bob)
            Object Mentor Inc.
            unclebob@...
            800-338-6716


            > -----Original Message-----
            > From: Alleman, Glen B. [mailto:glen.alleman@...]
            > Sent: Thursday, April 01, 2004 3:18 PM
            > To: extremeprogramming@yahoogroups.com
            > Subject: RE: [XP] cmm and agile?
            >
            >
            > Robert,
            >
            > XP is certainty low ceremony when compared to high ceremony CMMI
            > processes. The formality of XP is a value judgment though. Compared to
            > our projects that use CMMI assessed process the formality of XP is very
            > low. A 64 page configuration management guide with check list as the
            > working document for the Change Control Board weekly meeting would not
            > likely be found on an XP project.

            That may be true. Would you expect to find executable requirements
            documents in a CMMI project? It seems to me that both are formal, just
            about different things.
            >
            > An important Jack Welch quote that hangs in our common area is...
            >
            > "Bureaucracy protects the organization from the incompetent."

            There is a corollary to this quote:

            "Incompetence subjects the organization to bureaucracy."

            -----
            Robert C. Martin (Uncle Bob)
            Object Mentor Inc.
            unclebob@...
            800-338-6716
          • Tony Nassar
            ... Is Welch for or against? How could an employee take this other than as, We are justified in imposing layers of bureaucracy on you because we have to
            Message 5 of 21 , Apr 1, 2004
            • 0 Attachment
              > An important Jack Welch quote that hangs in our common area is...
              >
              > "Bureaucracy protects the organization from the incompetent."

              Is Welch for or against? How could an employee take this other than as, "We are justified in imposing layers of bureaucracy on you because we have to protect the company against your incompetence." Maybe I'm accentuating the negative, but if this is supposed to be a motivational slogan, why is it set against a presumption of incompetence?


              [Non-text portions of this message have been removed]
            • WILLIAMS Dominic
              ... Bureaucracy protects the incomptetent from the organization. Dominic Williams http://www.dominicwilliams.net
              Message 6 of 21 , Apr 1, 2004
              • 0 Attachment
                > An important Jack Welch quote that hangs in our common area is...
                >
                > "Bureaucracy protects the organization from the incompetent."

                Bureaucracy protects the incomptetent from the organization.

                Dominic Williams
                http://www.dominicwilliams.net

                ----
              • Jeff Grigg
                ... Bureaucracy protects the incompetent from the consequences of their own actions. And this is not a good thing. -- JeffGrigg
                Message 7 of 21 , Apr 2, 2004
                • 0 Attachment
                  >> "Bureaucracy protects the organization from the incompetent."
                  >> -- Jack Welch

                  > "Bureaucracy protects the incompetent from the organization."
                  > -- Dominic Williams

                  "Bureaucracy protects the incompetent from the consequences
                  of their own actions.
                  "And this is not a good thing."
                  -- JeffGrigg
                • Alleman, Glen B.
                  Robert, ... very ... That may be true. Would you expect to find executable requirements documents in a CMMI project? It seems to me that both are formal,
                  Message 8 of 21 , Apr 2, 2004
                  • 0 Attachment
                    Robert,

                    > -----Original Message-----
                    > From: Alleman, Glen B. [mailto:glen.alleman@...]
                    > Subject: RE: [XP] cmm and agile?
                    > Robert,
                    >
                    > XP is certainty low ceremony when compared to high ceremony CMMI
                    > processes. The formality of XP is a value judgment though. Compared to
                    > our projects that use CMMI assessed process the formality of XP is
                    very
                    > low. A 64 page configuration management guide with check list as the
                    > working document for the Change Control Board weekly meeting would not
                    > likely be found on an XP project.

                    That may be true. Would you expect to find executable requirements
                    documents in a CMMI project? It seems to me that both are formal, just
                    about different things.

                    [GBA] CMMI says little about "how" to do the requirements. If executable
                    requirements also met the needs of the requirements elicitation process
                    holders - Systems Program Office e.g. - then they would add value to the
                    process.
                    >
                    > An important Jack Welch quote that hangs in our common area is...
                    >
                    > "Bureaucracy protects the organization from the incompetent."

                    There is a corollary to this quote:

                    "Incompetence subjects the organization to bureaucracy."

                    [GBA] So true. It the spinning ying-yang symbol all over again. Welch's
                    starting point was in incumbent organization, where he removed the
                    bureaucracy to expose the incompetence. From there he (and his
                    consulting staff) could easily identify the gaps in the process. In the
                    absence of this bureaucracy "shield" the problems were masked.

                    -----
                    Robert C. Martin

                    Glen B. Alleman
                  • Alleman, Glen B.
                    GE s approach: remove the bureaucracy and expose the gaps...fix the gaps and you don t need the bureaucracy. Glen B. Alleman ... From: Tony Nassar
                    Message 9 of 21 , Apr 2, 2004
                    • 0 Attachment
                      GE's approach: remove the bureaucracy and expose the gaps...fix the gaps
                      and you don't need the bureaucracy.

                      Glen B. Alleman

                      -----Original Message-----
                      From: Tony Nassar [mailto:tnassar@...]
                      Sent: Thursday, April 01, 2004 10:50 PM
                      To: extremeprogramming@yahoogroups.com
                      Subject: RE: [XP] cmm and agile?

                      > An important Jack Welch quote that hangs in our common area is...
                      > "Bureaucracy protects the organization from the incompetent."

                      Is Welch for or against? How could an employee take this other than as,
                      "We are justified in imposing layers of bureaucracy on you because we
                      have to protect the company against your incompetence." Maybe I'm
                      accentuating the negative, but if this is supposed to be a motivational
                      slogan, why is it set against a presumption of incompetence?
                    Your message has been successfully submitted and would be delivered to recipients shortly.