Realities and Perspectives of Software Development in Puerto Rico: A New Analysis

Currently, within the field of Software Engineering (SE), it has been proposed to integrate four variables to develop quality software: i.) A flexible development methodology (traditional, agile, or hybrid) and adapted to the context particular to each application, ii.) a work team (trained, experienced, highly innovative, and with leadership), iii.) cutting-edge technologies, represented in the quality of the equipment and tools (automated or semi-automated) facilitating the planning, design, and manufacturing processes of products and, iv.) the inclusion of usability techniques in the process, as a guarantee to manufacture products according to customer needs.
A literature search indicates that in Puerto Rico so far, there are no published articles that allow knowing the state of the art of the SE on the Island and, therefore; the organizational schemes and the type of workgroup that predominates in software development companies are unknown. Almost twenty years after the promulgation of the Agile Manifesto, in Puerto Rico, the degree of adoption of the new paradigms is still unknown. It is necessary to search for information within companies to understand what strategies are used by developers and what benefits report with their use.
This new study seeks to evaluate, synthesize and present the empirical findings on software development in Puerto Rico (PR), to contrast or update the previously collected data and to know the type of applications that are carried out on the Island, what methodologies of work are the most used, how agile methods are perceived and if the approach towards usability techniques has changed in recent decades. These aspects are central to proposing to software developers an integration framework according to their needs and the demands of their clients.


INTRODUCTION
Currently, from Software Engineering (SE), it is proposed as a strategy to develop a quality product the effective integration of four variables: i.) The adoption of a development methodology adapted to the particular context of each application, ii.) the identification and consolidation of a work team, iii.) the efficient use of the technologies represented in the quality of the equipment and tools to facilitate the planning, design and manufacturing processes of quality products and, iv. ) the inclusion of usability in the process, as a guarantee to manufacture wearable products according to customer needs (De Castro, Marcos, and Vara, 2011).
That is, the manufacturer's software requires a strategic planning process, where it is essential to have the experience of expert developers who are dedicated to making innovative applications and experts in organizational processes, which help teams to work efficiently, to achieve the organizational and economic objectives of a company. Experience has followed that successful projects are those that are managed following a series of processes that organize and then control the project; from this perspective, those processes that do not follow these guidelines run a high risk of failure (De Castro, Marcos, and Vara, 2011).
The article is organized as follows: Section Materials and Methods describes the methodology used for the exploratory study, development and implementation of the survey; Section Results presents the results of the survey; in Section Discussion the results are discussed; in Section Conclusions, it is concluded and describes the elements that must have the framework adjusted to the conditions of the developers in Puerto Rico.

Description of the Study Area
Puerto Rico is the easternmost of the Greater Antilles. According to the most recent federal Census (2010), the population of Puerto Rico is 3,725,789 inhabitants. The total area of the Island is 3,435 square miles (9,000 km2) and has a mountainous interior surrounded by a wide coastal plain where 63% of the population lives (Departamento de Comercio de los EE. UU, 2010).
According to the Institute of Statistics of Puerto Rico (Instituto de Estadísticas de Puerto Rico, 2009) there is a correlation between economic development and investment made by countries in Information Technology and Software (ITS). Developed countries spend 7.5% of their Gross Domestic Product (GDP) on average in ITS, while in Latin American countries that average is less than 1%. In the same way, when comparing the investment of the island, with other states of the United States it can be determined that, while New Mexico invests 7.53% of its GDP in ITS, Puerto Rico allocates only 0.49% of GDP to this topic. However, some analysts indicate that the investment in ITS should be accounted for within the gross capital formation (or Gross Domestic Investment) item. With this perspective, the relevance of investment in ITS, for economic activity in Puerto Rico (4.6%), stands out more clearly, placing it in a percentage close to several European countries (Spain and Italy with 4.6% and 5.6% respectively), and higher than in almost all Latin American countries (Argentina, Mexico and Chile with 2.2%, 1.4% and 1.5% respectively).
The study conducted by PRIDCO (PRIDCO, 2009) on the status of the ITS on the Island, indicated that among the 55 largest software companies in Puerto Rico, 2,920 jobs were generated in 2014, the average salary for the industry is $ 41,000 annually, the percentage of women employed is 38% and, since 2006, an average of 11 companies have been created per year. In addition, this industry generates around 235 annual student internships of which 35% become regular jobs, this being a key strategy for hiring and retaining trained personnel (Microsoft Puerto Rico -Industrial Development Company, 2015). Puerto Rico offers an abundant and well-trained workforce, manufacturing infrastructure and the benefits of being a jurisdiction of the United States, making it a smart choice to meet ITS needs not only inland on the Island but in the Caribbean and in the Caribbean. international context (Alvear-Suárez et al., 2020).
A subsequent study conducted by PRIDCO et al. (2017) emphasized the innovation of manufacturing companies and highlighted that 67% of manufacturing companies in Puerto Rico were innovative companies. Concerning process innovations, the most mentioned have to do with manufacturing methods 50%, followed by support activities, such as maintenance systems or purchasing operations, accounting, or computing 37%.

Experimental Design
The methodological design is created in three phases: the first consists of an updated review of the exploratory and specialized literature to link concepts related to software engineering, Human Computer Interaction (HCI) techniques, usability, and agile methods. The second, based on an exhaustive exploration on the Internet and social networks to estimate the number of companies dedicated to ITS in Puerto Rico (the year 2020), know their location, know their trajectory (years of experience), their portfolio of services, the amount number of employees (company size) and the telephone numbers or email addresses of possible contact persons. The third is to show and compare the results obtained in the pilot survey of 10 questions in 2015 with the preliminary data from a new study of 21 questions asked between March and April 2020.
This last survey was carried out with the collaboration of a group of students from the last year of the Computer Engineering program of the Ana G. Méndez University -Gurabo Campus. Sixty-four companies were identified, for this, a search was made through the internet, a survey in English and Spanish was investigated, it was sent in electronic format, and in this same way, all information was collected.
Both surveys were evaluated and validated based on some recommendations and methodological recommendations contained in the proposed practical standard for the Research and Experimental Development (R&D) surveys, known as the Frascati (2002); Above all, about the identification of R&D in software development activities. Some questions asked by Ferré (2003), at the Polytechnic University of Madrid, are also added to the questionnaires to assess the usability implementation in software projects (Ferré, 2003).
For the survey carried out in 2015, a first approach was made by phone and email to the companies detected in the cyber search; it was detected to verify preliminary information and identify the person who could answer the survey. Two versions of the questionnaire were prepared, one in Spanish and the other in English, which could be completed electronically. The questionnaire was sent between May and June 2015 by email to all companies (101) accompanied by a cover letter. Several phone calls were received between July and December 2015 to increase the rate of receipt of completed questionnaires. The results of this survey were processed as they arrived; the process was completed in February 2016 with a total of 61 companies that responded to the survey (Alvear-Suárez et al., 2020).
The survey carried out between March and April 2020 was carried out following the methodological approaches made for the 2015 study (Alvear-Suárez et al., 2020). It is essential to have this survey had 21 questions, including the ten questions from the first survey; 64 companies were detected, of which only 22 responded.
Finally, the results were statistically processed, comparisons were made with the results of PRIDCO, and the respective conclusions were drawn from its analysis.

RESULTS
Below are the results of two surveys carried out in different years, one in 2015 and the other in 2020, for software development companies in Puerto Rico. The surveys were carried out on people who had an academic profile in computer engineering, information systems, or computer science and the majority of the respondents had 2.5 years or more of experience in the area; this only to ensure affinity or knowledge in the context of the questions and possible answers.
The software and information technology industry in Puerto Rico includes software manufacturers, consulting service providers, computer system design firms and facilities management companies. There are also subsectors for cloud computing services, mobile application development, entertainment software and electronic commerce (Departamento de Comercio de los EE.UU, 2010).
The data collected in the survey carried out in 2015 by Alvear-Suárez et al. (2020) shows that for this year, around 101 companies were reported, located mainly in the northeast area of the Island: in San Juan (39.6%) and the metropolitan area (27.7%).
The survey carried out by Alvear-Suárez et al. (2020) in 2020, shows 64 companies located mainly in San Juan, 44.6%, and in the metropolitan area, 31.2% are reported, confirming their concentration in this area of the Island. Figure 1 shows these results, the circles on the map in part (a) and part (b) show the concentration of the companies surveyed in San Juan and the Metropolitan area. Table 1 shows the data from the two surveys, in embassies can determine 100% of the companies interviewed in private sector companies, classified for analysis in three categories: companies with more than ten employees, specialized in software development and made up of companies from all over the world that have a presence in Puerto Rico or that have been created at a regional level and that does not focus on the distribution of software products; companies with less than ten employees that specialize in consulting jobs, make custom software and operate various types of applications (commercial, web, and mobile, among others); and a third category made up of companies from related sectors dedicated mainly to service work.
In total, it obtained a response rate equal to 60.3% in 2015 and 34.38% in 2020; the staff profile can be seen in Table 2. As mentioned above, the number of companies that responded to the survey was likely due to pandemic conditions caused by Covid-19.
The data in Table 2, some interesting things, even taking into account the difference in the number of companies surveyed in the two parameters that are supplied in the survey, for example, the number of company owners in 2020 is significantly higher for this year, while in 2015 computer engineers recorded 48.5% while in 2015 it was 26.1%, this difference is due precisely to people. However, they have a bachelor's degree in computer engineering; they have chosen to do master's degrees in areas related to administration, their responses in the survey were thought by their last grade obtained.  Although there are many different publications on the market that focus on the methodological and software development aspects; in practice, companies prefer to develop their own forms of work (64.3%) and not adjust to a strategy, either traditional (11.1%) or agile (24.6%). Therefore, it is not surprising that work teams are not entirely familiar with the methodologies they use and even think that it is not necessary to opt for a methodology (72.3%); all this was the trend for 2015. Five years later (2020) the panorama in this aspect has had some changes, two of these changes are: i) people choose to continue master's studies, seeking greater competitiveness in the market; ii) the area of most significant impact is in the commercial sector with 91.3%, mobile development, medical applications, and the backing industry.
This section of the survey, made in 2015 (Alvear-Suárez et al., n. d.), also sought information on the size, experience, and academic training of the work team. In this regard, it was determined that many work teams were in the small group category: between 2 and 5 people (49.7%) and between 6 and 10 people (32.8%); the large groups of 11 people or more were a minority (17.5%). Regarding the team's experience, it was determined that 77.2% said they had mixed experiences; that is, some of the team members have a lot of experience and others very little. However; a vast majority (87.4%) say they need permanent training processes on new ways to design software. For the year 2020, the survey shows some differences from the previous one, some of these differences are (Figure 2): i) the work teams are made up of between 2 and 5 people with 8.7%; ii) groups with 11 or more people continue to be the minority with 69.6%, but even so, it is higher than twice what was reported in 2015; iii) Mayor experience and more top academic training of the survey participants, showing 60.9% with more than 11 years of experience in the area. Figure 3 for the year 2015, developers say they have knowledge of agile methodologies such as XP (27.9%), SCRUM (34.4%), LSD (18.0%), AUP (13.1%) and others ( 6.6%); however, they do not necessarily apply them in their developments, much less integrate them.

As indicated in
In the same Figure 3 for the year 2020, it is observed that Scrum (86.3%) continues to have greater acceptance and liking by developers, while Kanban (27.3%) displaces XP with 13.6%. It is essential to mention that the LSD and AUP methodologies were grouped with 18.2% in the other category.  The next group of questions in the survey inquired about the application of Human Computer Interaction (HCI) techniques and usability in software development. Regarding the assessment that developers give to usability, it is established that only 21% agree that usability is an attribute that should be included in all phases of the software development process, while the remaining 76% indicate that its use is more necessary only in some phases of the process. For the survey applied in 2020, there were no specific changes in this regard.
The data collected in the survey carried out in the year 2020 shows that 73.9% value the constant participation of users throughout the life cycle of software development, while occasional user participation is 56.5% (Figure 4a and 4b).
It attracts the attention it includes to know the history of the users, strategies are used to obtain the relevant user history for a software application, and those with the most significant weight, interviews (78.3%), electronic communication (69.6%), emails (47.8%), all this data is shown in Figure 5.   As we know the interface is the space where human interactions with machines occur; therefore, the objective of every developer is to produce an easy-to-use, efficient and user-friendly interface. In this regard, respondents in 2015 are aware of the need to work this part of the process with users (93.4%) in order to fully meet their needs. A high percentage of them perform quality tests (85.2%) but these are not necessarily associated with a specific usability technique. Table 3 summarizes the results obtained with respect to the usability techniques most used by the developers: the usability techniques (previously selected by (Ferré, 2003)) are observed in the rows, and the typical activities of the cycle of operations are described in the columns. Software Development: A) Requirements analysis; B) Design; C) Implementation; D) Tests; E) Average frequency by technique. The numbers indicate the number of companies whose respondents responded that the technique was useful during some phase of software development. Table 3, the results vary within each company, for example: several of them determined that the techniques of observational usability, brainstorming, scenarios, people and case analysis are very useful especially during the phases of analysis of requirements and software design. On the contrary, techniques such as tutorial development, navigation routes, heuristic evaluation and usability tests are not selected as important and only some companies use them in some phases of software development.

As shown in
Other relevant results of the 2020 survey are as follows i) 65% of the respondents indicate that companies implement some training for developers, which take place in two-week cycles, where techniques such as Agile Fundamentals are used, Webinar, Pair Program (Figure 6); ii) 17.3% of the respondents use hybrid development methods; iii) the usability technique most used by developers is software prototypes with 91.3%.  Figure 6. Type of training received by the development team regarding the agile methods used All these results help to complement the results presented above and can serve to clarify some aspects that will be discussed in the next section.

DISCUSSION
Currently, a total of 64 companies related to software development were reported, which, according to the data, generated 1,790 new jobs. The best predictions indicate a decrease of 37 companies for the year 2020, see Table 1. However, the results compiled in this study detected a growth rate in the sector of over 65.3%, since the census carried out identified a total of 98 companies linked to the software industry, most of them located in San Juan and the metropolitan area. Indicating in some way that Puerto Rico has a full spectrum of commercial initiatives, formed by small and medium-sized companies (Startups) that decide to bet on technological ventures, some of them sponsored by the government, through the Science Trust, Technology and Research, the entity responsible for Puerto Rico's public policies in these areas of interest.
As determined in the results, the companies whose employees answered the survey were from the private sector (Table 1); response possibilities were not exploited in the government sector since this sector typically handles highly sensitive information and is prohibited by federal laws such as HIPPAA (Health Insurance Portability and Accountability Act, HIPAA) its disclosure. However, it is known from the Puerto Rican media that since 2012 the government sector has been interested in modernizing the state and since that year, there have been several events that highlight the importance of software manufacturing, such as indispensable element for the technological development of the Island. Such is the case of initiatives such as "The Tech Summit" that for 4 years has brought together leaders of the technology industry and the government to create a space for exchanging ideas, which allow responding to the needs of the citizen and public and private entities.
The software industry in Puerto Rico has a highly trained workforce, made up of computer engineers and information systems professionals (60.9%, show Table 2), some with a master's degree. As it is desirable, for the development of this industry, it is important to have human resources that have a good academic preparation and speak English proficiently, because in recent years this language has positioned itself as the main one in regard to type transactions technological. In this regard, Puerto Rico has 3 of the first 35 engineering programs in the United States, at the Polytechnic University of Puerto Rico, at the Mayagüez University Campus and at the Ana G. Méndez University. These institutions award over 18,000 degrees in science, technology, engineering and mathematics (STEM areas in English) every year. On the other hand, it is a skilled workforce that earns the lowest salaries in the entire jurisdiction of the United States, aspects that undoubtedly attract the attention of new entrepreneurs who see on the Island, an important center for creating or expanding new Business.
As indicated in the results, the work experience of the respondents ranged from more than 11 years of experience ( Table 1); this result was surprising since it was hypothesized that, since it was an emerging industry, employers would have little experience. On the other hand, having a lot of experience is not indicative of developing best practices, since in order to position the software industry a system composed of highly experienced entrepreneurs and mentors that can help new entrepreneurs in the process is required. In addition, a permanent non-formal training system is needed to keep developers updated on the new trends in software development at an international level, hence the need expressed by 65.2% of respondents to receive permanent training in this practice of Computer engineering.
The second part of the survey was aimed at knowing the methodological strategies most used by developers, when developing their software applications. In this regard, it is established that since they are small companies (48.6%) and therefore made up of small development groups (between 2 and 5 people), development strategies are flexible and prefer agile methodologies with a broad tendency for SCRUM (Figure 3). It is recognized that a software development team is made up of people who perform different functions, and each of them may be responsible for one or more of these functions. For example, one member may be focused on project management, while others may participate in both system design and implementation (Loboguerrero et al., 2011).
In fact, the operation of a development team depends on several variables, among which the following stand out: the abilities of each member, the roles they play best and their availability to change (Humphrey et al., 2010). On the other hand, it is also necessary to consider aspects related to the conditions of the project, such as dates, requirements and the same contact with the client (Phillips, 2004). Finally, there are the conditions of the tools that the team has. Some researchers claim that usually every function in the team relies on the use of a tool (Phillips, 2004) and the group may have different work tools. Several of these intrinsic and extrinsic equipment conditions cannot be treated or changed, so it is necessary to focus on the methodological and technical aspects of the process (Loboguerrero et al., 2011). Regarding the experience of the development team, the majority of respondents (87.0%) determined to belong to work groups with mixed experiences; that is, some members with a lot of experience and others with little, the truth is that the maturity of a work team is only achieved over time and with the experience of learning to work harmoniously and synchronously with another or other people. Several authors agree that the success of a development team is to ensure that all its members collaborate without problem, assume challenges, are versatile, share their ideas and exchange information regardless of the role they play, because in the end the success or failure it is not a matter of a person but of the entire team (Crawford et al., 2012;Lingard and Barkataki, 2011;Rizwan et al., 2014) The respondents evidenced having different types of experience and skills in the area of software development, despite all the difficulties Puerto Rico has gone through, the creation of new companies in the region continues and although with little maturity in the market. It has caused a dynamism that allows a quick adaptation in a short time of its "new" employees, since they drag their work experiences in other companies allowing them to adapt in a short time and can begin to mature as a team. Therefore It is not surprising that they are familiar with the methodologies they use (82.6%). What is certain is that each project carried out leaves the developer team with precious experiences and learning; hence the importance of systematizing the lessons learned so that they help improve future projects (Pino et al., 2006).
Agile software development refers to SE methods based on iterative and incremental development, these methods are essential in the modern world, where change is the key to the process.
With agile methods the requirements and solutions evolve over time and only organized and multidisciplinary groups are required (Wadhwa et al., 2015). In this regard, it is determined that although in Puerto Rico the "Puerto Rico Agile Group" (Puerto Rico Agile Group, 2015) was created in 2015, with around 175 active members, currently has a little over 427, the organization still does not have the sufficient trajectory so that agile methodologies are known and about all conscientiously applied to software development; since many of the workshops or certifications received by the members of this organization are mainly oriented towards the administrative part of the process. This analysis is consistent with the results obtained in the survey, since 100% of the respondents affirm that they know some kind of agile methodology; However, knowing the theoretical basis of a methodology is not indicative of being able to implement it. The results also allow us to understand why the methodology best known by the respondents is Scrum (34.4%) since precisely the training process of the "Puerto Rico Agile Group" has been based on this methodology and on preparing the affiliates to receive this certification The Human-Computer Interaction (HCI) is the discipline dedicated to the study of the interactive relationship between people and technology, whose main objective is to achieve interactive products that are easy to use, satisfactory to the customer and therefore, useful (Colfelt, 2010). For its part, usability is considered an attribute of software quality (Cheikhi et al., 2006;Ferré, 2003) and indicates the extent of a user's experience, when interacting with a product or system (Florián et al., 2010;Nielsen, 2010;Sánchez, 2011). Despite the importance of these concepts from the point of view of software development, only 21.6% (this data is the same as that presented for the 2015 survey) of respondents value usability and indicate that it is an attribute that should be included in all phases of software development. The remaining 78.4% respond that its use is more necessary only in some phases of the process. Since usability is a non-functional requirement of the system, which cannot be measured directly, but through specific attributes; it is possible that respondents think that it is not necessary to take it into account at all stages of the process and that it may only be necessary to think about it in the requirements gathering phase or in the testing phase; key moments where it is determined how easy to use a system is by users.
The collected results also show that in Puerto Rico, a significant change is taking place from a perspective that begins to sufficiently value the participation of the client in the different phases of the software development cycle; the client begins to have a participatory role and is valued in most stages of development (73.9%) (Figure 4b). All this is possible with the technological openness and the different current electronic communication tools that include conferences and meetings by video-conferences, synchronous and asynchronous; For this reason, the physical presence of the client on-site is no longer essential, developers resort to all these ways of collecting information, and even aspects as important as user stories; They are not obtained face to face, but through electronic communications (69.6%), electronic interviews (78.3%) or by emails (47.8%) (Figure 5). From the point of view of the requirements, the effective communication of the developer with the client is what ensures that the product meets the specific needs of the users while allowing them to have non-technical knowledge of what the new one will or will not do system (Rahimi and Ibarra, 2014).
The basis of software development is communication between different people of different profiles: clients, users, requirements analysts, architecture, designers and developers, testers, test analysts, support and operation people. Communication has so much variability that there is a possibility of ambiguities and differences in interpretation depending on the paradigm that each person has in their head (Turk et al., 2014). In this regard, although developers surveyed in Puerto Rico value communication, they only consider it relevant in the interface design phase; therefore, the probability of making changes to the system are very high, which should affect the time and resources necessary for the execution of a project.
As previously mentioned, to develop a quality software, it is essential to have a series of usability specifications that can be measured by heuristic or empirical tests; Although software design is a creative task and cannot be automated, there are norms or principles that can guide this activity (Mascheroni et al., 2013). In this regard, it was found that in Puerto Rico, a high percentage of developers perform quality tests (87.6%), but these are not necessarily associated with a specific usability technique. Usually developers check that their systems work "convincing users" of the benefits of the system. Through a short training process, users become familiar with the applications and when any problem arises it is the developer himself who tries to solve the problem either in person or remotely. There is no structured training on the different usability techniques, nor is it clear at what time of development these techniques are most useful. Perhaps for this reason, the best-known techniques are empirical ones, which only require the interaction of the developer with the user and do not need a person specialized in usability, with a high level of training, to apply them.

CONCLUSIONS
In Puerto Rico, Computer Engineering is a young discipline in constant evolution, which has been concerned with manufacturing quality software products, although it has not focused on SE processes. For the design and development of software projects, methodologies, models and techniques are applied to solve everyday problems. Over time these methodologies have focused on different phases of the process and currently, developers are aware of the need to adapt several of them to the specific context of each project. There is a high manufacturing trajectory on the Island and the software business is emerging into the future as one of the most promising, although there is no defined global organization for the software industry that governs its development or form of implementation. The state of the software industry in Puerto Rico, is in an evolutionary and changing process, hence the need to propose new ways to develop software, by integrating basic concepts related to software engineering, HCI techniques, usability and agile methods that adequately respond to the needs of a thriving industry that offers great business opportunities inside and outside the country. Also, thanks to its status as an Associated Free State, Puerto Rico enjoys fiscal autonomy, which results in the possibility of offering great incentives to companies that establish themselves on the Island and export their services abroad. Also, the banking infrastructure is highly developed, since it is part of the financial system of the United States and is regulated by the same institutions that govern the banks of the neighboring country. Therefore, it is expected that by proposing more suitable ways to develop software, companies will be able to develop better and be able to compete equally with similar industries in other countries.
This article presents an update of the survey carried out in 2015 on the state of the art of software development in PR, as it can be established that there are advances in the use of agile methods by the different companies surveyed, more and more are companies that understand the need for a development method that guides them through the software development cycle; The importance of including users in the entire development life cycle is also highlighted, as well as the need to train their work teams.