Requirements Analysis

(Difference between revisions)
Jump to: navigation, search
(Added metadata, background, initial research on directions, and assessment)
(Additional Information:: filled in additional info meta data)
Line 89: Line 89:
{| border="1"
{| border="1"
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]
|'''ACM Knowledge Area/Knowledge Unit''' || SE - Software Engineering / SE Requirements Engineering from [[ACM_Body_of_Knowledge]]
|'''ACM Topic''' || What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics -
|'''ACM Topic''' || Requirements tracing; Describing functional requirements; Evaluation and use of requirements specifications;  from
|'''Level of Difficulty''' || Is this activity easy, medium or challenging?
|'''Level of Difficulty''' || Easy
|'''Estimated Time to Completion''' ||  How long should it take for the student to complete the activity?
|'''Estimated Time to Completion''' ||  2-3 hrs
|'''Materials/Environment''' || What does the student need? Internet access, IRC client, Git Hub account, LINUX machine, etc.?
|'''Materials/Environment''' ||  Internet access
|'''Author''' || Who wrote this activity?
|'''Author''' || Nick Yeates
|'''Source''' || Is there another activity on which this activity is based?  If so, please provide a link to the original resource.
|'''Source''' || N/A
|'''License''' || Under which license is this material made available? (
|'''License''' || Creative Commons CC-BY

Revision as of 07:24, 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
  • 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 reading material:

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.


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


What will the student hand in?


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


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
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-ShareAlike 4.0 International License

CC license.png

Personal tools
Learning Resources
HFOSS Projects