After identifying the application purpose and target group, based on these we developed a set of requirements that should be met on the application. But before the actual development of the software, we needed to decide what is essential for the first version of it [1] and what features are recommended for the future work. Thus, we chose to prioritize the requirements. We used the MoSCoW technique to do so. This way, we selected an appropriate set of requirements from the overall set in order to develop cost-effective software that respects its purpose. We, also, identified the desired or nice to have features in the future versions. A brief description of the MoSCoW technique we applied can be found below:
- Must (M)- are not negotiable; the failure to deliver these requirements would result in the failure of the entire project
- Should (S) – Important features that would be good to have if at all possible. However, these features are still high priority
- Could ( C )- Features that would be nice to have if at all possible but slightly less advantageous than the “Should (S)”
- Would (W) – These requirements are not unimportant, but they will definitely not be implemented in the current software project. They may, at a later stage, be created. [2]
A structured collection of these requirements can be found in the spreadsheet available here. The requirements in the document are sorted based on the role of the users.
References:
[1] M. Dabbagh, S. Lee, A consistent approach for prioritizing system quality attributes, in: Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), 2013 14th ACIS International Conference on, IEEE, pp. 317–322.
[2] Achimugu, P., Selamat, A., Ibrahim, R. and Mahrin, M.N.R., 2014. A systematic literature review of software requirements prioritization research. Information and software technology, 56(6), pp.568-585.
Authors: Emanuela Colta and Kholoud Alghamdi