A Requirements Solution While Training Professional Project Leaders

Globalization urges the necessity of having world class leaders, and very frequently in its formation, is required to teach them computational tools to mainly improve their project management facilities. In order to give project management a greater quality, a very important point is to control and follow up all users’ diverse requirements, from the beginning to the end of each or any type of project: administrative, academic, engineering, software, video games, virtual and mixed reality, etc. This research shows a project requirements manager’s approach which allows knowing the specific requirements in each of its phases and give an advanced description of its various types and their traceability. This prototype promotes project requirement management best practices, and link them to the various areas of engineering, administration, planning and also with society, industry, commerce and academic sectors.


Introduction
Over the past decades, different types of projects failure are widely known. For example, not meeting deadlines, overflowing budgets, not corresponding functionalities with customer's specifications, and as a consequence, a negative impact has been obtained within entrepreneurs and investors. It is common knowledge that when a project ends the deliverables are given to the client, assuming that all the needs and requirements requested have been met in accordance with signed contracts, but it turns out that the resulting products are not those that the users expected, so the final results are not satisfactory [1], [2], [3], [4]. As observed, there are common errors, such as not specifying agreements due to the informality with which the client's requests are treated. This has to do with the lack of correct detection, definition and formalization of client or users´ requirements. We hereby propose to streamline the development process, reducing the costs of both the resulting products and the entire project, by establishing a designing model with four quality levels. Objectives: These must be defined at the project beginning in order to formalize the results of each request submitted by clients or users and the holistically system to which they will be connected.
Problematic: In university training there are no internship programs supporting software tools for monitoring and controlling the multiple and diverse requirements within different types of projects. There are no tools allowing the linking, in an integral and quality way, the projects with other areas. Project management and evaluation tasks, within the study programs, are carried out using simple formats, so that subjective, deficient and minimal quality results are obtained [5], [6], [7]. To express users' requirements it is preferred to use the natural language method, even today when more exact instruments are known by software and computer systems engineers. So, for any project that is carried out, the most important requirements source are the interviews between clients or users and systems analysts [2]. Justification: Software control tools are necessary in order to follow up and monitor project requirements, as well as other standardized instruments, which will allow to successfully complete the related projects, resulting in the strengthening of those companies linked to their development. Companies manage to benefit through different skills and techniques, such as the following: • Define in a more correct, clear and effective way the project´s requirements; • Increase procedures efficiency in investment, development, quality, etc., in order to clearly visualize users' requirements and objectives; • Use national and international standards adapting them to particular business realities; • Apply standardized methods to raise the quality of both, projects and products in general.

Related Tasks
Requirements Engineering can be defined as: "the processes that aim to describe the precise users' needs and translate them into corresponding instructions, without any ambiguity, which might be, subsequently used in the development of the system" [8]. The organization, monitoring and control of projects requirements are considered as best practices concentrates, that provide knowledge of the various problems which must be solved, and also provide the best ways to solve them [9], [10], [11], [12]. The competencies related to carrying a good project general requirements definition are the following [13]: • Identify and define the projects needs to be carried out; • Analyze, evaluate and negotiate the projects needs with various users; • Define and specify requirements according to detected needs; • Design the project requirements model according to its technical specifications; • Validate those requirements defined in the model; • Manage and implement the determined requirements.
Identify and define the project's needs: various interviews are carried out with the client, with diverse users and with all those involved in the projects, mainly with those who are experts, in order to know the company objectives, and the system or product to be created. It is about having the maximum knowledge of what is expected to be obtained as deliverables at the end of the projects, seeing how they will adapt to the client's needs, and later, knowing how they will be used, in order to detect in time the problems may arise. Analyze, evaluate and negotiate the projects needs with various users: The needs become requirements when defined and grouped by categories and subsets. All are analyzed, one by one, in terms of their ambiguity, consistency, completeness and are classified according to the needs of the users, especially the client. Contradictory requirements are frequently requested, insisting that they are vital in meeting important needs. It is also very common for users to state that they need more than what should be done, according to the project. Define and specify the requirements according to the detected needs: when the specifications are defined, flexibility is required to implement them. Then the effort needed to implement each requirement is estimated and its impact is assessed against the results delivery time and the project Vargas-Pérez V.A., Vargas-Pérez L.S., Gutiérrez-Tornés A.F., Soto-Hernández M., Felipe-Riverón E.M. A Requirements Solution While Training Professional Project Leaders. Trudy ISP RAN/Proc. ISP RAS, vol. 33, issue 5, 2021, pp. 205-218 208 cost. Iterative processes are used to combine, modify and eliminate the requested requirements according to the defined objectives. In large systems, a written document with graphic models must reflect the specifications of all defined requirements. Specify and define the system requirements model: a requirements document is then formalized, containing the functions and characteristics descriptions of each system module to be created. It must also contain its development restrictions. Each system element is described in the specification, including all the information that enters and leaves it. A model is designed together with its blueprint to describe the system and its aesthetics, as well as to evaluate each component and its relationships, in order to determine and justify the requirements. Validate those requirements defined in the model: it refers to the specifications of the system requirements examination to determine whether they contain or not omissions, ambiguities or inconsistencies. Also, to confirm the correction of detected errors and the system adapts regarding its processes and products, to established standards. Formal technical reviews are carried out by engineers, users, or clients to validate requirements Manage and implement requirements: these are activities carried out by the project work team for requirements identification, monitoring and control. Management begins by identifying each requirement, to which a unique identifier is assigned. Its formalization is as follows: <type of requirement> <requirement #> <description>. There are software tools for Requirements management, in the world market. Requirements engineering (RE) is essential to prevent major systems and projects from failure. The following are some representative statistics of the lack of RE and its negative impact on projects [13], [14]: 1) Poorly collected and incomplete requirements: 13.1%; 2) Users with little involvement in the project: 12.4%; 3) Allocate few resources: 10.6%; 4) Express unreal expectations: 9.9%; 5) Management little involved and interested: 9.3%; 6) Constant changes in specification: 8.7%; 7) A wrong planning: 8.1%; 8) The system is canceled, or is no longer required: 7.5%; 9) Poor management or lack of it: 6.2%; 10) Lack of technology: 4.3%; 11) Various factors: 9.9%. As aforementioned, support tools are necessary to successfully complete projects, which is why true monitoring systems and requirements control are required. Currently there are software systems available that require technical knowledge, not only for its potential application, but also for the proper use of the tool. They are widely recognized and disseminated, have broad support from the companies that develop them and made possible system functionalities improvement.
• Regarding CASE (Computer Assisted Software Engineering) tools, some focused upon requirements management are at disposal [15], [16], [17]: • These tools are concentrated only to determine project software requirements and their development. Some of the specialized software that cover the described functions are: IRqA 3.0, DOORS ERS, CaliberRM, IBM Rational RequisitePro, etc.
• Project management success lies upon experience and organizing efforts through the use of world leading standards and institutions, such as International Project Management Association (IMPA) [18] and Project Management Institute (PMI) [19], [20], [21]. • IMPA is an organization based in England, focused in linked within the projects, so that they are carried out successfully [18]. • PMI is an international organization based in the USA, focused in performance and the dissemination of project management best practices and knowledge. It stands out in producing the most recognized standard in this field, the Project Management Body of Knowledge (PMBOK) which provides basis, by guiding project leaders to successful results and achievements [19], [20], [21]. This proposal provides requirements monitoring and controlling guidelines for various types of projects, and is one of the firsts of its kind in Mexico [22], [23], [24].

Methodology
RE consists in applying the best techniques to collect users´ requirements, facilitating the understanding of what the client needs and wants, by analyzing its feasibility. Each specification must be validated. Requirements must be managed to negotiate, without ambiguity, so that they become a reasonable solution, an operational system [8], [17]. RE is based on Software Engineering Management, which can be adapted to any different type of project. Its phases are shown in fig. 1, [9], [11], [12], [17]. They are the following: Feasibility Study: in this phase a complete report is carried out by the project development team evaluating whether the project is justified to be implemented. Capture and Analysis: the project teams contacts end user in order to identify the services to be provided by the system and determine their performance level. Specification: customers' requirements are transferred into a document, where each is precisely, completely and verifiably described, along with their respective hardware and system developing restrictions.
Validation: here each one of the detected requirements is verified and their specifications are approved and accepted. Finally, a management process must be executed in order to monitor and control requirements stability or volatility).

Fig. 1. RE phases
During a requirements selection process, for example, using the prototype model, the system validates those requirements obtained. A small negotiation may be required if several users are involved at the same time. The processes may have different variations, depending on the application`s nature (resources, uncertainty, risks, embedding, etc.), or on the project`s nature (tailormade or market directed) [10]. Several techniques exist and are used for requirements specification: questionnaires, interviews and meetings, sampling, observation, examination of files, etc. When requirements have been identified, a set of matrices for their monitoring is elaborated. They are called traceability matrices, which identify the requirements linked to the system or its Vargas-Pérez V.A., Vargas-Pérez L.S., Gutiérrez-Tornés A.F., Soto-Hernández M., Felipe-Riverón E.M. A Requirements Solution While Training Professional Project Leaders. Trudy ISP RAN/Proc. ISP RAS, vol. 33, issue 5, 2021, pp. 205-218 210 environment. Traceability matrices are frequently related as part of a database requirement, being useful to quickly access various requirements´ aspects affected by changes, of the system to be implemented [21]. Project management is a modern discipline, with a professionalization, that was born and grew in the USA military environment. It began in the sixties, when complex systems were needed to coordinate the joint work of teams from diverse disciplines. Today, project management has been implemented in all kind of i nstitutions, as well as banks, industry, commerce, hospitals, pharmacies and also in advertising, accounting, construction, governments, etc. Therefore, it is necessary to adapt the PMBOK standard to each project in a technical domain, backed by ANSI / PMI 99-001-2008 [17] and ISO 21500 [20] standards. The Project Management Professional (PMP) is considered the most important certification of its king and it is promoted by PMI and IMPA. RE techniques, applied in each stage or phase are widely used, since they have many advantages (although also some disadvantages). A comparative table is presented below ( Interviews vs. Use Cases. The information obtained during the various users´ interviews serve to build use cases, and through them the development team can better understand the environment involved. Analysts, when they need to understand a task, use Use Cases compiled from the questionnaires answers or delivered during the interviews, and use the diagrams to understand the system environment. Brainstorming vs. Interviews. The ideas that are manifested by the working groups are mostly collected from the information gathered from interviews or questionnaires. While brainstorming tries to find answers to the difficulties that arose when understanding the client's requirements and expresses them in terms and concepts understandable by all participants, reaching a consensus. Brainstorming vs. Use Cases. A list of ideas, obtained from user interviews, can be graphically represented by Use Cases means. This proposal is oriented to requirements follow up and control. It allows a complete description of the different types of requirements and guarantee their traceability. It does so while following RE canons, including the conformation of Use Cases, Test Cases and other tools. The software so created on purpose integrates the main RE modules: Document Management, Traceability between work documents, Administration and Configuration, Reports and statistics [14], [22]. Classical and agile methodologies techniques are used, both in the design of the software tool, such as the RAD model, evolutionary prototyping and SCRUM, and RE techniques in the requirements organizer design, such as the monitoring of requirements traceability matrices [22]. This software system provides, in addition to its functionalities, the following: • Optimal user's permissions • Change control management improvement, registering the different generated versions (Configuration Management).
• Various reports generation: basics or specific, requested by different users and those resulting from advanced searches. Requirements as a software development stage is confirmed by the processes determining, documenting and managing stakeholder's needs and expectations in order to meet the project objectives. Collecting requirements will provide the basis for defining and managing the project scope. The following figure represents the methodology to follow when managing project requirements, formed by the inputs, tools and outputs of these processes ( fig. 2) [20].

Fig. 2. Requirements Management Processes
Inputs: are made up by seven very important elements, which, through the transformation processes using the five here mentioned tools become the representation of the projects´ requirements, and their sub-processes, which will become the inputs, of the following management processes. Outputs: correspond to the requirements documentation established from the requirements list. The second output of the process corresponds to the requirements traceability matrix. Both outputs will be part of the Scope Management processes of the project.

Results´ Discussion
The proposed requirements organizer prototype is based on the RE and project management methodological model under standards guidance [13], [15], [18], [19], [20], [21], among others. This improve the negotiation and prioritization of certain requirements, making the corresponding reviews, which allow the determination of which requirements are urgent and should be implemented immediately, which are unnecessary and therefore should be eliminated, and which can be postponed. This software prototype was developed in a responsive environment, with HTML5, CSS3 JavaScript and PH programming languages, in addition to a MySQL database manager that was installed on an HP ProLiant DL380 server with a Windows Server 2008 network operating system. This software system is in its final phase as a prototype. It was designed and implemented so that different types of projects, from different areas, can optimized their requirement`s control. Its principal interfaces are shown form fig. 3-8. Some teachers and students already tested this prototype in the Systems and Computing Department at ITCM. Its use has been well accepted by designers and business leaders. The problem that managers or administrators face when developing a project is the lack of information provided by participants or stakeholders. An exact definition cannot be obtained and the difference between what is desired and what is required to be done is not established, resulting in a requirement misinterpretation and in addition, not monitoring the project objectives in detail.  Therefore, the construction of a requirements organizing system is proposed to solve the problems described. It is also intended to serve as a support for project leaders or managers, by providing detailed descriptions of each requirements and of the different projects sections of any kind, grouping them into four levels: modules, sub-modules, requirements and sub-requirements,