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

RUP and Agile

Expand Messages
  • Nam Dao Xuan Thien
    Dear ALL, I have some experiences in the software methodology such as RUP, but currently I am working with a customer come from US. This customer wants me to
    Message 1 of 13 , Nov 24, 2006
    • 0 Attachment
      Dear ALL,



      I have some experiences in the software methodology such as RUP, but
      currently I am working with a customer come from US. This customer wants me
      to apply agile process in the new project.



      I want have your helps in mapping activities between RUP and agile.



      1. How do I realize the business model procedure, analysis and design
      procedure, coding and testing procedure, and transition procedure in the
      agile process?
      2. What are the best practices when moving from RUP to Agile and what
      are the risks ?
      3. Do you have any URL references talk about the differences between
      RUP and Agile?



      Thank you and best regards



      Nam


      [Non-text portions of this message have been removed]
    • Adrian Howard
      On 24 Nov 2006, at 09:58, Nam Dao Xuan Thien wrote: [snip] ... First thing is that there isn t an agile :-) Agile is a general approach to development based
      Message 2 of 13 , Nov 24, 2006
      • 0 Attachment
        On 24 Nov 2006, at 09:58, Nam Dao Xuan Thien wrote:
        [snip]
        > I have some experiences in the software methodology such as RUP, but
        > currently I am working with a customer come from US. This customer
        > wants me
        > to apply agile process in the new project.
        >
        > I want have your helps in mapping activities between RUP and agile.

        First thing is that there isn't "an" agile :-)

        Agile is a general approach to development based on things like the
        agile manifesto <http://agilemanifesto.org/>. There are specific
        instances of processes that are considered agile like:

        * XP <http://www.extremeprogramming.org/>
        * Scrum <http://www.controlchaos.com/>
        * FDD <http://www.featuredrivendevelopment.com/>

        so the answer to your question would depend on the specific process/
        practices you're following. To figure that out you'd need o talk to
        your customer and find out why they want to adopt agile and what they
        want to get out of it.

        In my experience adopting agile is as much a customer issue as it is
        a development team issue. If your customer is already using agile
        techniques then they can probably help you directly.

        > 1. How do I realize the business model procedure, analysis and
        > design
        > procedure, coding and testing procedure, and transition
        > procedure in the
        > agile process?

        There's no short answer. I'd recommend taking a look at all or some of:

        Agile in general:
        * Agile and iterative development by Craig Larman
        * Agile Software Development, Principles, Patterns, and Practices
        Robert C. Martin
        * Implementing Lean Software Development: From Concept to Cash Mary
        Poppendieck
        * Agile Estimating and Planning Mike Cohn

        Specific approaches:
        * Extreme Programming Explained by Kent Beck
        * Extreme Programming Installed by Ron Jeffries
        * Agile Project Management with SCRUM K. Schwaber
        * A Practical Guide to Feature Driven Development Steve Palmer
        * Crystal Clear: A Human-Powered Methodology for Small Teams Alistair
        Cockburn

        > 2. What are the best practices when moving from RUP to Agile and
        > what
        > are the risks ?

        Personally I prefer bringing in agile practices in small groups -
        addressing the area of the current development process that is
        causing the most problems first. Others prefer the "big bang"
        approach where you adopt the new practices all at once.

        In either case getting an external coach would be a good thing to do
        if you aren't familiar with agile methods.

        > 3. Do you have any URL references talk about the differences
        > between
        > RUP and Agile?

        Type "RUP" and "agile" into Google :-)

        http://www.agilemodeling.com/essays/agileModelingRUP.htm would be one.

        Cheers,

        Adrian
      • Keith Ray
        Also check out dX http://www.objectmentor.com/resources/articles/RUPvsXP.pdf ... -- C. Keith Ray
        Message 3 of 13 , Nov 24, 2006
        • 0 Attachment
          Also check out "dX" http://www.objectmentor.com/resources/articles/RUPvsXP.pdf

          On 11/24/06, Adrian Howard <adrianh@...> wrote:
          >
          > On 24 Nov 2006, at 09:58, Nam Dao Xuan Thien wrote:
          > [snip]
          > > I have some experiences in the software methodology such as RUP, but
          > > currently I am working with a customer come from US. This customer
          > > wants me
          > > to apply agile process in the new project.
          > >
          > > I want have your helps in mapping activities between RUP and agile.
          >
          > First thing is that there isn't "an" agile :-)
          >
          > Agile is a general approach to development based on things like the
          > agile manifesto <http://agilemanifesto.org/>. There are specific
          > instances of processes that are considered agile like:
          >
          > * XP <http://www.extremeprogramming.org/>
          > * Scrum <http://www.controlchaos.com/>
          > * FDD <http://www.featuredrivendevelopment.com/>
          >
          > so the answer to your question would depend on the specific process/
          > practices you're following. To figure that out you'd need o talk to
          > your customer and find out why they want to adopt agile and what they
          > want to get out of it.
          >
          > In my experience adopting agile is as much a customer issue as it is
          > a development team issue. If your customer is already using agile
          > techniques then they can probably help you directly.
          >
          > > 1. How do I realize the business model procedure, analysis and
          > > design
          > > procedure, coding and testing procedure, and transition
          > > procedure in the
          > > agile process?
          >
          > There's no short answer. I'd recommend taking a look at all or some of:
          >
          > Agile in general:
          > * Agile and iterative development by Craig Larman
          > * Agile Software Development, Principles, Patterns, and Practices
          > Robert C. Martin
          > * Implementing Lean Software Development: From Concept to Cash Mary
          > Poppendieck
          > * Agile Estimating and Planning Mike Cohn
          >
          > Specific approaches:
          > * Extreme Programming Explained by Kent Beck
          > * Extreme Programming Installed by Ron Jeffries
          > * Agile Project Management with SCRUM K. Schwaber
          > * A Practical Guide to Feature Driven Development Steve Palmer
          > * Crystal Clear: A Human-Powered Methodology for Small Teams Alistair
          > Cockburn
          >
          > > 2. What are the best practices when moving from RUP to Agile and
          > > what
          > > are the risks ?
          >
          > Personally I prefer bringing in agile practices in small groups -
          > addressing the area of the current development process that is
          > causing the most problems first. Others prefer the "big bang"
          > approach where you adopt the new practices all at once.
          >
          > In either case getting an external coach would be a good thing to do
          > if you aren't familiar with agile methods.
          >
          > > 3. Do you have any URL references talk about the differences
          > > between
          > > RUP and Agile?
          >
          > Type "RUP" and "agile" into Google :-)
          >
          > http://www.agilemodeling.com/essays/agileModelingRUP.htm would be one.
          >
          > Cheers,
          >
          > Adrian
          >
          >
          >
          >
          >
          > To Post a message, send it to: extremeprogramming@...
          >
          > To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe@...
          >
          > ad-free courtesy of objectmentor.com
          > Yahoo! Groups Links
          >
          >
          >
          >
          >


          --

          C. Keith Ray
          <http://homepage.mac.com/keithray/blog/index.html>
          <http://homepage.mac.com/keithray/xpminifaq.html>
          <http://homepage.mac.com/keithray/resume2.html>
        • Phlip
          ... Write copious unit test, release a new version once a week, use just-in-time requirements, and call it RUP or Agile, depending on who is asking. ... Write
          Message 4 of 13 , Nov 24, 2006
          • 0 Attachment
            Nam Dao Xuan Thien wrote:

            > I want have your helps in mapping activities between RUP and agile.

            Write copious unit test, release a new version once a week, use just-in-time
            requirements, and call it RUP or Agile, depending on who is asking.

            > 1. How do I realize the business model procedure, analysis and design
            > procedure, coding and testing procedure, and transition procedure in
            > the agile process?

            Write lots of acceptance tests and call them that.

            > 2. What are the best practices when moving from RUP to Agile and
            > what are the risks ?

            The biggest risk is someone will think that RUP is heavy, then start
            demanding extra artifacts such as UML.

            If you refactor aggressively, the UML should be easy to write on-the-spot,
            so this risk contains its own solution. As usual for Agile.

            > 3. Do you have any URL references talk about the differences between
            > RUP and Agile?

            There's a book by Craig Larman, but I forget its title.

            --
            Phlip
            http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
          • Walter Prins
            ... Possibly/probably Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. by Craig Larman. Hopefully
            Message 5 of 13 , Nov 26, 2006
            • 0 Attachment
              Phlip wrote:
              >> 3. Do you have any URL references talk about the differences between
              >> RUP and Agile?
              >>
              >
              > There's a book by Craig Larman, but I forget its title.
              >
              >
              Possibly/probably "Applying UML and Patterns: An Introduction to
              Object-Oriented Analysis and Design and the Unified Process." by Craig
              Larman.

              Hopefully pertinent quote from the book (p. 26):

              "Here are some signs that indicate when you have *not understood* what
              it means to adopt the UP [Unified Process] and iterative development in
              the agile spirit intended by the UP:
              - You think that inception = requirements, elaboration = design, and
              construction = implementation (that is, superimposing a waterfall
              lifecycle on to the UP.
              - You think that the purpose of elaboration is to fully and carefully
              define models, which are translated into code during construction.
              - You try to define most of the requirements before starting design or
              implementation
              - You try to define most of the design before starting implementation;
              you try to fully define and commit to an architecture before iterative
              programming and testing.
              - A 'long time' is spent doing requirements or design work before
              programming starts.
              - You believe that a suitable iteration length is four months long,
              rather than four weeks long (excluding projects with hundreds of
              developers.)
              - You think UML diagramming and design activities are a time to fully
              and accurately define designs and models in great detail, and of
              programming as simple mechanical translation of these into code.
              - You think that adopting the UP means to do many of the possible
              activities and create many documents, and thinks of or experiences the
              UP as a formal, fussy process with many steps to be followed.
              - You try to plan a project in detail from start to finish; you try to
              speculatively predict all the iterations, and what should happen in each
              one.
              - You want believable plans and estimates for projects before the
              elaboration phase is finished."


              Also read the slightly satirical "How to fail with the Rational Unified
              Process: Seven Steps to Pain and Suffering" by Larman, Kruchten and
              Bittner: http://agilealliancebeta.org/system/article/file/941/file.pdf

              Cheers!

              Walter


              [Non-text portions of this message have been removed]
            • Ilja Preuss
              ... More probably Agile and Iterative Development: A Manager s Guide Cheers, Ilja
              Message 6 of 13 , Nov 26, 2006
              • 0 Attachment
                Walter Prins schrieb:
                >
                > Phlip wrote:
                >>> 3. Do you have any URL references talk about the differences between
                >>> RUP and Agile?
                >>>
                >> There's a book by Craig Larman, but I forget its title.
                >>
                >>
                > Possibly/probably "Applying UML and Patterns: An Introduction to
                > Object-Oriented Analysis and Design and the Unified Process." by Craig
                > Larman.

                More probably "Agile and Iterative Development: A Manager's Guide"

                Cheers, Ilja
              • D. AndrĂ© Dhondt
                Another book that compares the two in 400+ pages of detail, written by Per Kroll and Bruce MacIsaac (as I recall, they re IBM executives with responsibility
                Message 7 of 13 , Nov 27, 2006
                • 0 Attachment
                  Another book that compares the two in 400+ pages of detail, written by Per
                  Kroll and Bruce MacIsaac (as I recall, they're IBM executives with
                  responsibility for implementing RUP for IBM clients), is Agility and
                  Discipline Made Easy. It's a dense book that may be useful if you've got
                  managers or customers who are used to RUP / OpenUP / etc. and want your
                  process to have more ceremony.

                  On 11/24/06, Nam Dao Xuan Thien <dxtnam@...> wrote:
                  >
                  > Dear ALL,
                  >
                  > I have some experiences in the software methodology such as RUP, but
                  > currently I am working with a customer come from US. This customer wants
                  > me
                  > to apply agile process in the new project.
                  >
                  > I want have your helps in mapping activities between RUP and agile.
                  >
                  > 1. How do I realize the business model procedure, analysis and design
                  > procedure, coding and testing procedure, and transition procedure in the
                  > agile process?
                  > 2. What are the best practices when moving from RUP to Agile and what
                  > are the risks ?
                  > 3. Do you have any URL references talk about the differences between
                  > RUP and Agile?
                  >
                  > Thank you and best regards
                  >
                  > Nam
                  >
                  > [Non-text portions of this message have been removed]
                  >
                  >
                  >



                  --
                  D. André Dhondt

                  If you're a software developer in the area, join Agile Philly (
                  http://groups.yahoo.com/group/agilephilly/)!


                  [Non-text portions of this message have been removed]
                • Scott Ambler
                  ... RUP can be instantiated in an agile manner, or in a not-so-agile manner, it s up to you. ... design ... You might find
                  Message 8 of 13 , Nov 29, 2006
                  • 0 Attachment
                    --- In extremeprogramming@yahoogroups.com, "Nam Dao Xuan Thien"
                    <dxtnam@...> wrote:
                    >
                    >
                    >
                    > I want have your helps in mapping activities between RUP and agile.

                    RUP can be instantiated in an agile manner, or in a not-so-agile
                    manner, it's up to you.

                    >
                    >
                    >
                    > 1. How do I realize the business model procedure, analysis and
                    design
                    > procedure,

                    You might find
                    http://www.agilemodeling.com/essays/agileModelingRUP.htm to be of
                    help.


                    > coding and testing procedure, and transition procedure in the
                    > agile process?

                    On the data side of things, http://www.agiledata.org/essays/rup.html


                    > 2. What are the best practices when moving from RUP to Agile and
                    what
                    > are the risks ?

                    You can tailor RUP to be agile, although if your organization has
                    tailored it to be not-so-agile that might not be an option for you
                    any more.

                    There is the OpenUP, which you can download at www.eclipse.org/epf/

                    There is also the Agile UP (AUP), which you can download from
                    http://www.ambysoft.com/unifiedprocess/agileUP.html

                    - Scott
                  • Ron Jeffries
                    Hello, Scott. I do think your posting could have been a bit more in concert with the list s leanings. On Wednesday, November 29, 2006, ... However, the focus
                    Message 9 of 13 , Nov 30, 2006
                    • 0 Attachment
                      Hello, Scott. I do think your posting could have been a bit more in
                      concert with the list's leanings. On Wednesday, November 29, 2006,
                      at 5:55:05 PM, you wrote:

                      > --- In extremeprogramming@yahoogroups.com, "Nam Dao Xuan Thien"
                      > <dxtnam@...> wrote:

                      >> I want have your helps in mapping activities between RUP and agile.

                      > RUP can be instantiated in an agile manner, or in a not-so-agile
                      > manner, it's up to you.

                      However, the focus of the various UP processes does not appear to be
                      Agile to many of us, and the focus of many organizations using UP
                      processes is decidedly not Agile. To these eyes, the UP is decidedly
                      focused more on process than on people.

                      A better approach might be not to try to "map", but to learn what
                      Agile really is and do it. More on that below.

                      >> 1. How do I realize the business model procedure, analysis and
                      >> design procedure,

                      > You might find
                      > http://www.agilemodeling.com/essays/agileModelingRUP.htm to be of
                      > help.

                      The letter of the "agile modeling" material allows for a level of
                      modeling that I would consider Agile. The sum of the material
                      provides a weight of ideas that seems to lead people to do more
                      modeling than is ideal. Proceed with caution.

                      >> coding and testing procedure, and transition procedure in the
                      >> agile process?

                      > On the data side of things, http://www.agiledata.org/essays/rup.html

                      This response seems to me not to address any of coding, testing, nor
                      transition procedure.

                      >> 2. What are the best practices when moving from RUP to Agile and
                      >> what are the risks ?

                      > You can tailor RUP to be agile, although if your organization has
                      > tailored it to be not-so-agile that might not be an option for you
                      > any more.

                      I would say that a better approach would be to get training in a
                      real Agile process, preferably Extreme Programming, and set up one
                      or more pilot projects with intention to actually execute in an
                      Agile fashion, rather than try to warp an existing UP-style process
                      into some semblance of Agile.

                      <SPAM>
                      > There is the OpenUP, which you can download at www.eclipse.org/epf/

                      > There is also the Agile UP (AUP), which you can download from
                      > http://www.ambysoft.com/unifiedprocess/agileUP.html
                      </SPAM>

                      Ron Jeffries
                      www.XProgramming.com
                      Yesterday's code should be as good as we could make it yesterday.
                      The fact that we know more today, and are more capable today,
                      is good news about today, not bad news about yesterday.
                    • Scott Ambler
                      ... Sorry about that. The orginal posting asked questions on a topic I know a little something about, so I thought I d respond. ... agile. ... be ...
                      Message 10 of 13 , Nov 30, 2006
                      • 0 Attachment
                        --- In extremeprogramming@yahoogroups.com, Ron Jeffries
                        <ronjeffries@...> wrote:
                        >
                        > Hello, Scott. I do think your posting could have been a bit more in
                        > concert with the list's leanings.

                        Sorry about that. The orginal posting asked questions on a topic I
                        know a little something about, so I thought I'd respond.

                        > On Wednesday, November 29, 2006,
                        > at 5:55:05 PM, you wrote:
                        >
                        > > --- In extremeprogramming@yahoogroups.com, "Nam Dao Xuan Thien"
                        > > <dxtnam@> wrote:
                        >
                        > >> I want have your helps in mapping activities between RUP and
                        agile.
                        >
                        > > RUP can be instantiated in an agile manner, or in a not-so-agile
                        > > manner, it's up to you.
                        >
                        > However, the focus of the various UP processes does not appear to
                        be
                        > Agile to many of us, and the focus of many organizations using UP
                        > processes is decidedly not Agile. To these eyes, the UP is
                        decidedly
                        > focused more on process than on people.

                        Like I said, it depends on how you choose to instantiate it. Many
                        organizations choose to instantiate it in a far too heavy manner,
                        IMHO, and that's a real shame. Seems to me that we should still try
                        to help them though.

                        >
                        > A better approach might be not to try to "map", but to learn what
                        > Agile really is and do it. More on that below.

                        Agreed. But you also have to start somewhere. For many
                        organizations, going from a really heavy waterfall approach to a not-
                        as-heavy but clearly not agile RUP-based approach is a major change
                        which they can barely handle (and some can't even handle that).
                        Then, with a few years experience of evolutionary development under
                        their belt, they're at the point where they can take the next step.

                        You can't always go from 0 to 60 in 5.6 seconds.

                        >
                        > >> 1. How do I realize the business model procedure, analysis and
                        > >> design procedure,
                        >
                        > > You might find
                        > > http://www.agilemodeling.com/essays/agileModelingRUP.htm to be
                        of
                        > > help.
                        >
                        > The letter of the "agile modeling" material allows for a level of
                        > modeling that I would consider Agile. The sum of the material
                        > provides a weight of ideas that seems to lead people to do more
                        > modeling than is ideal. Proceed with caution.

                        Exactly. It's a slippery slope from an XP point of view, and you
                        need to be careful. AM does give the professional modelers among us
                        a hook into agile processes, but then again, it also provides a
                        mechanism for those folks to reform their ways and become productive
                        members of an agile team, and it gives agile programmers a bit of
                        insight into a few techniques which might help them become more
                        productive. You're definitely playing with fire, but fire used
                        properly can be a good thing sometimes.

                        From a "heavy RUP" point of view, AM can provide a way out of the
                        bureaucracy which has been inflicted upon you by the process
                        police. Not that I want to blame the process police for all of the
                        problems that we see in the RUP world, BUT the "Waterfall Process
                        Expert Tailors RUP Inappropriately Even Though It Goes Against All
                        the Advice Provided by the RUP Folks" anti-pattern seems very
                        common.

                        Perhaps I need to think up a better name for that anti-pattern. ;-)

                        <snip>
                        >
                        > >> 2. What are the best practices when moving from RUP to Agile and
                        > >> what are the risks ?
                        >
                        > > You can tailor RUP to be agile, although if your organization
                        has
                        > > tailored it to be not-so-agile that might not be an option for
                        you
                        > > any more.
                        >
                        > I would say that a better approach would be to get training in a
                        > real Agile process, preferably Extreme Programming, and set up one
                        > or more pilot projects with intention to actually execute in an
                        > Agile fashion, rather than try to warp an existing UP-style process
                        > into some semblance of Agile.

                        That can work too, but a lot of organizations won't tolerate that. A
                        couple of months ago one of our consultants ran into an organization
                        that wanted to learn how to distinguish agile projects from
                        traditional projects. The goal was to root out all the agile
                        projects and get rid of them. Didn't sound like a very good strategy
                        to me, but then again what do I know?

                        - Scott
                      • dnicolet99
                        ... Sounds like a good strategy for their competitors. ;-) Meanwhile, what should Nam do?
                        Message 11 of 13 , Nov 30, 2006
                        • 0 Attachment
                          --- In extremeprogramming@yahoogroups.com, "Scott Ambler"
                          <scottwambler@...> wrote:

                          > That can work too, but a lot of organizations won't tolerate that. A
                          > couple of months ago one of our consultants ran into an organization
                          > that wanted to learn how to distinguish agile projects from
                          > traditional projects. The goal was to root out all the agile
                          > projects and get rid of them. Didn't sound like a very good strategy
                          > to me, but then again what do I know?
                          >
                          > - Scott

                          Sounds like a good strategy for their competitors. ;-)

                          Meanwhile, what should Nam do?
                        • Charlie Poole
                          Hi Ron, ... An analogy comes to mind: Sometimes it s better to throw away code and start over. Charlie
                          Message 12 of 13 , Nov 30, 2006
                          • 0 Attachment
                            Hi Ron,

                            > I would say that a better approach would be to get training
                            > in a real Agile process, preferably Extreme Programming, and
                            > set up one or more pilot projects with intention to actually
                            > execute in an Agile fashion, rather than try to warp an
                            > existing UP-style process into some semblance of Agile.

                            An analogy comes to mind:

                            Sometimes it's better to throw away code and start over.

                            Charlie
                          • Scott Ambler
                            ... that. A ... organization ... strategy ... Exactly. You certainly don t get gifts handed like that handed to you every day. ;-) ... As Ron pointed out the
                            Message 13 of 13 , Dec 1, 2006
                            • 0 Attachment
                              --- In extremeprogramming@yahoogroups.com, "dnicolet99"
                              <dnicolet@...> wrote:
                              > > That can work too, but a lot of organizations won't tolerate
                              that. A
                              > > couple of months ago one of our consultants ran into an
                              organization
                              > > that wanted to learn how to distinguish agile projects from
                              > > traditional projects. The goal was to root out all the agile
                              > > projects and get rid of them. Didn't sound like a very good
                              strategy
                              > > to me, but then again what do I know?
                              >
                              > Sounds like a good strategy for their competitors. ;-)

                              Exactly. You certainly don't get gifts handed like that handed to
                              you every day. ;-)

                              >
                              > Meanwhile, what should Nam do?
                              >
                              As Ron pointed out the other day, this discussion is off topic for
                              this list. So here's my final say on this subject:
                              1. Look at a variety of software processes, including both XP and
                              variations of RUP, and try to identify one which seems to fit your
                              current environment.
                              2. Another option is to build your own process from techniques such
                              as TDD, pair programming, agile modeling, ... Maybe all the
                              processes are "too big" for your current environment to adopt.
                              3. If you want to discuss the UP, then find an UP list. If RUP
                              appears to be what you want, find a RUP forum; if EssUP appears to
                              be what you want, find an EssUP forum, ...
                              4. #3 holds for other processes such as DSDM, FDD, Crystal, ....

                              - Scott
                            Your message has been successfully submitted and would be delivered to recipients shortly.