Requirements Analysis
(updated Directions heavily) |
(added link for proj mgmt answer from manageiq) |
||
Line 45: | Line 45: | ||
** [http://talk.manageiq.org/ Discourse tool] and Feature discussions | ** [http://talk.manageiq.org/ Discourse tool] and Feature discussions | ||
** ManageIQ [http://manageiq.org/community/team/ team] (if I want to mention it in passing - just a neat resource to show) | ** ManageIQ [http://manageiq.org/community/team/ team] (if I want to mention it in passing - just a neat resource to show) | ||
+ | ** Forum question/answer around [http://talk.manageiq.org/t/how-are-project-mgmt-activities-done-here how ManageIQ does Project Management] | ||
Revision as of 20:03, 29 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 for students to be familiar with the Software Development Life Cycle (SDLC), and its various models and phases, which often includes Requirements. The difference between plan-based methods like Waterfall, and iterative approaches like Agile will allow students to see the very different methods of requirements gathering. |
Learning Objectives | Upon completion, students should:
|
Background:
Background reading material:
- https://en.wikipedia.org/wiki/Requirements_analysis
- https://www.acm.org/education/CS2013-final-report.pdf#page=178 Bottom of Page 178 (Page 181 marked in the PDF)
- 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:
- After reading background docs, have students explain how requirements are held and managed in both traditional waterfall SDLC methods and agile / iterative SDLC methods
- Now, show students the two requirements / features / issue tracker. Give context so that they know was community and one was an offshoot team
- Have students document and explain a timeline of how a requirement progressed across the life of a particular feature within an OSS project
- Give the students a template paper that they must fill out (make a simple PDF)
- Where did the requirement start its life? What did it look like? Who reported it?
- Repeat this for each major step of the life (talk forum to github issue to code)
- Have students compare the two requirement examples given
- Why do you think requirements were done in a different way?
- What did one method gain or lose over the other?
- 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)
- Forum question/answer around how ManageIQ does Project Management
- 2 Requirements Examples:
- Git Integration Feature discussion, bug, code 1, 2, more?
- Chargeback Feature discussion, requirements, bug?
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