CAPÍTULO II: MARCO TEÓRICO
ESQUEMA RESUMEN DE LAS DISTINTAS ETAPAS DEL PROCESO DE INTEGRACIÓN SEGÚN B BALASSA
2.2.2 Fundamentos de Comercio Exterior en los Acuerdos Comerciales y los Tratados de Libre Comercio
For successful completion, a project should have a quality analysis, a pragmatic risk assessment, a sound business case, and reliable requirement gathering tools. In addition, project developers (project manager and project consultant in this case) should also grasp the business requirements of their clients and the high-level requirements typically provided by management and a board of directors. Business processes and requirements are linked inextricably to both a company’s vision and to a project itself. Closely coupling these processes and requirements is not only desirable, but also inherently critical (Iqbal and Khan, 2012).
Hall (2019) commented, “I often ask project managers the reasons for project failure. One of the top responses is a lack of leadership and sustained engagement by the project sponsor. The sponsor paints a fuzzy picture of what they want, throws it over the fence to the project manager, and goes on their merry way.” According to Hirsch blog (2013), requirements are the demands, needs, and
specifications for a product as outlined by project stakeholders. Requirements are what the customer needs. Requirements can also be many types. They can be product related requirements, performance requirements, quality requirements, project management requirements, etc. Accurate and complete requirements is the responsibility of the project manager and he/she needs to make sure the requirements gathering phase is handled according the project specifications.
Although it is a challenging skill to master, effectively gathering user requirements is a critical first step for any project. Without a well-designed discovery phase and requirement gathering tools directed by the project manager, a project’s design and execution will not reflect the actual deliverables of the project. This will ultimately impact both its timeline and budget. It is vitally important, then, for a project to be built upon well-formed and verifiable user requirements to avoid cost overruns, unsatisfied users, or even project cancellation (Yang et al., 2009).
65 According to Joubert (2019), the project manager has always been important to the function of business, and he/she is only getting more important as time goes by. Per McIntire (2017), the requirements gathering tool functional decomposition "helps manage complexity and reduce uncertainty by breaking down processes, systems, functional areas, or deliverables into their simpler constituent parts and allowing each part to be analysed independently." Gerush (2017) found that functional decomposition drives the connection between business goals and development tasks. Specifically, it advances projects through the process of: 1) Taking business initiatives and defining the capabilities required to support them, 2) Breaking the capabilities into features or epics, and 3) Writing those features or epics as user stories for the development team. The key is linking the user story back to the business initiative it supports in order to drive a successful requirements gathering phase.
Per Gupta (2019), use cases, another requirements gathering tool, in simple words are exact statements written in an informal manner depicting the specific action that the user is expected to do while dealing with a particular functionality of the product. Gupta stressed that project success is greatly tied to clear and detailed requirements. Detailed documentation of an IT project use case diagram provides detailed requirements that lead to detailed design and successful implementation. The statistical findings in this research support Gupta’s claim.
One challenge to gaining this level of understanding is users’ frequent difficulty explaining exactly what they need. Problems related to this issue only increase when developers fail to translate their requirements into working programs. A “requirements-gathering gap” occurs whenever a discrepancy arises between the true user requirements and what has been gathered (Niu and Easterbrook, 2009).
Such gaps occur when the business requirements, as stated by users, are misunderstood by the team designing and constructing the application under development. Requirements may also be incomplete, even if this is not due to the users’ negligence (Pandey et al., 2012).
It seems obvious that the IT project team—composed of the IT project manager, analysts, programmers, and testers—should have a clear understanding of the business requirements as expressed by a project’s users; otherwise, this team would have no hope of launching an application (Nienaber
66 and Barnard, 2007). Unfortunately, these needs are often expressed in a language unfamiliar to members of the team. While users tend to give requirements in terms of their job responsibilities or the metrics of a business, IT personnel use a vocabulary built on systems. These differing languages may produce a requirements-gathering gap (Didar and Chad, 2005).
Requirements management is a critical part of the project manager leadership skill, not only for software, but for all products. Well-articulated requirements are the underpinning of any project, while poorly expressed requirements produce one of the most challenging situations a project manager may face (Bloch et al., 2012). There are frequently hundreds, if not thousands, of requirements for any given project. When these requirements are poorly explained or poorly understood, project managers and teams are encumbered with an impossible task because they are left to guess what is needed (Lindbergh and Hass, 2011). Requirements should, therefore, be well-written, quantifiable, and testable (Mulla and Girase, 2012).
Beginning a project with a solid understanding of its requirements and using an effective requirements management system/tools are critical to a project’s success. While it is difficult for all projects to maintain requirements stability throughout the duration of their life cycles, change can be controlled to some extent. It is the responsibility of the project manager—through use of a good requirements management system—to minimise changes to help mediate requirements gaps (Davis et al., 2006).
Requirements must be accurate with regard to what a product must deliver. The general source of these requirements is the customer or end user. A knowledgeable user can determine if a requirement is correct and realistic. Because of this, having users and functional experts involved throughout the requirements gathering process is invaluable to product development. These team members can save others on the project team a considerable amount of trouble and wasted effort. Without their expertise, the project manager and team are only able to speculate as to the reality and/or attainability of a requirement.
Requirements must also be unambiguous. Multiple readers should come to the same understanding of what each requirement means. If a requirement can be interpreted in numerous ways, this will inevitably produce negative impacts on the project (Weill and McDonald, 2010). In addition, all requirements must be feasible and achievable. In other words, the product in question must be able to
67 be created with available technology and with the time and money available to the project team (Azar et al., 2007).
While especially critical in software development, it should be possible to trace a requirement from identification through development to verification for any project. To assist in this endeavour, requirements should be written using the same terminology and the same standards throughout the various facets of the project. Such consistency will not only help ensure traceability from start to finish, but also help organise requirements into defined categories. This will allow the project team to more easily and quickly identify duplications, inconsistencies, and contradictions in a project’s development (Robertson and Robertson, 2011). For software projects, in particular, linking the design elements, source code, and test cases is a time-consuming, but vital function. If these cannot be linked from beginning to end, it is impossible to discern if the initial requirements have been met (Leffingwell and Widrig, 2003).
Without properly articulated requirements, client expectations and needs frequently remain unmet because project managers cannot gauge if the project is moving toward a successful completion. Communicating good requirements, especially in written form, is time-consuming, but time ultimately well-spent if it expedites processes at other points in the life cycle of a project. Writing good requirements comes with practice, thoughtful consideration, and sufficient review and discussion (Majumdar et al., 2013). Following these basic rules can aid in good requirements development (Dick et al., 2012):
1. Keep users involved;
2. Develop and refine requirements; 3. Define and use consistent terminology; 4. Organise requirements;
5. Monitor and/or track development and changes;
6. Document all requirements and changes, as well as the reason(s) behind the changes; and
7. Make requirements management one of the repeatable processes of PM.
In order to avoid gaps in requirements gathering, a project will also need tools for tracking requirements from initial identification through deployment. Organisations will want to examine which resources, preferably those already owned to avoid extra costs, best meet the project’s and project manager’s needs.
68 These resources should allow for identification and tracking throughout the development process, as well as provide an audit trail of all changes, who made them, and when they were made. Project management tools should also have the capability to present information in different ways (Kimball, 2011). For small projects, a simple spreadsheet is often sufficient, while larger, more complex programs with hundreds or thousands of requirements need a resource designed specifically for requirements management. Through whatever process requirements are tracked, project managers should keep the audit trail up to date. A record of both current and historical requirements should be kept, including any that are deleted, because requirements may resurface (Davey and Parker, 2015). Even if requirements gathering and process gaps are eliminated, translating business requirements into a useful system is still a daunting task (Boehm, 1988). If all projects were stable and static—with no external drivers, such as changing market conditions, competitive developments, and new technology requirements with which to contend—the smooth progression from process requirements to design and implementation would be more easily achieved. Yet, seldom, if ever, is this the case. Projects should, therefore, progress and adjust with the dynamics of the business (Savolainen et al., 2012). To meet this need, PM tools that enable the project manager and team to react to external influences and overcome difficult transitions should be employed (Coughlan et al., 2003).
According to the Project Management Institute (PMI), the rate of effective and successful requirements gathering improves by approximately 40% when project managers possess and nurture the ideal skill set, i.e., a powerful mix of technical, leadership, and business management expertise (PMBOK, 2013).