J002 Requirements Engineering in Agile Software Development

Faculty of Informatics
Spring 2013
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
Bruno Rossi, PhD (lecturer), prof. RNDr. Tomáš Pitner, Ph.D. (deputy)
doc. Ing. RNDr. Barbora Bühnová, Ph.D. (lecturer)
Guaranteed by
doc. RNDr. Vlastislav Dohnal, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 13. 5. 12:00–17:50 G107, Tue 14. 5. 14:00–16:50 G107, 18:00–19:50 B117, Wed 15. 5. 14:00–16:50 G107, 18:00–19:50 B116, Thu 16. 5. 12:00–13:50 G107, 14:00–15:50 B116, Fri 17. 5. 9:00–12:50 G107, 14:00–15:50 B116
Prerequisites
The students (master or last-year bachelor) are expected to have good understanding of software development models (as taught in PB007), object-oriented development and Java programming. Good level of spoken and written English is a must.
Course Enrolment Limitations
The course is offered to students of any study field.
The capacity limit for the course is 20 student(s).
Current registration and enrolment status: enrolled: 0/20, only registered: 0/20, only registered with preference (fields directly associated with the programme): 0/20
Course objectives
The main aim is to let students acquire theoretical insights and practical experience from processes, tools and techniques that are used in requirements engineering in agile software development. Students will gather insights about requirements engineering supported by agile methodologies, understanding also when the usage of such approaches is appropriate. After the course, students will have a good understanding about agile requirements elicitation, modelling, validation and verification.
Syllabus
  • Introduction, course modality and evaluation. Review of traditional development processes (waterfall, RUP, etc...);
  • From lean to agile. Overview of SCRUM, XP, and other agile approaches;
  • The Requirements Engineering (RE) process. RE differences for Agile and traditional development processes;
  • Modelling requirements with UML and using OCL to model the constraints in traditional development processes - the traditional distinction in functional vs non-functional (quality) requirements;
  • The agile approach in modelling requirements: from user stories to acceptance testing. Modelling of non-functional (quality) requirements in agile;
  • User stories, CRC cards, acceptance tests. The product and sprint backlogs. How to automate acceptance testing. Code examples by using the Java programming language;
  • Managing requirements prioritization in traditional versus agile approaches. From the Analytic Hierarchy process to the planning game in agile;
  • Using the planning game for effort estimation and to determine project velocity;
  • Release planning in Agile vs traditional development models;
  • Emergence of the software architecture from requirements: the agile view;
Teaching methods
Frontal lectures, and lab exercises with focus on the application of the techniques seen during the course;
Assessment methods
100 minutes examination with questions about the material seen during the course.
Language of instruction
English
Further comments (probably available only in Czech)
Study Materials
The course is taught only once.
The course is also listed under the following terms Spring 2014.
  • Enrolment Statistics (Spring 2013, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2013/J002