Comprehensive Integrated Checklists for Requirements Engineering and Software Project Management
Software engineering processes are often challenged by overlooked tasks and misguided decisions that are simple but yet essential for the success of the system to be developed. A list of guidelines and steps is required to help facilitate software development processes by efficiently guiding engineers and managers at different stages of software development. Moreover, the ensuring of the execution of required tasks is essential to reduce the likelihood of the system failure. In other critical areas such as medical surgery or aerospace control, the use of checklists has proven as a successful practice to ensure the effective and efficient execution of the tasks in a process. Although several of the current practices in software development include using some art of checklists to monitor the software development processes, there are no unified and integrated checklists from research and industry resulting in significant disparities. Such ambiguity could be even counter-productive instead of easing the software development processes. In order to fill this gap, we developed comprehensive and integrated software engineering checklists for the critical areas of requirements engineering and software project management. To create such comprehensive checklists and ensure their completeness, we applied the systematic literature review method. We analyzed 323 documents from academia and industry, and identified a total of 183 requirements engineering checklist items and 263 project management checklist items.