Requirements Analysis
(added category) |
(Added metadata, background, initial research on directions, and assessment) |
||
Line 4: | Line 4: | ||
|'''Title''' || Requirements Analysis | |'''Title''' || Requirements Analysis | ||
|- | |- | ||
− | |'''Overview''' || | + | |'''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''' || | + | |'''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''' || | + | |'''Learning Objectives''' || Upon completion, students should |
+ | * 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 track requirements and issues and code from forums, to issue trackers, through code bases. | ||
|} | |} | ||
=== Background: === | === Background: === | ||
− | + | Background reading material: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
* https://en.wikipedia.org/wiki/Requirements_analysis | * https://en.wikipedia.org/wiki/Requirements_analysis | ||
* https://www.atlassian.com/agile/requirements/ | * https://www.atlassian.com/agile/requirements/ | ||
Line 25: | Line 21: | ||
* https://books.google.com/books?id=-GmZBgAAQBAJ&pg=PA20&lpg=PA20 | * 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 | * 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: === | === 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 | ||
Line 49: | Line 58: | ||
! Level 4 (exceptional) | ! Level 4 (exceptional) | ||
|- | |- | ||
− | | ''' | + | | '''Understanding of requirements in context of wider SDLC''' |
| | | | ||
| | | | ||
Line 56: | Line 65: | ||
|- | |- | ||
− | | ''' | + | | '''Explains common methods and tools in oss req. gathering''' |
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | '''Can track requirements from initial sources through to code''' | ||
| | | | ||
| | | |
Revision as of 04:32, 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 | What ACM Computing Curricula 2013 knowledge area and units does this activity cover? ACM_Body_of_Knowledge |
ACM Topic | What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics - https://www.acm.org/education/CS2013-final-report.pdf |
Level of Difficulty | Is this activity easy, medium or challenging? |
Estimated Time to Completion | How long should it take for the student to complete the activity? |
Materials/Environment | What does the student need? Internet access, IRC client, Git Hub account, LINUX machine, etc.? |
Author | Who wrote this activity? |
Source | Is there another activity on which this activity is based? If so, please provide a link to the original resource. |
License | Under which license is this material made available? (http://creativecommons.org/licenses/) |
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-ShareAlike 4.0 International License