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

Re: [XP] Cross Cutting Requirements

Expand Messages
  • Phlip
    ... http://www.c2.com/cgi/wiki?MotherhoodStory ... In this area, in my exalted opinion, many folks get YAGNI wrong. If the onsite customer says don t localize,
    Message 1 of 7 , Jun 29, 2003
    • 0 Attachment
      David Hussman wrote:

      > I think this is one example of a larger collection of requirements that
      > cut across many stories. Please forgive if this topic has already been
      > discussed in this group.

      http://www.c2.com/cgi/wiki?MotherhoodStory

      > A simple example for discussion: All user displayed text must be
      > available in English and Spanish.

      In this area, in my exalted opinion, many folks get YAGNI wrong.

      If the onsite customer says don't localize, then don't.

      "Don't" does not mean "but put in code that sets the code-page according to
      the locale anyway." It really really means "DON'T". If you put code-page
      aware code into production, and if it is speculative, it adds risk. The path
      from speculative code to working code is always higher risk than the path
      from no code to working code.

      Hence, the best strategy for an onsite customer (or their coach to coach
      them) is to internationalize early between two sample languages. MS Press
      recommends four: English, Arabic (bi-directional), Chinese (big letter
      thingies), and Japanese (big, opinionated market).

      Hence, the localization code does not speculate; it pulls its weight. Adding
      traditional Chinese, or Spanish, or Greek, for example, really will be
      plug-n-play.

      In your situation, localize, but hard-code the ISO Latin 1 code-page.
      Western Europe and the Americas. Leave the other code-pages alone until they
      become real user stories.

      > On some projects I have added this as an acceptance test for all stories
      > (in this case, all stories that display text to the user) while on other
      > projects I have taken this story by story. The first option helps ensure
      > consistency across the project, helps the customer understand the true
      > cost of maintaining both languages, and addresses one aspect of
      > localization / internationalization sooner than later. The second method
      > helps that customer determine whether the dual development is an
      > important expenditure for each story. I am now finding that I am using a
      > combination that seems to be working well (acceptance test for all
      > stories, review its cost during iteration planning, customer chooses to
      > add to all stories or address per story).

      Sounds like you have reinvented MotherhoodStories here.

      --
      Phlip
      http://www.c2.com/cgi/wiki?TestFirstUserInterfaces
    • David Hussman
      By Phillip s response, I think the example was too simple. My interest in asking for others experience is not to gather the simpler aspect of what is means to
      Message 2 of 7 , Jun 29, 2003
      • 0 Attachment
        By Phillip's response, I think the example was too simple.



        My interest in asking for others experience is not to gather the simpler
        aspect of what is means to allow the customer to drive. I am looking for
        ways to help customers grapple with the organization and presentation of
        story content that spans multiple stories. There are a handful of story
        types that I try to introduce into story creation process that help
        customers (who are often do not have skills around areas like
        localization, concurrency, ...) start to think about the cost of these
        types of stories. I find this helps them to understand and evaluate the
        amount of development effort spent working or spiking in non-functional
        areas (which intern decreases / diminishes developers burning time in
        YAGNI land).



        My example was not meant to be a story, nor is it speculative to the
        customer. Rather, it is a requirement thrown into the lap of a customer
        who may have little to no understanding of how to incorporate it into /
        across a collection of stories. Many organizations (and executives) ask
        customers to "ensure the application supports localization" but fail to
        support the effort needed to make this happen. I am not looking for
        comments on "how to be a customer." Instead; I am looking for
        information like:



        1) Is there a framework like FIT that can help the customer handle this
        type of acceptance testing?

        2) How can we help customer's communicate the cost of cross cutting
        requirements outside of the team?

        3) What are some ways we can help customers that have limited tech
        chops, but great business sense, speak and understand a bit of
        "developer ease" in order to make the development process better serve
        the needs of the company and a better space for all players on the
        project.

        4) Other shared conversation that might help coaches and XP leaders help
        the customers through difficult issues.





        -----Original Message-----
        From: Phlip [mailto:plumlee@...]
        Sent: Sunday, June 29, 2003 10:17 AM
        To: extremeprogramming@yahoogroups.com
        Subject: Re: [XP] Cross Cutting Requirements



        David Hussman wrote:



        > I think this is one example of a larger collection of requirements
        that

        > cut across many stories. Please forgive if this topic has already been

        > discussed in this group.



        http://www.c2.com/cgi/wiki?MotherhoodStory



        > A simple example for discussion: All user displayed text must be

        > available in English and Spanish.



        In this area, in my exalted opinion, many folks get YAGNI wrong.



        If the onsite customer says don't localize, then don't.



        "Don't" does not mean "but put in code that sets the code-page according
        to

        the locale anyway." It really really means "DON'T". If you put code-page

        aware code into production, and if it is speculative, it adds risk. The
        path

        from speculative code to working code is always higher risk than the
        path

        from no code to working code.



        Hence, the best strategy for an onsite customer (or their coach to coach

        them) is to internationalize early between two sample languages. MS
        Press

        recommends four: English, Arabic (bi-directional), Chinese (big letter

        thingies), and Japanese (big, opinionated market).



        Hence, the localization code does not speculate; it pulls its weight.
        Adding

        traditional Chinese, or Spanish, or Greek, for example, really will be

        plug-n-play.



        In your situation, localize, but hard-code the ISO Latin 1 code-page.

        Western Europe and the Americas. Leave the other code-pages alone until
        they

        become real user stories.



        > On some projects I have added this as an acceptance test for all
        stories

        > (in this case, all stories that display text to the user) while on
        other

        > projects I have taken this story by story. The first option helps
        ensure

        > consistency across the project, helps the customer understand the true

        > cost of maintaining both languages, and addresses one aspect of

        > localization / internationalization sooner than later. The second
        method

        > helps that customer determine whether the dual development is an

        > important expenditure for each story. I am now finding that I am using
        a

        > combination that seems to be working well (acceptance test for all

        > stories, review its cost during iteration planning, customer chooses
        to

        > add to all stories or address per story).



        Sounds like you have reinvented MotherhoodStories here.



        --

        Phlip

        http://www.c2.com/cgi/wiki?TestFirstUserInterfaces







        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/





        [Non-text portions of this message have been removed]
      • yahoogroups@jhrothjr.com
        ... From: David Hussman To: extremeprogramming@yahoogroups.com
        Message 3 of 7 , Jun 30, 2003
        • 0 Attachment
          ----- Original Message -----
          From: "David Hussman"
          <david.hussman.at.sgfco.com@...>
          To: "extremeprogramming@yahoogroups.com"
          <extremeprogramming.at.yahoogroups.com@...>
          Sent: Sunday, June 29, 2003 9:14 PM
          Subject: RE: [XP] Cross Cutting Requirements


          > By Phillip's response, I think the example was too simple.
          >
          >
          >
          > My interest in asking for others experience is not to gather the simpler
          > aspect of what is means to allow the customer to drive. I am looking for
          > ways to help customers grapple with the organization and presentation of
          > story content that spans multiple stories. There are a handful of story
          > types that I try to introduce into story creation process that help
          > customers (who are often do not have skills around areas like
          > localization, concurrency, ...) start to think about the cost of these
          > types of stories. I find this helps them to understand and evaluate the
          > amount of development effort spent working or spiking in non-functional
          > areas (which intern decreases / diminishes developers burning time in
          > YAGNI land).
          >
          >
          >
          > My example was not meant to be a story, nor is it speculative to the
          > customer. Rather, it is a requirement thrown into the lap of a customer
          > who may have little to no understanding of how to incorporate it into /
          > across a collection of stories. Many organizations (and executives) ask
          > customers to "ensure the application supports localization" but fail to
          > support the effort needed to make this happen. I am not looking for
          > comments on "how to be a customer." Instead; I am looking for
          > information like:
          >
          >
          >
          > 1) Is there a framework like FIT that can help the customer handle this
          > type of acceptance testing?
          >
          > 2) How can we help customer's communicate the cost of cross cutting
          > requirements outside of the team?
          >
          > 3) What are some ways we can help customers that have limited tech
          > chops, but great business sense, speak and understand a bit of
          > "developer ease" in order to make the development process better serve
          > the needs of the company and a better space for all players on the
          > project.

          One way I've heard of (shamelessly stolen from Function Points) is to
          make the estimate multiplicative rather than additive. "It doesn't matter
          how big the application is, adding that is going to multiply the cost by
          1.6."

          > 4) Other shared conversation that might help coaches and XP leaders help
          > the customers through difficult issues.


          John Roth
        • Ron Jeffries
          ... Yes. However, I would think that few, if any, requirements would really have this effect. But I might just be reacting to 1.6. 1.06, I might buy into: OK,
          Message 4 of 7 , Jun 30, 2003
          • 0 Attachment
            On Monday, June 30, 2003, at 4:51:28 AM, yahoogroups@... wrote:

            > One way I've heard of (shamelessly stolen from Function Points) is to
            > make the estimate multiplicative rather than additive. "It doesn't matter
            > how big the application is, adding that is going to multiply the cost by
            > 1.6."

            Yes. However, I would think that few, if any, requirements would really
            have this effect. But I might just be reacting to 1.6. 1.06, I might buy
            into:

            "OK, let's see, there will be about 1500 screens, say five phrases per
            screen, 7500 phrases, translation and checking a buck each, that's going
            to add $7500 to your $75K project. A ten percent override for each new
            language."

            Even there, however, I'd want to break it down directly, as sketched above.

            Ron Jeffries
            www.XProgramming.com
            Example isn't another way to teach, it is the only way to teach. --Albert Einstein
          • yahoogroups@jhrothjr.com
            ... From: Ron Jeffries To: extremeprogramming@yahoogroups.com
            Message 5 of 7 , Jun 30, 2003
            • 0 Attachment
              ----- Original Message -----
              From: "Ron Jeffries" <ronjeffries.at.acm.org@...>
              To: "extremeprogramming@yahoogroups.com"
              <extremeprogramming.at.yahoogroups.com@...>
              Sent: Monday, June 30, 2003 6:48 AM
              Subject: Re: [XP] Cross Cutting Requirements


              > On Monday, June 30, 2003, at 4:51:28 AM, yahoogroups@... wrote:
              >
              > > One way I've heard of (shamelessly stolen from Function Points) is to
              > > make the estimate multiplicative rather than additive. "It doesn't
              matter
              > > how big the application is, adding that is going to multiply the cost by
              > > 1.6."
              >
              > Yes. However, I would think that few, if any, requirements would really
              > have this effect. But I might just be reacting to 1.6. 1.06, I might buy
              > into:
              >
              > "OK, let's see, there will be about 1500 screens, say five phrases per
              > screen, 7500 phrases, translation and checking a buck each, that's going
              > to add $7500 to your $75K project. A ten percent override for each new
              > language."

              Plus the added program complexity for supporting multiple languages.
              One of the other posters mentioned Microsoft's guidelines, where they
              specified four languages with three rather different sets of requirements.
              (I can't see Chinese and Japanese being all that different.)
              Granted, a lot of that complexity will get factored into common classes,
              but it has to have an effect.

              > Even there, however, I'd want to break it down directly, as sketched
              above.

              I agree with that kind of breakdown, especially as translation is
              an "outboard" task. It's something that can be readily assigned to
              specialized resources that don't have to have close coordination
              with the core development team. As such, it should be separately
              quoted.

              John Roth

              >
              > Ron Jeffries
              > www.XProgramming.com
              > Example isn't another way to teach, it is the only way to teach. --Albert
              Einstein
              >
            • Ron Jeffries
              ... Yes. But I would not expect it to have a true multiplicative effect, though of course after adding 60 to 100 we can see the 1.6. Ron Jeffries
              Message 6 of 7 , Jun 30, 2003
              • 0 Attachment
                On Monday, June 30, 2003, at 7:01:58 AM, yahoogroups@... wrote:

                > Plus the added program complexity for supporting multiple languages.
                > One of the other posters mentioned Microsoft's guidelines, where they
                > specified four languages with three rather different sets of requirements.
                > (I can't see Chinese and Japanese being all that different.)
                > Granted, a lot of that complexity will get factored into common classes,
                > but it has to have an effect.

                Yes. But I would not expect it to have a true multiplicative effect, though
                of course after adding 60 to 100 we can see the 1.6.

                Ron Jeffries
                www.XProgramming.com
                Mixed metaphors are a bright sunny day with no paddle. -- Phlip
              • yahoogroups@jhrothjr.com
                ... From: Ron Jeffries To: extremeprogramming@yahoogroups.com
                Message 7 of 7 , Jun 30, 2003
                • 0 Attachment
                  ----- Original Message -----
                  From: "Ron Jeffries" <ronjeffries.at.acm.org@...>
                  To: "extremeprogramming@yahoogroups.com"
                  <extremeprogramming.at.yahoogroups.com@...>
                  Sent: Monday, June 30, 2003 7:22 AM
                  Subject: Re: [XP] Cross Cutting Requirements


                  > On Monday, June 30, 2003, at 7:01:58 AM, yahoogroups@... wrote:
                  >
                  > > Plus the added program complexity for supporting multiple languages.
                  > > One of the other posters mentioned Microsoft's guidelines, where they
                  > > specified four languages with three rather different sets of
                  requirements.
                  > > (I can't see Chinese and Japanese being all that different.)
                  > > Granted, a lot of that complexity will get factored into common classes,
                  > > but it has to have an effect.
                  >
                  > Yes. But I would not expect it to have a true multiplicative effect,

                  Strictly speaking, I wouldn't either. However, the topic was how to
                  explain the effect to a customer who didn't have a firm grasp on how
                  various things affected the project size. Whatever the effect is, it's
                  closer to multiplication than addition.

                  Internationalization may not be the best "motherhood" story to
                  see this effect, since it's pretty clear you can encapsulate text
                  processing, and much of the cost can indeed be broken out
                  into the cost of translation and packaging.

                  Authorization levels may be a better example, since
                  no matter how well you manage to abstract it, it will have effects
                  that straggle through the code.

                  > though of course after adding 60 to 100 we can see the 1.6.

                  John Roth
                  >
                  > Ron Jeffries
                  > www.XProgramming.com
                  > Mixed metaphors are a bright sunny day with no paddle. -- Phlip
                  >
                Your message has been successfully submitted and would be delivered to recipients shortly.