PV258 Requirements Engineering in Agile Software Development

Week 1 - Course Introduction - Introduction to Requirements Engineering

The first week we will be discussing about the course modality: content of the course, evaluation, pre-requisites, goals of the course. We will have an introduction about Software Requirements Engineering: why it is so important nowadays and why most of the project failures derive from this phase of software development (contrary to what one might think at first).

Time permitting, we will be  covering  an introduction of Lean and Agile Methodologies to give the savour of what has to come: a short introduction of the principles behind them and why they emerged in the first place in response to more heavy-weight methods.

Lecture

In-Course Project

Teaching about Requirements Engineering and Agile development without some practical application would be impossible (and very boring, keeping all theoretical). For this reason there will be a small project during the semester in groups of 4 students that will be formed to have more heterogeneous experience/background as possible. Most of the effort of the project will be kept during lecture (e.g. when looking at user stories / CRC cards / prioritization) each group will use their requirements. The main points:

  • every student will contribute with their own expertise ;
  • this year, the idea is to try out the so-called "semantic gap", that is requirements of the project will be given by non-IT stakeholders, to simulate the fact that the domain from the development team is different;
  • the final evaluation is based on the process, not on the product - we care about the requirements engineering process, not the finalized product that can be absolutely incomplete, as long as the requirements were modelled, prioritized, discussed, scheduled, etc.. according to the practices we will discuss during the course;
  • given the previous point, there can be the possibility to have a simple prototype based on the requirements. you are absolutely free to adopt the technology you think fits best for you. Although some mobile application would be nice to have, also just a plain command line interface  or just an HTML prototype would be equally fine;
  • The project outcome will be just a Pass/Fail evaluation, with up to 5 bonus points for exceptional performance;