Agile In Action - Theory and Concepts

This is a discussion on Agile In Action - Theory and Concepts ; This is a post from my blog (vladimirlevin.blogspot.com). I welcome comments. I don't know to what extent the notions of up-front requirements ****ysis and design are still being actively used these days, but I've heard a lot of debate on ...

+ Reply to Thread
Page 1 of 17 1 2 3 11 ... LastLast
Results 1 to 10 of 170

Agile In Action

  1. Default Agile In Action

    This is a post from my blog (vladimirlevin.blogspot.com). I welcome
    comments.

    I don't know to what extent the notions of up-front requirements
    ****ysis and design are still being actively used these days, but I've
    heard a lot of debate on the subject over the past few years. I'm
    currently working on an agile project and today I had a good experience
    in which three of us, a customer and two developers, worked together to
    flesh out a requirement in a way that simply would not be possible in a
    more traditional environment heavy on up-front requirement preparation.
    Since this is an example from the real world, I'll be using
    project-specific terminology, but I hope to make the general sense of
    what's going on clear to anyone reading this blog. If you're reading
    this and have something to say that may clarify matters, I encourage
    you to e-mail me and I'll update this posting.

    In our application (oil and gas production accounting), we have the
    notion of a gas-equivalent factor (ge factor). It is a number that you
    multiply by a volume of light oil, also called condensate, to get an
    "equivalent" volume of gas. It's a bit like comparing, say, two grads
    from different schools. One grad has a GPA of 3.2 and the other one has
    a 78% average. To compare them, you may want to convert the gpa of 3.2
    to a percentage, or vice versa. Anyway, the point is that this number
    is displayed on several screen of the application. Now, there are
    several different ways that this number is obtained, and as part of a
    story I was working on, I had to include the source of the ge factor
    along with the number itself. The story (similar to a use case)
    specified that one of two icons should be displayed along with the
    factor: "A" for ****ysis, and "E" for entered. In one case, an ****ysis
    (a breakdown of the molecular constituents of the condensate) is used
    to calculate a ge factor; in the other case, the user simply enters in
    the factor manually. As I began to get into code, I realized that there
    was a third case that the story didn't talk about. I turned to the
    customer who had put together the story, who sits just across from me,
    and asked him about it: Al, what happens when the ge factor is not
    necessarily derived from an ****ysis, but it's averaged from ge factors
    at several other measurements? After a bit of discussion, the user and
    I agreed to include a third icon as part of the story, "C" for
    calculated.

    I implemented the requirement simply by putting a text label "A", "C",
    or "E" next to the ge factors on the appropriate screens. Then I went
    to talk to our resident gui (graphical user interface) expert about the
    story: Hey Chris, I've put these text labels next to the ge factor on
    our balancing screens. Could you cook up some icons that look a bit
    nicer? Chris came over and asked Al: What if instead of an extra icon
    next to the factor, we turned the factor itself into a link. If the
    number came from an ****ysis, the link would actually take the user to
    the ****ysis that was used. If the number was entered, the link would
    lead to the screen where that number was entered. The user really liked
    this idea. I objected: In the case that the number was calculated by
    averaging several measurements, it would be a fair amount of work to
    create a new screen that showed all of those measurements in one place.
    The user however told us that it wasn't necessary to go that far. If
    the number was an average, simply omitting the link was fine.

    The buzzwordz "multidisciplinary" and "synergy" are used a lot these
    days, but in this case, we solved a problem by combining our skills and
    perspectives. Requirements are a bit like art. If you're a customer,
    you generally know what you want when you see it, but describing it
    ahead of time isn't so easy. In a non-trivial application, it's hard to
    think of all the possible scenarios for a given feature. As a
    developer, I'm close to the code and I can see those scenarios, so it's
    a lot easier for me to ask the kind of question that I asked. Finally,
    the user interface expert was concerned about clutter on the screen and
    how effective the user interface would be, whereas I just cared about
    the fact that the right information would show up as described in the
    story. We all worked together to come up with a better solution -
    without really extending the development time. The whole discussion
    probably clocked in at about 15-20 minutes, and nothing about the
    requirement caused an enormous amount of extra work. In the future, if
    someone decides that showing all of the measurements that contribute to
    an "averaged" ge factor, we can implement that as a separate story. The
    important thing is that the users currently don't consider it to be
    especially useful or a high priority. We've built the software not to
    honor a general principle of orthogonality, but to meet our users'
    actual requirements.

    I was really impressed with the process we went through today and I
    thought it was a nice simple example the kind of power an agile
    approach can have.


  2. Default Re: Agile In Action

    On 16 Jun 2006 20:34:59 -0700, "Vladimir Levin" <vlad.levin{}>
    wrote:

    >This is a post from my blog (vladimirlevin.blogspot.com). I welcome
    >comments.
    >
    >I don't know to what extent the notions of up-front requirements
    >****ysis and design are still being actively used these days, but I've


    Vlad,

    I work as an independent contract programmer. I first became intrigued
    with XP/Agile in 1999 (?) after reading an article in IEEE Software.
    Since I have worked at three different clients since then and am now
    seeking new work, I have seen little requirement for this knowledge.
    In fact, a quick search on DICE would demonstrate that it has not been
    as widely adapted as some seem to think. If fact, it seems only a
    small percentage of shops have adopted these practices. Even in the
    organizations I've been in that are well aware of XP/Agile, none are
    taking any serious effort to adopt it.

    One must wonder why, if this is the silver bullet claimed by the
    zealots, that is has not been more widely adopted after so many years.

    >heard a lot of debate on the subject over the past few years. I'm
    >currently working on an agile project and today I had a good experience
    >in which three of us, a customer and two developers, worked together to
    >flesh out a requirement in a way that simply would not be possible in a
    >more traditional environment heavy on up-front requirement preparation.


    Why wouldn't it be possible? I don't see it. Nothing you have
    described precludes the ability of an RE from identifying the three
    types of ****ysis you describe. In fact, I would say it would be an RE
    who failed to ask the appropriate defining questions. As for the UI
    design, that too is completely doable. Whether or not people thought
    creatively has little to do with the methodology used. In fact, I
    would posit that quick drawings on paper or whiteboard could elicit
    exactly the same response, then it could be formally defined in a
    document.

    Your conclusion, it seems to me, seems unwarranted.

    <snip description of experience>


    Bill
    ------------------------------------------
    Bill Turner

    A faith that the free play of market forces will eventually end in Good is, in fact, more 'absurd' than religious belief, for there, at least, there is a presumption of an intelligent Agent Who writes straight with His crooked lines. - William Pfaff


    Views expressed are entirely my own and only coincidentally represent those of other persons or entities.

  3. Default Re: Agile In Action

    bill turner wrote:

    > Your conclusion, it seems to me, seems unwarranted.
    >
    > <snip description of experience>


    Welcome to USENET, Vlad! Your report of specific first-hand experiences gets
    snipped in favor of idle gainsaying.

    --
    Phlip
    http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!!



  4. Default Re: Agile In Action



    bill turner wrote:

    > I have seen little requirement for this knowledge. In fact, a quick search on
    > DICE would demonstrate that it has not been as widely adapted as some seem
    > to think. If fact, it seems only a small percentage of shops have adopted these
    > practices.


    That's very possible. Since I make an extra effort to work on agile
    projects, I am very likely to think they are more pervasive than they
    really are!

    > Why wouldn't it be possible? I don't see it. Nothing you have
    > described precludes the ability of an RE from identifying the three
    > types of ****ysis you describe. In fact, I would say it would be an RE


    Good question. Here's my attempt at an answer: From my point of view,
    the problem is one of time and perspective. For any requirement, one
    can always ask "Is there anything more? Anything different? Anything
    you haven't thought of?" as a generic question. One doesn't even need
    an RE. One could write a computer program that responds that way to any
    requirement that you input into it. In fact, it is something I try to
    do, both in the software world and when I am leaving on a trip! I
    suspect that in many cases the user would simply say "As far as I know
    right now, no." I've had quite a lot of experience eliciting
    requirements, and I have often witnessed the scenario where I ask
    repeatedly whether a particular difficult feature will ever be needed
    and repeatedly get the answer "no" only to see the feature pop up
    later. Sometime's it's exactly the feature I asked about, and sometimes
    there's a spin on it that would be difficult for anyone without
    extremely deep knowledge and foresight to come up with. Anyhow, my
    point is this: All of the stories we develop on our project go through
    a review committee of subject experts before reaching the developers,
    and yet it is often the case that stories are modified as in my example
    during development. In my opinion (and it's just an opinion), one
    cannot think of every possible angle on a story, and furthermore,
    trying to do so is probably not a good idea (because the amount of time
    and effort it takes to get there is prohibitive). When you're dealing
    with a real, complex, application, the number of combinations gets
    large, and it becomes almost impossible to cover things ahead of time.
    If one thing is not missed, then something else will be. It reminds me
    of diagonalization, where you can always add another infinitely long
    binary string to the list, but then you look anew at the diagnonal, and
    the complement is still not in the list, ad infinitum. Hence the set of
    all infinitely long binary strings is uncountable.

    In software, I believe there is this principle at work: For every new
    requirement, there will always be a number of things that are vague,
    can be interpreted in a several ways, or may not be considered until
    the story is in development, or even afterward.

    My point was to try to show how three people worked together to satisfy
    a requirement. I introduced a requirement that had been missed because
    it was not a common case and because our experts only have so much time
    to develop stories. The GUI expert had some additional input that
    neither I nor the customers had thought of. There is a natural
    temptation to think that some more skillful forethought could have
    achieved the same result. Personally, I don't think so, at least not in
    most cases. It would be interesting to do some experiments with
    requirement gathering to see how good up-front elicitation of
    requirements really is.



    > who failed to ask the appropriate defining questions. As for the UI
    > design, that too is completely doable. Whether or not people thought
    > creatively has little to do with the methodology used. In fact, I
    > would posit that quick drawings on paper or whiteboard could elicit
    > exactly the same response, then it could be formally defined in a
    > document.





    > Your conclusion, it seems to me, seems unwarranted.
    >
    > <snip description of experience>
    >
    >
    > Bill
    > ------------------------------------------
    > Bill Turner
    >
    > A faith that the free play of market forces will eventually end in Good is, in fact, more 'absurd' than religious belief, for there, at least, there is a presumption of an intelligent Agent Who writes straight with His crooked lines. - William Pfaff
    >
    >
    > Views expressed are entirely my own and only coincidentally represent those of other persons or entities.



  5. Default Re: Agile In Action

    Phlip wrote:
    > Welcome to USENET, Vlad! Your report of specific first-hand experiences gets
    > snipped in favor of idle gainsaying.


    I think you might be ready for a break from usenet Seriously though:
    First of all, I don't expect people to just fall over in recognition of
    how right I am. I want people to ask questions and disagree. As long as
    we can all do so in a respectful way, then we're all learning. I didn't
    see anything in Bill's reply that struck me as gainsaying. His way of
    looking at things is very natural. I had a long debate about this
    subject with a student in one of my youth software courses. At 14, he
    was convinced that rigorous ****ysis was the way to go. I don't think
    even the bugs that he was constantly chasing in his project really
    disuaded him from his point of view! Anyway, he's a very bright kid and
    we had good discussions. Second: If there are people who's motivations
    really are malicious, to discredit what I'm saying just for the heck of
    it or out of some kind of deep-seated hatred of agile methodologies,
    fine. All I can do is hope that people will largely take any postings I
    make in the spirit that I intended: To share my experiences, help other
    people in the software world, and also learn myself from responses.


  6. Default Re: Agile In Action

    Vladimir Levin wrote:
    > bill turner wrote:

    -snip-
    > > Why wouldn't it be possible? I don't see it. Nothing you have
    > > described precludes the ability of an RE from identifying the three
    > > types of ****ysis you describe. In fact, I would say it would be an RE

    >
    > Good question. Here's my attempt at an answer: From my point of view,
    > the problem is one of time and perspective. For any requirement, one
    > can always ask "Is there anything more? Anything different? Anything
    > you haven't thought of?" as a generic question.


    afaict Your realization that there could be a third case which the
    story didn't cover isn't necessarily linked to implementing the story,
    but is necessarily linked to carefully reviewing the story and having
    other domain knowledge.

    A N Other person may just have gone ahead and implemented A & E.


    (But now I'm curious - are the averaged ge factors possibly averaged
    from both A and E ge factors, or just from ****ysis; does the
    additional category make any difference in how the information is
    interpreted or is the useful distinction between a ge factor derived
    directly from ****ysis and a ge factor from some other source?)


  7. Default Re: Agile In Action


    Isaac Gouy wrote:
    > A N Other person may just have gone ahead and implemented A & E.


    That's a good point. In the end, that's effectively what happened,
    since for "C" that's the only information we provide - just that it's
    calculated.

    > (But now I'm curious - are the averaged ge factors possibly averaged
    > from both A and E ge factors, or just from ****ysis; does the
    > additional category make any difference in how the information is
    > interpreted or is the useful distinction between a ge factor derived
    > directly from ****ysis and a ge factor from some other source?)


    I'm not sure. I think the reality is that the average could indeed come
    from both A and E ge factors. For any given measurement, it comes down
    to how much information is available. Sometimes there's a useful
    ****ysis and sometimes there isn't. As far as I know, the users don't
    care about the distinction you refer to - yet. One thing I've found
    about the kind of project I am currently on, where we have more than 10
    full-time subject matter experts preparing requirements, is that they
    often don't agree about such matters. Some of them don't even seem to
    care about providing the context information "A", "E" and "C". Others
    think it's important to show the distinction in the app.


  8. Default Re: Agile In Action

    Vladimir Levin wrote:

    > ... I had a long debate about this
    > subject with a student in one of my youth software courses. At 14, he
    > was convinced that rigorous ****ysis was the way to go. I don't think
    > even the bugs that he was constantly chasing in his project really
    > disuaded him from his point of view!


    I ... don't think I need to defend you much. ;-)

    --
    Phlip
    http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!!



  9. Default Re: Agile In Action


    Vladimir Levin wrote:
    > Isaac Gouy wrote:
    > > A N Other person may just have gone ahead and implemented A & E.

    >
    > That's a good point. In the end, that's effectively what happened,
    > since for "C" that's the only information we provide - just that it's
    > calculated.
    >
    > > (But now I'm curious - are the averaged ge factors possibly averaged
    > > from both A and E ge factors, or just from ****ysis; does the
    > > additional category make any difference in how the information is
    > > interpreted or is the useful distinction between a ge factor derived
    > > directly from ****ysis and a ge factor from some other source?)

    >
    > I'm not sure. I think the reality is that the average could indeed come
    > from both A and E ge factors. For any given measurement, it comes down
    > to how much information is available. Sometimes there's a useful
    > ****ysis and sometimes there isn't. As far as I know, the users don't
    > care about the distinction you refer to - yet. One thing I've found
    > about the kind of project I am currently on, where we have more than 10
    > full-time subject matter experts preparing requirements, is that they
    > often don't agree about such matters. Some of them don't even seem to
    > care about providing the context information "A", "E" and "C". Others
    > think it's important to show the distinction in the app.


    And that's ordinary - we can do a superset, we can make an arbitrary
    choice between them, we can appoint one of the to be /the/ customer, we
    can ask them to justify their opinion, we can weight each feature with
    an opportunity cost (you can have X or Y - choose).

    The way I heard your story, there was something a little strange - it
    sounded like as part of implementing something we'd added another
    feature which might or might not be useful. iirc That's one of the
    criticisms made of up front requirements.


  10. Default Re: Agile In Action

    bill turner wrote:

    > In fact, a quick search on DICE would demonstrate that it has not been
    > as widely adapted as some seem to think.


    I just heard, on KFOG in San Francisco, an advertisement requesting resumes
    for "Agile" IT personnel. Note that ain't CraigsList. A radio advertisement
    is an expensive, high-end investment, on the same level as, say, beer or
    cars.

    (The quality of search engine may also be a factor.

    They plugged this:

    http://www.solutionsiq.com/agile_dev_services.html

    Of course one always has to work to detect the difference between buzz-word
    compliance and "getting it", but I doubt the Bay Area will have much problem
    with that.

    From the page (for anyone claiming there's no statistics available for such
    things):

    KEY BENEFITS OF AGILE:
    Agile development results in reduced time, costs and solid ROI according to
    ****ysis from Forrester Consulting, 2004 and Agile Methodologies Survey
    Results, Shine Technologies Pty Ltd, 2003

    57% reduction in costs compared to other IT solutions for similar complex
    projects.

    62% reduction in effort compared to alternatives, including in-house
    development and previously employed consultants.

    80% reduction in critical defects

    60% reduction in overall defects

    93% stated productivity was better / significantly better

    88% stated that quality was better / significantly better

    83% stated that business satisfaction was better / significantly better

    --
    110% Phlip
    http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!!



+ Reply to Thread
Page 1 of 17 1 2 3 11 ... LastLast

Similar Threads

  1. agile
    By Application Development in forum Software-Testing
    Replies: 1
    Last Post: 08-26-2007, 04:39 PM
  2. Is RUP agile?
    By Application Development in forum Object
    Replies: 6
    Last Post: 06-08-2007, 10:13 PM
  3. October Agile Journal - managing agile projects
    By Application Development in forum Object
    Replies: 0
    Last Post: 10-10-2006, 11:23 PM
  4. Managing agile projects featured in October Agile Journal
    By Application Development in forum Software-Eng
    Replies: 0
    Last Post: 10-10-2006, 11:21 PM
  5. October Agile Journal - managing agile projects
    By Application Development in forum Software-Testing
    Replies: 0
    Last Post: 10-10-2006, 11:16 PM