Design of a Mobile Application for the Automation of the Census Process in Peru

This study shows that the traditional census process in Peru has many shortcomings, including the loss of data and the long duration of the process. To solve this problem, a mobile application was designed to automate the census process in Peru. For the development, we will rely on the agile scrum methodology, Balsamiq Mockup and Adobe XD tools, for help us to make prototypes of this application. In the last census, many families were not registered due to lack of time or other factors, so we designed this prototype of a mobile application, which will help the census taker to make the data recording process faster. The result obtained is the proposal of a productive approach, optimizing the census process, through a mobile application, where each census taker will register the data of the families on the census in a faster way and this information will be taken directly to the database of the organization conducting the census, thus avoiding loss of data, saving time and money. Keywords—Automation; Balsamiq Mockup; census; scrum


I. INTRODUCTION
In many countries around the world and the United States, the census process has had a very drastic change, they put aside all the paperwork and automated this process, now the inhabitants of that country can be registered using a web platform or a phone call, the use of a web platform allows the user to insert data more accurately about himself and his family. Census refers to the process of retrieving, compiling, and publishing demographic data, economic and social data of all people in a country or territory at one point. However, conducting a census isn't free of problems. It has become a delicate and challenging subject, especially in Nigeria [1].
On the other hand, in Peru the census process is "very outdated", result of that, data is inaccurate, a clear example would be the bonus that the government distributed because of the pandemic, which was distributed to the most "vulnerable" population in the country. Unfortunately, due to the inaccuracy of data, this bonus was not distributed properly, since there are families who met all the requirements of the bonus, but were not beneficiaries of it.
While some countries make extensive use of census data such as the U.S. That Use U.S. Census Explorer that provides information for intuitive analysis of census data, others underexploit, null or limited the integration of census data with data from other sources for development planning and analysis [2]. Due to the loss of data within this process, the inhabitants are exposed to losing certain benefits provided by the state, a clear example would be the budget allocated for the execution of various public works, this loss of data generates that these budgets are lowered, or the citizens as individuals do not enter into a specific pattern. Researchers and health services often use the information on ethnic origin to plan services, ensure equality of access, and epidemiological studies [3].
One of the most known software is "Geographical Information System" which is used in Spain to analyze the impact of tourism, this software can be taken as a model to design an application for the census in Peru, because, this not only records the data of the geographical location where tourists come to the country, also sends you reports by specific areas as the approximate number of people who are by temperature measurements [4]. Also, the application that will be designed will not only have the registration of the families, it will also have a report section, where you will see the number of families that were registered and will be able to give a statistical report of the population growth compared to the previous census.
Another known software is CartoDruid that receives information about crops and plots from different geographical areas, the River Surveillance Agency (RSA) collects agronomic data on the type of crop inspected, its phenological status and the irrigation system used in each of them. Researchers use this tool to solve problems with the use of geographic information, both to be able to consult and edit them [5]. From this software we can get the most important thing that the handling of largescale information divides by regions geographically, and can be of great help in Peru since there are places "hidden" where the census does not reach and that is an important data loss.
The objective is to design an application to automate the census process in Peru and to avoid data loss.
The points to be touched will be, in section II literature review, where it shows research similar to this work, in section III methodology, where you will see the tools that will be used for the development of the application and the scrum framework, then in section IV will go on to make the case study as proposed in the methodology , then section V presents the results and discussions, finally in section VI to make way for the conclusions.

II. LITERATURE REVIEW
In the revision of the literature there is a thesis and article regarding mobile applications for census.
This thesis by Julio Gonzales, describe the process of developing a mobile application and a web platform for the organization Techo Guatemala, explains the creation of a tool that facilitates the process of taking and managing data collected during the census, because it will be carried out in remote areas of Guatemala City, the mobile application conducts the census without internet connection and, subsequently, synchronizes the raised data with the web platform, this application for mobile devices is effective for lifting data and there is no need to invest in physical and expensive resources such as paper ballots [6].
The following research by Tarik Bourezgue deals with the use of tablets for the 2018 Algerian census: census data management and quality assessment, we talk about how tablets with mobile chips are used to collect information. rather than the traditional paper questionnaire. the author's idea is to deliver a tablet containing the census application to each packer through which they can collect census data and update the collected data to the census database over mobile networks, this tool serves to ensure that the ONS meticulously lists and presents census data with minimal difficulties and minimal risks to have accurate data to have accurate data [7].

III. METHODOLOGY
For the development of the methodological section below we describe in detail the steps to be followed for the development of the mobile application. For this development, we will use the agile Scrum methodology, as this provides us a development environment with more value towards the product. Also, the development tools are detailed, which are the programming language Kotlin, the database manager SQLite and the development environment IntelliJ IDEA, on the other hand, there is also talk about the design tools that are used, which are, Balsamiq Mockups for the initial design and Adobe XD for the final design.

A. Scrum
Scrum is a very useful framework that helps teams to work in complicated environments, where the requirements are very variable and the results must be given in a short period [8].
Scrum is composed of the team roles that are: the product owner who in most cases is the spokesperson for the company or client and is responsible for managing the backlog; the scrum master who is a leader with advanced knowledge of the scrum methodology, however, he does not have hierarchical authority over the group, it can be said that he is more like a guide who helps implement the methodology correctly, facilitating meetings and helping the product owner to prioritize the backlog; and the scrum team that can be composed of 3 to 9 members who must be well organized and committed to the project to perform the tasks agreed in each sprint [9].
Then we have the Scrum events that are predefined to collaborate as a group to improve their knowledge and reduce meetings, such events are: 1) The Sprint: It is given over 1 to 4 weeks during which time the team must perform the planned tasks [9].
2) Sprint Planning: Where it is determined which tasks will be performed and handed over at the next sprint [9].
3) Daily: It is a daily meeting of a maximum of 15 minutes where each member of the group quickly informs what they did yesterday, what they will do today, and if they had any difficulty in advancing the project [9].

4) Sprint
Review: This is where the work is done according to the sprint is delivered to the product owner for review and to verify if it meets the requirements to be accepted or if some changes need to be made [9].
5) The Retrospective: It is the final team meeting where lessons are learned, for continuous improvement and use in the next development [9].
Finally, we have the scrum artifacts that provide primary information to have a better understanding of the project being developed, such artifacts are the product backlog, which is the list of tasks where the project requirements are described that are prioritized according to the value it gives to the business; the sprint backlog, which is a specific list of requirements chosen from the product backlog to perform in a sprint; and the increment that is the sum of the tasks that were performed since the last version of the product delivered [9]. Fig. 1 shows the process followed by the Scrum methodology It is an object-oriented programming language, which develops both web and mobile applications, whether iOS or Android. Also, it is developed in the Java Virtual Machine (JVM) and its main advantage is that it reduces the repetition of code, something that helps the programmer a lot because it saves resources and time [10].
2) SQLite: Database performance is a very important factor in the development of any mobile application. Some of these mobile applications need fast feedback, others process a large amount and variety of data, and without the support of modern database management systems, this is almost impossible [11]. SQLite is a database engine that has built-in SQL. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to normal disk files [12]. It is the most suitable option in terms of development for mobile applications since it provides a large storage size, stability, and performance for development.
3) IntelliJ IDEA: IntelliJ IDEA is an integrated development environment, written in the Java programming language for computer software development and later also used for mobile applications developed specifically for Android. It is developed by JetBrains and is available with a community edition where the Intellij IDEA community provides support [13]. This IDE has a friendly and powerful environment which allows developers to work dynamically and accurately.

C. Design Tools
To design the mobile application, we used two design software, first, we used Balsamiq Mockups to get an initial view of the wireframe of the application, this helps us to know which elements will be used and where they will be positioned. For the final presentation of the design, we use Adobe XD, this software allows us to have a more detailed appearance thanks to its vectorial elements and gives us options of interactivity for the design of the application.

1) Balsamiq Mokups:
It is a wireframe design tool for mobile applications and web interfaces, with its sketch appearance helps to create the initial stages of basic prototype development to have an initial design of the mobile application.
2) Adobe XD: Adobe XD is a tool for the design of mobile interfaces developed by Adobe Inc, it allows to create of a preliminary image of the final version of the interface using thousands of vectorial elements, this benefit both the developers and the user since it allows the interface to be very interactive.

IV. CASE STUDY
A. Beginning Stage 1) Identification of requirements: We will identify the indispensable requirements for the development of the mobile application as shown in Table I.   TABLE I

REQUIREMENTS
The application must allow the connection to the information platform using the identifier of each census taker; this is the ID number and password. The application must have an initial menu, where you can add a new census, visualize the registered houses, census map and user profile. The application within the new census option should allow you to fill out information on a form based on the census card format. The application within the option to visualize registered houses must have the possibility to visualize in detail and modify the previously registered houses The application within the census map option will allow you to visualize the places that have already been counted in real time and the location of the user. The application within the user profile option will owe the data of the census taker and will be able to make change of password and mail.
2) User Stories: We defined the user stories, these user stories were written considering roles and requirements as shown in Table II.   TABLE II.

USER STORIES
As a census taker I want to access the application through a login to manipulate its menu. As a census taker I want to access the new census option in the main menu to register a new census. As a census taker I want to fill out a form based on the census card format in order to register the housing census. As a census taker I want to access the option to visualize houses in the main menu to see all the houses registered by the logged-in user. As a census taker I want to access the option to visualize houses in the main menu to modify a house that is already registered. As a census taker I want to access the census map option in the main menu to see all the homes listed around the user's location. As a census taker I want to visualize my location to know exactly where the user is. As a census taker I want to access the option my profile in the main menu to modify data such as the user's email or password.
3) Management of the backlog: The backlog was managed to prioritize the most or least important user as shown in Table  III, also used the estimation method planning poker which will be discussed later.
B. Planning Stage 1) Poker planning estimate: Planning Poker is one of the most effective and well-known techniques in the world of agile development methodologies to estimate [14]. The agile dynamic was carried out with the scrum team and the final results were noted in Table IV. 2) Sprint Planning: In this subsection the planning of the sprints will be done, which were defined in 4 sprints, within them are detailed the stories to be made, the person in charge As a census taker I want to access the application through a login to manipulate its menu.

HIGH 2 2
As a census taker I want to access the new census option in the main menu to register a new census.

HIGH 1
3 As a census taker I want to fill out a form based on the census card format in order to register the housing census.

HIGH 13
4 As a census taker I want to access the option to visualize houses in the main menu to modify a house that is already registered.

MIDDLE 5
5 As a census taker I want to access the option to visualize houses in the main menu to see all the houses registered by the loggedin user.

MIDDLE 2
6 As a census taker I want to access the census map option in the main menu to see all the homes listed around the user's location.

MIDDLE 13
7 As a census taker I want to access the option my profile in the main menu to modify data such as the user's email or password.  of making the story, the estimation time, the acceptance criteria and the user for whom the story is intended.
a) Sprint 1: For the development of sprint 1, two user stories with high priority were taken, the people responsible for each story were also designated, the acceptance criteria were defined and finally the realization of this sprint gave an estimated time of 3 calendar days. All these aspects are discussed in more detail in Table V. b) Sprint 2: For the development of sprint 2, 1 user story with high priority was taken, the person responsible for each story was also designated, the acceptance criteria were defined and finally the realization of this sprint gave an estimated time of 13 calendar days. All these aspects are discussed in more detail in Table VI.  For the development of sprint 3, two user stories with medium priority were taken, the people responsible for each story were also designated, the acceptance criteria were defined and finally the realization of this sprint gave an estimated time of 7 calendar days. All these aspects are discussed in more detail in Table VII. d) Sprint 4: For the development of sprint 4 a user story with medium priority was taken, the people responsible for each story were also designated, the acceptance criteria were defined and finally the realization of this sprint gave an estimated time of 13 calendar days. All these aspects are discussed in more detail in Table VIII. e) Sprint 5: For the development of sprint 5, two user stories with low priority were taken, the people responsible for each story were also designated, the acceptance criteria were defined and finally the realization of this sprint gave an estimated time of 3 calendar days. All these aspects are discussed in more detail in Table IX.

C. Development Stage
In the next sub-section the development stage is carried out, which consists of the realization of the initial prototyping, then the revision of the sprints, and finally the realization of the prototype for the final user.
1) Initial Prototype: For the development of these prototypes were used previously planned sprints, these were analyzed and made in order of priority which facilitates their development, and allows the scrum team to have the objectives met in the estimated time.
a) Initial Prototype-Sprint 1: The development of this initial prototype is based on all the aspects that were detailed in the planning of sprint 1, see Fig. 2.
b) Initial Prototype-Sprint 2: The development of this initial prototype is based on all the aspects that were detailed in the planning of sprint 2, see Fig. 3.   2) sprint review: The Sprint Review is performed at the end of each sprint, this has a duration in hours equivalent to the time in days or weeks of the sprint. The product owner was responsible for reviewing what was done and identifies what was not done from the backlog; the Scrum team reports on the problems found and how they were solved, shows the product and its operation, if necessary or if the product owner asks for changes can be made. This meeting is of great importance to continue with the following Sprints [15]: 3) final prototype: For the development of these final phase prototypes, it was necessary to make a thorough review of the sprints where they were accepted or denied acceptance criteria, this helps in having a better version of the initial prototypes.  Fig. 7 b) Menu: This is a more detailed and stylised model for presentation to the end user, this design comes from the Initial-Sprint 1 prototype. See Fig. 8. c) Census Registration: This is a more detailed and stylised model for presentation to the end user, this design comes from the Initial-Sprint 2 prototype. See Fig. 9. e) User Profile: This is a more detailed and stylised model for presentation to the end user, this design comes from the Initial-Sprint 5 prototype. See Fig. 11. f) User Location: This is a more detailed and stylised model for presentation to the end user, this design comes from the Initial-Sprint 4 prototype. See Fig. 12. For the case study, the design of the mobile application for the automation of the census process in Peru was carried out to make sure that the end-users have a non-complex interaction with the functionalities provided by the application. As a first tool for the design of prototypes, Balsamiq Mockups was used, since by its easy use it is possible to develop different types of prototypes for both web and mobile, comparing it with other research works we can see that most of them use this tool  [16], however, we believe that Balsamiq mockups do not show an interface that comes close to what you want in a more professional design, for this reason, it was decided to use the Adobe xD a tool to make the design of the final prototype because it showed an interface that allows a better idea of the creation of the application, can also be used as a base for implementing it in the Intellij IDE and only make the programming of the mobile application.
The Census is the largest data collection and processing process that exists in a country and serves as a basis for decision-making in the public and private sector, as well as a reference framework for egress and income calculations, living conditions or any other type of research that can be carried out, on the other hand the data obtained may be inaccurate, incomplete or have few groups and/or key areas [17] [18].Because this process is very "outdated", this leads to data being collected being lost or confused somewhere in the process.
1) As-is: Fig. 13 shows the current census process. 2) To-be: Fig. 14 shows the census process with the implementation of the mobile application.
As you can see, the change is very drastic, the improvement results in a shorter and more effective process, this means that the automation of this process is one of the best decisions that can be made, the process must be put aside. traditional census and Implement this new process because it avoids the loss and mixing of data, which benefits future projects that are carried out.

B. About the Methodology
For the methodology, Scrum was implemented for the development of this work, since it allows to manage technology projects and keep them in order, giving more value to the product through its deliverables and the constant participation of the client. The estimation and the correct priority of each user history give benefits to the Scrum team since thanks to these it is easier to achieve their objectives. In comparison with other methodologies such as RUP which is a traditional methodology and is used more for the analysis, implementation, and documentation of projects [19], but its main disadvantage is that it is not subject to change in the full stage of development as scrum, also, scrum offers the client if the product is meeting the requirements that were raised from the planning, a rule that cannot be given in RUP, because you have to wait until the end of the phase to make changes, all of this is further detailed in Table X. Knowledge needed to achieve a goal. Changes are in a phase.
Involve from the beginning and everyone is given a role. It is modeled by use case.
Deliverable on time. It is closed in architecture guided by risk.
Reduces the cost of change at all stages. In small projects, the costs of dedicating the necessary team of professionals may not be covered.
Visible, transparent by the specialist team.

VI. CONCLUSIONS AND FUTURE WORK
Finally in this research we managed to carry out the design of an application to automate the census process in Peru with the use of the Adobe Xd tool, since I give us a more realistic prototype to what mobile application will be like in its development. The Scrum framework was of great importance, as it allowed a development with more value towards the product and thus in the future it is hoped to complement this research article with the development of all the functionalities in order to make the mobile application a reality. And as future research work, we will expand by surveying everyone involved in the census process, on the other hand we want to complement the article with the development of this mobile application, as it is presented as a useful tool for the problem posed. It is hoped that this mobile application can continue to be developed by implementing new functionalities and giving it future changes according to the needs of the user and the organization.