J002 Requirements Engineering in Agile Software Development

Faculty of Informatics
Spring 2014
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
Thu 10:00–11:50 G123
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 40 student(s).
Current registration and enrolment status: enrolled: 0/40, only registered: 0/40, only registered with preference (fields directly associated with the programme): 0/40
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;
Literature
    required literature
  • LEFFINGWELL, Dean. Agile software requirements : lean requirements practices for teams, programs, and the enterprise. Upper Saddle River, NJ: Addison-Wesley, 2011, xxxv, 518. ISBN 9780321635846. info
Teaching methods
Frontal lectures and group projects 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 2013.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/spring2014/J002