Requirements Analysis
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