Your SlideShare is downloading. ×
Continuous and Collaborative Validation Rosalva E. Gallardo-Valencia and Susan Elliott Sim A Field Study of Requirements K...
<ul><li>Traditional definitions of Requirements Validation do not fit agile practices. </li></ul><ul><li>We performed a fi...
What is Requirements Validation? <ul><li>Requirements Validation has been defined as: </li></ul><ul><ul><ul><li>“ The proc...
Research Question <ul><li>How do agile projects perform validation without comprehensive documentation, and up-front requi...
Field Study - Method <ul><li>Used qualitative research methods to collect and analyze the data.  </li></ul><ul><li>Observe...
Field Site - Easy Retirement <ul><li>Internet-based 401k service provider. </li></ul><ul><li>Main product: Web application...
Written and Live Requirements Knowledge
Requirements Knowledge in Agile – Pre-Iteration Business People Scrum Master Product Owner Programmers Testers C |EMCV US ...
Requirements Knowledge in Agile – Iteration Planning Business People Scrum Master Product Owner Programmers Testers C |EMC...
Requirements Knowledge in Agile – Intra-Iteration Business People Scrum Master Product Owner Programmers Testers C |EMCV U...
Agile Validation is Continuous <ul><li>Validation takes place before and during each iteration. </li></ul>Written and live...
Agile Validation is Continuous <ul><li>Within an iteration, user stories are validated individually. </li></ul><ul><ul><li...
Agile Validation is Collaborative <ul><li>Every member of the development team is responsible for validation. </li></ul><u...
Implications <ul><li>For practitioners of agile </li></ul><ul><ul><li>Think about test cases and acceptance criteria durin...
Future Work <ul><li>Analyze interview data from two other field sites. </li></ul><ul><li>Compare and contrast requirements...
<ul><li>Traditional definitions of Requirements Validation do not fit agile practices. </li></ul><ul><li>We performed a fi...
Questions? Thanks
Upcoming SlideShare
Loading in...5
×

13 Continuous and Collaborative Validation: A Field Study of Requirements Knowledge in Agile

1,044

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,044
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • User Stories User Story Checklist High Level Test Cases Unit Test Cases Code Acceptance Test Cases Conversations
  • Transcript of "13 Continuous and Collaborative Validation: A Field Study of Requirements Knowledge in Agile"

    1. 1. Continuous and Collaborative Validation Rosalva E. Gallardo-Valencia and Susan Elliott Sim A Field Study of Requirements Knowledge in Agile University of California, Irvine MARK’09 - Second International Workshop on Managing Requirements Knowledge
    2. 2. <ul><li>Traditional definitions of Requirements Validation do not fit agile practices. </li></ul><ul><li>We performed a field site to study Agile Validation of written and live Requirements Knowledge. </li></ul><ul><li>How is Agile Validation of Requirements Knowledge performed? </li></ul><ul><ul><li>It is done mainly through conversations around user stories, checklists, and test cases. </li></ul></ul><ul><ul><li>It is done before the iteration starts and during each iteration. </li></ul></ul><ul><ul><li>It is done in the context of each user story. </li></ul></ul><ul><ul><li>It is done by all team members. </li></ul></ul>Summary
    3. 3. What is Requirements Validation? <ul><li>Requirements Validation has been defined as: </li></ul><ul><ul><ul><li>“ The process of evaluating software at the end of the software development process to ensure compliance with software requirements.” (Boehm, 1984) </li></ul></ul></ul><ul><li>This traditional definition works for projects where: </li></ul><ul><ul><li>There is one main release on the project </li></ul></ul><ul><ul><li>Requirements are gathered up-front and stored in a specification document </li></ul></ul><ul><li>These characteristics are not common in agile projects. But, requirements validation must still be done in some non-traditional way to meet customer needs. </li></ul>
    4. 4. Research Question <ul><li>How do agile projects perform validation without comprehensive documentation, and up-front requirements? </li></ul>
    5. 5. Field Study - Method <ul><li>Used qualitative research methods to collect and analyze the data. </li></ul><ul><li>Observed an agile team at work for two days. </li></ul><ul><ul><li>Including daily stand-up meeting and Sprint Planning Meeting. </li></ul></ul><ul><ul><li>We also collected software artifacts. </li></ul></ul><ul><li>Conducted 6 semi-structured interviews that lasted between 30-68 minutes. </li></ul>
    6. 6. Field Site - Easy Retirement <ul><li>Internet-based 401k service provider. </li></ul><ul><li>Main product: Web application that allows individuals to manage their own retirement investment plans. </li></ul><ul><li>Software team: 1 Scrum Master, 1 Product Owner, 1 Technical manager, 7 programmers and testers. </li></ul><ul><li>Agile methods used: Scrum, daily stand-up meeting, user stories, continuous integration, on-site customer, and automated acceptance testing. </li></ul>
    7. 7. Written and Live Requirements Knowledge
    8. 8. Requirements Knowledge in Agile – Pre-Iteration Business People Scrum Master Product Owner Programmers Testers C |EMCV US = User Story 1.1 Request functionality - |E-C- 1.2 Talk about functionality C |E-C- 1.3 Present requested functionality C |--C- 1.4 Ask questions and identify sw pieces C |-MCV Brainstorming Meeting 1.5 Ask for estimation of US C |-M-- Iteration Prioritization Meeting 1.6 Ask for priority of US C |EM-- 1.7 Ask for details and satisfaction conditions C |E-CV US Checklists 1.8 Fill out - |-M-- 1.9 Ask questions, if needed C |E-CV
    9. 9. Requirements Knowledge in Agile – Iteration Planning Business People Scrum Master Product Owner Programmers Testers C |EMCV Iteration Planning Meeting US = User Story 2.3 Ask questions to determine tasks C |-MCV - |-MC- USs 2.2 Create 2.1 Explain USs C |--C- C |-MCV 2.4 Coordinate tasks and test cases needed -|-MC- Task Cards 2.5 Create Test Cards 2.5 Create
    10. 10. Requirements Knowledge in Agile – Intra-Iteration Business People Scrum Master Product Owner Programmers Testers C |EMCV US = User Story C |-MCV 3.2 Ask questions about functionality - |-MC- High Level Test Cases 3.1 Write C |E-CV 3.3 Ask questions, if needed 3.4 Update - |-MC- - |-MC- Acceptance Test Cases 3.5 Write C |-MCV 3.6 Ask questions about functionality C |E-CV 3.7 Ask questions, if needed 3.8 Ask for background info about functionality C |--C- - |--C- High Level Test Cases 3.9 Read C |E-CV 3.11 Ask questions, if needed C |-MCV 3.10 Ask questions about functionality - |---- Unit Test Cases 3.12 Write - |---- Code 3.13 Write - |---V Acceptance Test Cases 3.14 Run C |--C- 3.15 Give feedback about Acceptance Test Cases
    11. 11. Agile Validation is Continuous <ul><li>Validation takes place before and during each iteration. </li></ul>Written and live knowledge used to validate requirements - Conversations between Testers and PO, PO and Business People, and Programmers and PO. Acceptance Test Cases Intra-Iteration - Conversations between Programmers and PO, and Testers and PO. - Conversations between Programmers and Testers. - Iteration Planning - Conversations between Programmers and PO, and Testers and PO. - Conversations between PO and Business People. - Pre-Iteration Live Knowledge Written Knowledge Stage
    12. 12. Agile Validation is Continuous <ul><li>Within an iteration, user stories are validated individually. </li></ul><ul><ul><li>Shared understanding of the user story. </li></ul></ul><ul><ul><li>A user story is validated when: </li></ul></ul><ul><ul><ul><li>It is discussed. </li></ul></ul></ul><ul><ul><ul><li>It is broken down into tasks and tests. </li></ul></ul></ul><ul><ul><ul><li>It is written on index cards. </li></ul></ul></ul><ul><ul><ul><li>High level test cases are created. </li></ul></ul></ul><ul><ul><ul><li>Acceptance test cases are run. </li></ul></ul></ul>
    13. 13. Agile Validation is Collaborative <ul><li>Every member of the development team is responsible for validation. </li></ul><ul><li>Members ask questions to make sure they have the correct understanding. </li></ul><ul><li>The Product Owner, Programmers, and Testers can trigger validation and also validate requirements. </li></ul><ul><li>If the Product Owner misses some details, these could be discovered later in the iteration by other team members. </li></ul>
    14. 14. Implications <ul><li>For practitioners of agile </li></ul><ul><ul><li>Think about test cases and acceptance criteria during requirements elicitation. </li></ul></ul><ul><ul><li>Encourage question asking. </li></ul></ul><ul><ul><li>Write test cases even for the obvious success scenarios. </li></ul></ul><ul><li>For researchers </li></ul><ul><ul><li>Broaden the definition of validation to include activities that ensure that a software system is being built to the customer’s satisfaction in the absence of a specification document. </li></ul></ul>
    15. 15. Future Work <ul><li>Analyze interview data from two other field sites. </li></ul><ul><li>Compare and contrast requirements knowledge and agile validation among the three field sites. </li></ul><ul><li>Look for companies that use agile practices and observe their software team. </li></ul>
    16. 16. <ul><li>Traditional definitions of Requirements Validation do not fit agile practices. </li></ul><ul><li>We performed a field site to study Agile Validation of written and live Requirements Knowledge. </li></ul><ul><li>How is Agile Validation of Requirements Knowledge performed? </li></ul><ul><ul><li>It is done mainly through conversations around user stories, checklists, and test cases. </li></ul></ul><ul><ul><li>It is done before the iteration starts and during each iteration. </li></ul></ul><ul><ul><li>It is done in the context of each user story. </li></ul></ul><ul><ul><li>It is done by all team members. </li></ul></ul>Summary
    17. 17. Questions? Thanks

    ×