SlideShare a Scribd company logo
1 of 21
Download to read offline
Joint Application
  Development (JAD)
  Sessions: Requirements
  Elicitation
The “Move to Agile” According to Dilbert




                                           2
Joint Application Development
Wikipedia says:

Joint application design (JAD) is a process used in the
  prototyping life cycle area of the Dynamic Systems
  Development Method (DSDM) to collect business
  requirements while developing new information
  systems for a company. "The JAD process also includes
  approaches for enhancing user participation, expediting
  development, and improving the quality of
  specifications."




                                                            3
Requirements Elicitation
Wikipedia says:
requirements elicitation is the practice of obtaining the
  requirements of a system from users, customers and
  other stakeholders.




                                                            4
Where and When Does This Process Occur?




                                          5
What is a User Story

• A user story describes a small piece of system
  functionality, in a simple and easy to read sentence.
• A well written user story will describe what the
  desired functionality is, who it is for, and why it is
  useful.
• There are 3 parts to a fully fleshed out user story.
• If you like marketing-speak, then you can call them
  the “3 C’s”:
   – The Card
   – The Conversation
   – The Confirmation
The Card
           • A typical user story follows
             one of these templates:
              – “As a [user], I want [function],
                so that [value]”
              – “As a [Noun], I want [Verb], so
                that [Business Goal]”
           • We refer to this as “The
             Card” because often they are
             written on 3x5 bits of plain
             card, usually to give a
             physical constraint which
             limits the possible length of
             the story.
An Example from the Real World:

• Here’s a few hypothetical examples written for
  YouTube. I’ve defined a “Creator” as someone
  who contributes videos to the site, and “User”
  as someone who just watches them:

                   • As a Creator, I want to upload a video
                     so that any users can have access to
                     my videos 24/7.
                   • As a User, I want to search for videos
                     by keywords so that I can find videos
                     that are relevant to my search
                     criteria.
The Conversation
• Think of the conversation as an open dialogue
  between everyone working on the project, the
  clients, and or the Stakeholders.
  – Anyone can
     • Raise questions
     • Ask for things to be clarified
  – The answers should be recorded down as bullet points on
    the card for later reference
  – It is also a stage where you can reevaluate your user
    story
  – Possibly split it into multiple stories if required
  – This is not to be taken Personally
Conversation Example 1
• For example, we discuss the creator upload user story, and
  decide that there are actually multiple things that can
  happen, so we split them, and expand on them:
   – As a Creator, I want to upload a video from my local machine so
     that any users can view it.
• Examples of requirements from the User Story
   – The “Upload” button shall be a persistent item on every page
     of the site.
   – <BR> Videos must not be larger than 100MB, or more than 10
     minutes long.
   – <BR> File formats must be .flv, .mov, .mp4, .avi, and .mpg.
   – Upload progress shall be shown in real time.
Conversation Example 2
• As a Creator, I want to edit the video’s metadata while
  a video is uploading, to save myself time.
• Examples of requirements from the User Story
   – The system shall have editable fields that include Video
     Name, description, tags, and privacy settings.
   – Once saved, the system shall take the user to their
     video’s dedicated page.
The Confirmation
• The confirmation is basically just a test case.
   – A test case is a series of steps that a user must do to
     achieve the User Story.
   – A test plan is a collection of test cases.
   – With full coverage of your system in your test plans, you
     can easily test every core piece of functionality and tick
     them off as you go through them.
Confirmation Example
• A test case for our YouTube example might look like
  this:
   – As a Creator, I want to upload a video from my local
     machine so that any users can view it.
      1. Click the “Upload” button.
      2. Specify a video file to upload.
          1. Check that .flv, .mov, .mp4, .avi, and .mpg extensions are
              supported.
          2. Check that other filetypes aren’t able to be uploaded.
          3. Check that files larger than 100MB results in an error.
          4. Check that movies longer than 10 mins result in an error.
      3. Click “Upload Video”.
      4. Check that progress is displayed in real time.
An Example from Our Real World:
 The Role:
 As a: Systems Administrator

 The Action:
 I want to:
 configure the message that will be displayed when posting
 attendance is restricted by Last earned date


 The Goal/Benefit Achieved by the Action:
 So that…(Benefit):
 Instructors/Registrar can be alerted as to which faculty
 member/department needs to be notified when attendance posting
 may be rejected if they attempt to post attendance for a date that is
 prior to the day after the last earned date, instead of a generic
 message.
How do I know I’ve Met my Goal/Benefit?


As the customer, how will I be able to test / or accept that the
feature goal / benefit has been met?

      The Confirmation:
      Log in as system administrator and turn on the option that
      attendance cannot be posted before or equal to last earned
      date.
      Configure a message to be seen if an instructor/registrar
      attempts to post attendance prior to or equal to the last earned
      date
      Log in as instructor/registrar
      Attempt to enter attendance for a date prior to or equal to last
      earned date
      The message that was configured should be displayed.




                                                                          15
Requirements Elicitation to include Non-Functional
Requirements




                                                     16
Invest in your User Story


It stands for all the things a good user story should be:

                I             • Independent

               N              • Negotiable

               V              • Valuable

               E              • Estimable

               S              • Small

               T              • Testable
User Stories in Action at CMC…




                                 18
Collaboratively Capturing our User Stories Using SharePoint
Where & When Does this Process Occur?




                                        20
Questions & Answers




                      21

More Related Content

Viewers also liked

Software Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & AgileSoftware Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & AgileFakrudin Abu Bakar
 
Joint application development(jad) 97version
Joint application development(jad) 97versionJoint application development(jad) 97version
Joint application development(jad) 97versiontigneb
 
System and User Documentation
System and User DocumentationSystem and User Documentation
System and User Documentationteamdozers
 
JAD - Joint Application Development
JAD - Joint Application DevelopmentJAD - Joint Application Development
JAD - Joint Application DevelopmentJohn Crosby
 
Lightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachLightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachStephen Ritchie
 
Dynamic system development method
Dynamic system development methodDynamic system development method
Dynamic system development methodNisak Ahamed
 
JAD Workshops
JAD WorkshopsJAD Workshops
JAD Workshopshapy
 
User Story Mapping Daug 09062009
User Story Mapping Daug 09062009User Story Mapping Daug 09062009
User Story Mapping Daug 09062009Mads Troels Hansen
 
Agile Requirements - Journey of a User Story
Agile Requirements - Journey of a User StoryAgile Requirements - Journey of a User Story
Agile Requirements - Journey of a User StoryCara Turner
 
Agile inception v1.1
Agile inception v1.1Agile inception v1.1
Agile inception v1.1Håkan Kleijn
 
Agile Requirements Writing
Agile Requirements WritingAgile Requirements Writing
Agile Requirements WritingBernhard Kappe
 
Presentation for Software Development Methologies
Presentation for Software Development MethologiesPresentation for Software Development Methologies
Presentation for Software Development MethologiesPriyankaPimparkar
 
Agile requirements management
Agile requirements managementAgile requirements management
Agile requirements managementChristian Hassa
 
DSDM (Dynamic System Development Method)
DSDM (Dynamic System Development Method)DSDM (Dynamic System Development Method)
DSDM (Dynamic System Development Method)urumisama
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesOnur Demir
 
Implementing agile iterative project delivery approach and achieving business...
Implementing agile iterative project delivery approach and achieving business...Implementing agile iterative project delivery approach and achieving business...
Implementing agile iterative project delivery approach and achieving business...Alan McSweeney
 

Viewers also liked (20)

Software Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & AgileSoftware Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & Agile
 
Joint application development(jad) 97version
Joint application development(jad) 97versionJoint application development(jad) 97version
Joint application development(jad) 97version
 
System and User Documentation
System and User DocumentationSystem and User Documentation
System and User Documentation
 
Case tools
Case toolsCase tools
Case tools
 
JAD - Joint Application Development
JAD - Joint Application DevelopmentJAD - Joint Application Development
JAD - Joint Application Development
 
Lightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachLightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile Approach
 
Dynamic system development method
Dynamic system development methodDynamic system development method
Dynamic system development method
 
JAD Workshops
JAD WorkshopsJAD Workshops
JAD Workshops
 
User Story Mapping Daug 09062009
User Story Mapping Daug 09062009User Story Mapping Daug 09062009
User Story Mapping Daug 09062009
 
Qfd
QfdQfd
Qfd
 
Agile Requirements - Journey of a User Story
Agile Requirements - Journey of a User StoryAgile Requirements - Journey of a User Story
Agile Requirements - Journey of a User Story
 
Agile inception v1.1
Agile inception v1.1Agile inception v1.1
Agile inception v1.1
 
Agile Requirements Writing
Agile Requirements WritingAgile Requirements Writing
Agile Requirements Writing
 
Presentation for Software Development Methologies
Presentation for Software Development MethologiesPresentation for Software Development Methologies
Presentation for Software Development Methologies
 
Agile requirements management
Agile requirements managementAgile requirements management
Agile requirements management
 
DSDM (Dynamic System Development Method)
DSDM (Dynamic System Development Method)DSDM (Dynamic System Development Method)
DSDM (Dynamic System Development Method)
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering Techniques
 
DSDM® AgilePF® - Agile Project Framework - Foundation
DSDM® AgilePF® - Agile Project Framework - FoundationDSDM® AgilePF® - Agile Project Framework - Foundation
DSDM® AgilePF® - Agile Project Framework - Foundation
 
Implementing agile iterative project delivery approach and achieving business...
Implementing agile iterative project delivery approach and achieving business...Implementing agile iterative project delivery approach and achieving business...
Implementing agile iterative project delivery approach and achieving business...
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 

Similar to Agile: JAD Requirements Elicitation

User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User StoryXPDays
 
software construction and development pptx
software construction and development pptxsoftware construction and development pptx
software construction and development pptxAdilIqbalAdil
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013Stefano Leli
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
 
Agile gathering + guidelines stories
Agile gathering + guidelines storiesAgile gathering + guidelines stories
Agile gathering + guidelines storiesfungfung Chen
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 

Similar to Agile: JAD Requirements Elicitation (20)

User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
software construction and development pptx
software construction and development pptxsoftware construction and development pptx
software construction and development pptx
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
User stories
User storiesUser stories
User stories
 
Story of user story
Story of user storyStory of user story
Story of user story
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
Defining tasks for User Stories
Defining tasks for User StoriesDefining tasks for User Stories
Defining tasks for User Stories
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
Agile gathering + guidelines stories
Agile gathering + guidelines storiesAgile gathering + guidelines stories
Agile gathering + guidelines stories
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
One day Course On Agile
One day Course On AgileOne day Course On Agile
One day Course On Agile
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Agile: JAD Requirements Elicitation

  • 1. Joint Application Development (JAD) Sessions: Requirements Elicitation
  • 2. The “Move to Agile” According to Dilbert 2
  • 3. Joint Application Development Wikipedia says: Joint application design (JAD) is a process used in the prototyping life cycle area of the Dynamic Systems Development Method (DSDM) to collect business requirements while developing new information systems for a company. "The JAD process also includes approaches for enhancing user participation, expediting development, and improving the quality of specifications." 3
  • 4. Requirements Elicitation Wikipedia says: requirements elicitation is the practice of obtaining the requirements of a system from users, customers and other stakeholders. 4
  • 5. Where and When Does This Process Occur? 5
  • 6. What is a User Story • A user story describes a small piece of system functionality, in a simple and easy to read sentence. • A well written user story will describe what the desired functionality is, who it is for, and why it is useful. • There are 3 parts to a fully fleshed out user story. • If you like marketing-speak, then you can call them the “3 C’s”: – The Card – The Conversation – The Confirmation
  • 7. The Card • A typical user story follows one of these templates: – “As a [user], I want [function], so that [value]” – “As a [Noun], I want [Verb], so that [Business Goal]” • We refer to this as “The Card” because often they are written on 3x5 bits of plain card, usually to give a physical constraint which limits the possible length of the story.
  • 8. An Example from the Real World: • Here’s a few hypothetical examples written for YouTube. I’ve defined a “Creator” as someone who contributes videos to the site, and “User” as someone who just watches them: • As a Creator, I want to upload a video so that any users can have access to my videos 24/7. • As a User, I want to search for videos by keywords so that I can find videos that are relevant to my search criteria.
  • 9. The Conversation • Think of the conversation as an open dialogue between everyone working on the project, the clients, and or the Stakeholders. – Anyone can • Raise questions • Ask for things to be clarified – The answers should be recorded down as bullet points on the card for later reference – It is also a stage where you can reevaluate your user story – Possibly split it into multiple stories if required – This is not to be taken Personally
  • 10. Conversation Example 1 • For example, we discuss the creator upload user story, and decide that there are actually multiple things that can happen, so we split them, and expand on them: – As a Creator, I want to upload a video from my local machine so that any users can view it. • Examples of requirements from the User Story – The “Upload” button shall be a persistent item on every page of the site. – <BR> Videos must not be larger than 100MB, or more than 10 minutes long. – <BR> File formats must be .flv, .mov, .mp4, .avi, and .mpg. – Upload progress shall be shown in real time.
  • 11. Conversation Example 2 • As a Creator, I want to edit the video’s metadata while a video is uploading, to save myself time. • Examples of requirements from the User Story – The system shall have editable fields that include Video Name, description, tags, and privacy settings. – Once saved, the system shall take the user to their video’s dedicated page.
  • 12. The Confirmation • The confirmation is basically just a test case. – A test case is a series of steps that a user must do to achieve the User Story. – A test plan is a collection of test cases. – With full coverage of your system in your test plans, you can easily test every core piece of functionality and tick them off as you go through them.
  • 13. Confirmation Example • A test case for our YouTube example might look like this: – As a Creator, I want to upload a video from my local machine so that any users can view it. 1. Click the “Upload” button. 2. Specify a video file to upload. 1. Check that .flv, .mov, .mp4, .avi, and .mpg extensions are supported. 2. Check that other filetypes aren’t able to be uploaded. 3. Check that files larger than 100MB results in an error. 4. Check that movies longer than 10 mins result in an error. 3. Click “Upload Video”. 4. Check that progress is displayed in real time.
  • 14. An Example from Our Real World: The Role: As a: Systems Administrator The Action: I want to: configure the message that will be displayed when posting attendance is restricted by Last earned date The Goal/Benefit Achieved by the Action: So that…(Benefit): Instructors/Registrar can be alerted as to which faculty member/department needs to be notified when attendance posting may be rejected if they attempt to post attendance for a date that is prior to the day after the last earned date, instead of a generic message.
  • 15. How do I know I’ve Met my Goal/Benefit? As the customer, how will I be able to test / or accept that the feature goal / benefit has been met? The Confirmation: Log in as system administrator and turn on the option that attendance cannot be posted before or equal to last earned date. Configure a message to be seen if an instructor/registrar attempts to post attendance prior to or equal to the last earned date Log in as instructor/registrar Attempt to enter attendance for a date prior to or equal to last earned date The message that was configured should be displayed. 15
  • 16. Requirements Elicitation to include Non-Functional Requirements 16
  • 17. Invest in your User Story It stands for all the things a good user story should be: I • Independent N • Negotiable V • Valuable E • Estimable S • Small T • Testable
  • 18. User Stories in Action at CMC… 18
  • 19. Collaboratively Capturing our User Stories Using SharePoint
  • 20. Where & When Does this Process Occur? 20