Requirements Analysis
(→Additional Information:: filled in additional info meta data) |
(license) |
||
Line 8: | Line 8: | ||
|'''Prerequisite Knowledge''' || It would be helpful (though not required) for students to be familiar with the Software Development Life Cycle (SDLC), and its various models and phases, which often includes Requirements. | |'''Prerequisite Knowledge''' || It would be helpful (though not required) for students to be familiar with the Software Development Life Cycle (SDLC), and its various models and phases, which often includes Requirements. | ||
|- | |- | ||
− | |'''Learning Objectives''' || Upon completion, students should | + | |'''Learning Objectives''' || Upon completion, students should: |
* understand what requirements gathering means in context with a wider software development life cycle. | * understand what requirements gathering means in context with a wider software development life cycle. | ||
* be able to explain what common methods and tools are used in open source requirements gathering. | * be able to explain what common methods and tools are used in open source requirements gathering. | ||
Line 28: | Line 28: | ||
=== Directions: === | === Directions: === | ||
Create and explain a timeline of how a requirement progressed across the life of a particular feature within an OSS project | Create and explain a timeline of how a requirement progressed across the life of a particular feature within an OSS project | ||
+ | |||
From Tom: Use an oss project to show this is how you write good req’s specs | From Tom: Use an oss project to show this is how you write good req’s specs | ||
+ | |||
ManageIQ (RH Cloudforms) | ManageIQ (RH Cloudforms) | ||
ManageIQ Github Issues and Creating new Issues | ManageIQ Github Issues and Creating new Issues | ||
Line 112: | Line 114: | ||
-------------------- | -------------------- | ||
This work is licensed under a | This work is licensed under a | ||
− | [http://creativecommons.org/licenses/by | + | [http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International License] |
− | + | ||
− | + | ||
[[Category: Learning_Activity]] | [[Category: Learning_Activity]] | ||
[[Category: Specification_and_Design]] | [[Category: Specification_and_Design]] |
Revision as of 17:53, 28 January 2016
Title | Requirements Analysis |
Overview | Students will create and explain a timeline of how a requirement progressed across the life of a particular feature within an OSS project. |
Prerequisite Knowledge | It would be helpful (though not required) for students to be familiar with the Software Development Life Cycle (SDLC), and its various models and phases, which often includes Requirements. |
Learning Objectives | Upon completion, students should:
|
Background:
Background reading material:
- https://en.wikipedia.org/wiki/Requirements_analysis
- https://www.atlassian.com/agile/requirements/
- http://news.slashdot.org/story/00/10/23/1250228/gathering-requirements-in-open-source-projects
- https://books.google.com/books?id=-GmZBgAAQBAJ&pg=PA20&lpg=PA20
- http://programmers.stackexchange.com/questions/175766/how-are-requirements-determined-in-open-source-software-projects
What is the rational for this activity? As software development migrates from Waterfall to Agile / Iterative development models, it will be important to understand how Requirements fits into each. Open source projects often have a less formal requirements gathering process than say a government contract job, but it is still there behind the covers. Students should be aware of how requirements are gathered in a distributed diverse community, versus a single central authority.
Directions:
Create and explain a timeline of how a requirement progressed across the life of a particular feature within an OSS project
From Tom: Use an oss project to show this is how you write good req’s specs
ManageIQ (RH Cloudforms) ManageIQ Github Issues and Creating new Issues ManageIQ Trello / Task board Discourse tool and Feature discussions ManageIQ team (if I want to mention it in passing - just a neat resource to show) Examples: Git Integration Feature discussion, bug, code 1, 2, more? Chargeback Feature discussion, requirements, bug? Next step: I should ask on talk meta how they decide and do product mgmt like priority, severity - how do they decide which bugs to work on first and when due etc
Deliverables:
What will the student hand in?
Assessment:
How will the activity be graded?
How will learning will be measured?
Include sample assessment questions/rubrics.
Criteria | Level 1 (fail) | Level 2 (pass) | Level 3 (good) | Level 4 (exceptional) |
---|---|---|---|---|
Understanding of requirements in context of wider SDLC | ||||
Explains common methods and tools in oss req. gathering | ||||
Can track requirements from initial sources through to code |
Comments:
What should the instructor know before using this activity?
What are some likely difficulties that an instructor may encounter using this activity?
Additional Information:
ACM Knowledge Area/Knowledge Unit | SE - Software Engineering / SE Requirements Engineering from ACM_Body_of_Knowledge |
ACM Topic | Requirements tracing; Describing functional requirements; Evaluation and use of requirements specifications; from https://www.acm.org/education/CS2013-final-report.pdf |
Level of Difficulty | Easy |
Estimated Time to Completion | 2-3 hrs |
Materials/Environment | Internet access |
Author | Nick Yeates |
Source | N/A |
License | Creative Commons CC-BY |
Suggestions for Open Source Community:
Suggestions for an open source community member who is working in conjunction with the instructor.
This work is licensed under a Creative Commons Attribution 4.0 International License