Ask a questionAsk a question
 

AnswerScenario - Help with detail level

  • Monday, June 12, 2006 1:15 PMCraig Mellon Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I'm just starting a new project and we are using Team System to manage the project.

     

    We are at the stage of building our scenario list, however I'm struggling to decide how large a scenario should be.  For example, for our first version of the software the following items have been asked for:

    1. Survey Flow Designer
      Ability for the business expert to develop a flow of questions (using any of the following questions:  Yes/No Question, Single Select List Question etc....)  The survey designer should allow the user to drag and drop question types from a toolbox, set properties for a newly added question and finally connect the questions together.  The survey should also be able to validate itself, and indicate whether all paths of the survey flow can be followed (i.e. no dead ends)
      The survey flow designer also needs to save the question definition to a file so that it can be consumed by the PDA survey software.
    2. Survey Section responses on PDA
      The first version should allow a surveyor/business expert to complete a section of the audit.  The section will come from the survey flow designer.  All question types avilable in the flow designer should be implemented and available in the first version.

    The part I am struggling with is the scenarios, how low or high level do they need to be?  Do I have one scenario for Creating a Survey Definition, which is then split to smaller scenarios such as:

    • Create Audit Definition Version
    • Add New Survey Section Group
    • Add New Survey Section
    • Add Question To Survey
      • Add New Yes/No Question
      • Add New Preset List Question
      • Add New Photo Question
      • ...Continued with other quesiton types
    • Create link between two questions
    • Validate the section question flow

    Are the above scenario titles too low level for a scenario?

    Any help with this would be great, as I keep hitting a brick wall.

     

Answers

  • Tuesday, June 13, 2006 9:40 PMClementino MendoncaModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Given the definition of a scenario according to MSF for Agile Software Development:

    "A scenario is a type of work item, recording a single path of user interaction through the system. As the persona attempts to reach a goal, the scenario records the specific steps that they will take in attempting to reach that goal. Some scenarios will record a successful path; others will record an unsuccessful one. When writing scenarios, be specific as there are many possible paths."

    I would say that they are not at a too low level at all. In fact, you might even have to go a lower level of detail depending on what the execution path is. The idea here is to "get specific early".

    Also, make sure you have read about how personas interact with scenarios here.

     

All Replies

  • Tuesday, June 13, 2006 9:40 PMClementino MendoncaModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Given the definition of a scenario according to MSF for Agile Software Development:

    "A scenario is a type of work item, recording a single path of user interaction through the system. As the persona attempts to reach a goal, the scenario records the specific steps that they will take in attempting to reach that goal. Some scenarios will record a successful path; others will record an unsuccessful one. When writing scenarios, be specific as there are many possible paths."

    I would say that they are not at a too low level at all. In fact, you might even have to go a lower level of detail depending on what the execution path is. The idea here is to "get specific early".

    Also, make sure you have read about how personas interact with scenarios here.

     

  • Wednesday, June 14, 2006 4:24 PMAlex Luetjen Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi Craig,

    >> Are the above scenario titles too low level for a scenario?

    Use cases and I think as well scenarios should focus on the goal a persona wants to reach to get benefit from it. So personally I pay attention not to describe the functionality to be built but the expectation a user has against the system's results. This is because all the agile approach or e.g. the reports showing the backlog etc. are based on end-user value generated, not on single functions that have been built but still don't give any benefit to the end-user.

    So in your example maybe I would change the "section" scenarios to: "Separate questions by topics". Describe more in detail how this separation should look like. As from end user point of view it is not clear to me what different benefit a "Section" and "Section Group" will get me. So I would create one scenario for both and describe that I want to add somoething like group 1, group 2. Maybe.

    Also with "Create link between two questions" it is not clear what you want to achive (at least to me). Is it some scenario like "Hide set of questions depending on previous answer"?

    I also miss some more convenient ways to define scenarios with sub scenarios as you wrote at your "Add controls" scenarios. I would create these scenarios like you did but you end up with some nice flat unstructured list....

    Any comments about those thoughts are really welcome as I am also just drilling down into these topics as well.

    Regards, Alex

  • Wednesday, June 14, 2006 8:06 PMCraig Mellon Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi All,

     

    Thanks for the replies.

    Alex: 

    I'm glad you brought up the "Create link between two questions" as I was wondering about that one myself.  What I was trying to describe there was when a user would draw a link between two questions.  The software I'm developing will allow a user to draw a flow chart of questions, and the action i was trying to capture there was the actual drawing of the link, like when the user answers yes to a yes/no question link to question 2.

    I keep thinking to myself whether the create link between two questions should just be a step in the Create questions scenario? or is there enought detail in creating a link that warrants a scenario for itself.

    The "Create link between two questions" also varies depending on the question your linking from.  For example if its a yes/no question then there are two points you can link out from.  I'm also thinking that I should create a new scenario for every variation of link? 

    When I was writing the scenerios for section group and section I was writing them on the assumption the user would be starting with a blank survey.  Sections have to be created before the questions are created as a question has to be part of a section.  The section groups was just describing how the user can group sections together.

     

    Thanks again for the posts, its really helping me think about this in different ways.

     

  • Friday, June 16, 2006 3:14 PMAlex Luetjen Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi Craig,

    please appologize if I write strange things about scenarios ;). Simply as I don't know at all your requirements I am guessing quite a lot :))). Never the less, I keep on guessing as that topic is really interesting to me, too.

     Craig Mellon wrote:

    I keep thinking to myself whether the create link between two questions should just be a step in the Create questions scenario? or is there enought detail in creating a link that warrants a scenario for itself.

    As you wrote the thing "Creating link" is about putting questions in a flow. So first, making it more clear I would simply call the scenario "Define flow of questions". Now it makes much more sense from the end-user point of view: "Aha, I can create a survey, I can add questions, I can put questions in a specific flow. Fine.".

    I would keep this as a seprate scenarios simply because it seems to be quite a complex thing. Furthermore, these both scenarios do not depend on eachother necessarily e.g. I can change the flow of an existing survey.

     Craig Mellon wrote:

    The "Create link between two questions" also varies depending on the question your linking from.  For example if its a yes/no question then there are two points you can link out from.  I'm also thinking that I should create a new scenario for every variation of link? 

    That depends on how much variation and therefore complexity you have. Check out the MSF guidance on what they recommend about scenario complexity:

    This is from "Estimate scenario" description:

  • Work with the developers to do a rough order of magnitude estimate (ROM) of the complexity of each scenario. Many projects can use the following heuristic. If the work item requires a half dozen or less 1-2 day development tasks to implement, choose 1. If the work item requires between a half dozen and a dozen 1-2 day development tasks to implement, choose 2. If it is larger than this, choose 3 and consider splitting the scenario. It is important to keep the rough order of magnitude estimates relative. That is, a scenario with a rough order of magnitude of 2 should be approximately twice as big as another with a ROM of 1.
  • Use a rough order of magnitude of 0 for trivial scenarios. Group together these smaller work items until they are big enough to be a 1.
  • If further elaboration is necessary, work with the business analyst and the developers to add more detail to the scenario. Revise the rough order of magnitude estimate if needed. of a section.  The section groups was just describing how the user can group sections together.
  • But really the nice thing about agile is that one don't need to find "THE" solution and requirements description from the start. As you go on to devide sceanrios into tasks and get feedback from end-users, you will automatically notice: "Oooops, I am just going to create 20 tasks for that single sceanrio....maybe let's split it" or the users says "Hey, and where is that piece of functionality"...ok, let's get more detailed.

    Regards, Alex