11 min read
Everything indicates that the digital world is here to stay. Coronavirus pandemic has forced the whole world to shift online, with both service and product providers moving their operations to the virtual world to connect with their customers. Despite the arrival of vaccines, as seen in the second wave in Europe and Argentina, the first half of this year is likely to be similar to the last few months of 2020. Therefore, if you haven't already done so, it's crucial to adapt your business to this new commercial scenario. In order to assist you, we are providing a step-by-step guide on how to create an application with the help of the entire XOOR team.
How to develop an application? Creating an application is a complex task that involves the collaboration of many professionals in order to meet the client’s requirements. In addition, it is a job that needs a lot of coordination and communication, and that the supplier has to understand the essence of the product to be developed in order to anticipate possible inconsistencies and adapt to the needs of the brand.
In this article:
The whole XOOR team described their tasks so we can tell you step by step how to develop mobile or web applications. The first stage involves receiving the client with their ideas and understanding what they want to execute for their business.
The second stage contemplates the preparation of the project based on what was discussed in the previous step and the budget to be submitted for approval.
Thirdly, the development itself. The assembling of each of its parts, the design and its functionalities. Then, the testing of the product to find possible errors and adjust it with the team.
Fifth, the presentation of the app to the customer waiting for their feedback. And finally, the maintenance of the product.
The first thing you need to start the process of creating an application is a determined client. Companies that are ready to go online, get in touch with the development service provider to set up a meeting.
The first meeting is divided into two parts: the presentation of the development company, and the outline of the product desired by the client. The latter is central to be able to understand if the supplier has the necessary technology to carry out the project and if they can meet the expected needs.
In our case, at XOOR we take this opportunity to explain our work methodology, our values, and to introduce our team, to make sure we are aligned with the client's goal. It is essential that they are willing to listen to our proposals, suggestions and allow us to get involved. We have a team of capable professionals with expertise in their respective areas and ideas to optimize projects, although our policy is that "the client always has the final word".
It is quite usual that the suppliers do not receive detailed information of the product to be carried out because clients usually demand confidentiality agreements or "non-disclosure agreement" (NDA) before.
In this first step, the future client must present at least a list of functionalities that they expect the application to have. If they already have an advanced design and can provide mockups, the preparation of the project and its estimate will be much more accurate. In addition, if they can provide information that helps to understand the objective of the application, what tasks it is intended to perform and who it is aimed at, it is of great help for the team to understand what they want to achieve.
The next step involves preparing a proposal and quotation for the project. To begin, we gather all the information from our initial meetings with the client and analyze the business logic and operation of the app.
With a general idea in mind, we create a sketch of each screen the product will have and a list of features and functionalities. We also consider programming requirements to ensure proper function and an aesthetical design.
At XOOR, we input all this data into a spreadsheet and estimate the time required for each action. Using pre-programmed formulas, we can accurately calculate the project's cost. We share the document with the client so they can make adjustments to suit their budget and timeline by adding or removing optional features.
As the final step of this stage, we draft a contract to clarify the scope and limitations of the work to be performed by the supplier and the responsibilities of the parties involved.
The first step is to decide the type of technologies required to meet the client's needs. We then consider whether any additional research is necessary, which could take several hours to complete.
Next, we evaluate what use the product will have in order to decide infrastructure issues; and also, if the design is already available, or if it is also part of this quotation.
Finally, the quotation, proposal, and contract are presented to the client in a meeting. After both parties sign the agreement, we move forward with scheduling and executing the plan.
To begin the process of creating the application, project leaders meet with the developers who will be responsible for the project to plan the work weeks and methods.
How long does it take to develop an application? Planning the production process
During the initial work period, the "team velocity" is calculated, which determines how long it takes to complete a unit of work. This information helps the team to schedule the total time of the project more accurately.
It is important to note that the scheduling and planning of product development is not rigid. Project leaders continuously monitor deadlines and modify them as necessary due to unforeseen events. They also anticipate developer needs to prevent unexpected situations.
Every day, a brief meeting is held between project members to update everyone on progress. If any process is blocked, the team works together to find solutions.
The work of developers begins when a Project Manager (PM) assigns a project to them and provides all the data collected as a result of research.
First, developers require the product's flow details, functionalities, and all relevant information. They discuss and determine the tools and technologies that will be used to develop the application.
Together, they analyze the product and create a list of tasks, sections, components, and product units. Once these stages are completed, they schedule the progress of the following tasks.
After each work unit, a meeting is held with the client to showcase the progress made, receive feedback, clarify doubts, and address any concerns.
This step is crucial because it allows the client to directly communicate with the developers, share their vision, and provide feedback on adjustments they may consider necessary. Additionally, developers can explain why they have made certain decisions.
This exchange of information leads to specific tasks being incorporated into the product development schedule and planning.
The design phase of an application is just as important as the development phase, as it directly affects how users will interact with the product.
During this stage, collaboration with other development teams is crucial. Project Managers (PMs) define the guidelines based on the client's needs, while developers focus on the technical and functional aspects and bring the design to life. Additionally, QA testers are essential in identifying any issues or areas for improvement.
The user is at the center of the design process, and the design must align with the client's objectives. Therefore, the research conducted in step 2 is critical, including investigating similar products to determine how they work, their similarities, differences, and target audience. This information is then used to determine the tools and resources that will be used.
Typically, wireframes and mockups are created to show the main functionalities of the product before presenting an initial prototype. The initial prototype represents a more advanced version of the product that serves as a starting point to confirm that it aligns with the client's expectations. Finally, the final product is delivered. While these stages are ideal, they may be combined due to unforeseen events or time constraints.
To deliver a successful product, a balance must be struck between the client's requests, the end-user, the timeline, and the budget agreed upon by all parties involved.
Testing is the final instance in the development of a mobile or web application. Its purpose is to verify that the product works correctly and fulfills the intended purpose. This stage is critical in ensuring the quality of the application.
XOOR specialists take great care to detect any inconsistencies, errors, or bugs that could harm the user's experience.
To achieve this, the team first focuses on the client-approved requirements, dividing the product's functionalities to test them individually and identify any errors or failures early on. Ease of use and intuitiveness are crucial factors to verify, given the wide range of users who will access the application.
When a failure is found, the QA team checks if it is reproducible and provides a detailed description of the steps leading up to the issue. This information helps developers identify the problem in the code and correct it.
Once corrected, the QA area is notified and retests the functionality. If the fix was successful, the area checks again at a macro level to ensure the fix did not cause other problems.
Once all the bugs have been fixed and the Project Manager has given approval, the product is considered finished.
The final step is to present it to the client and make it available for download in online stores. To do this, the developer or the company must register as a developer, pay a subscription fee, and upload the product to the market.
The stores will then review the content and decide whether to approve it for download, either for free or for a fee. The time it takes for the product to become available for download depends on the store and may be influenced by consumer demand.
The maintenance stage involves fixing any production failures that were not detected during development, and updating the technology and bases on which the product was built, such as library versions, frameworks, or operating systems in the servers. While only a few hours of monthly work are required for maintenance, it is essential to ensure the proper functioning of the product. It's worth noting that the development of new features is not part of the maintenance stage.
To close, it is important to clarify that this is one of the many ways in which applications are developed. This is the one we have been using for some years in XOOR and it is what we find most effective. We hope we have cleared your doubts about the process of planning, production, development, design and testing of an application. But if you have any questions or even want to ask us for a meeting to discuss ideas, you can write to firstname.lastname@example.org.