Pre- Dev Planning
We first define the team and confirm the design handoff to ensure we deliver a seamless development process. We use the design deliverable to estimate the project scope and user requirements, which is why guesswork has no room here. It helps our development team understand the exact needs based on the tangible element rather than following assumptions. After reviewing the design, we can create the project milestones, user stories, and sprint planning.
Our development team will meet with the design team to onboard them into the product they will code. In this meeting, the designer will navigate the developers through the design process, including the research, style guides, and prototypes to provide the entire app workflow, covering the journeys of the involved users. Our design team stands for extremely detailed documentation on the design files and prototypes, ensuring the developers have everything they need to understand the features and app functionalities.
Once the app and user requirements are understood, the technical team and scrum master will implement a milestone iteration project plan to define the release calendar. In each iteration, we establish the epics and goals as part of the project plan to ensure the client can test the app features as we complete them; in this way, we deliver incremental features instead of waiting to have one single release to test the product – this helps validate the app features individually, and brings the possibility to receive feedback in early stages.
The project manager begins creating user stories based on the milestones agreed upon in the previous step. User stories are development tickets that indicate what the dev needs to build; the documentation provides all the details of the feature and also the acceptance criteria that the QA will take into account to validate if it is working as expected. Each user story has a developer assigned, including an estimation with hours and priority.
As a result of user stories creation, we create two weeks sprints. Each one has a bunch of stories to fit the time estimation; commonly, our sprints have five working days of 6 hours daily, which means that a two-week sprint will work 60 hours of user stories estimation, and each story will be assigned to a developer by the project manager.
Once the team has all the necessary information, we start active development. We kick off the two-week sprint and do daily meetings to review: To-do tasks, In-progress, and completed. At the end of each sprint, we have retrospective meetings to launch features as agreed on the milestones.
The developers will be assigned user stories with estimations for each week and sprint, executing the preferred coding language and framework to complete the project. During the process, the technical lead will help solve any blocker or concern to ensure fewer technical faults.
After completing the stories, the developers run automated tests to validate the code is working correctly. The test and lint code are crucial to avoiding errors as new code is released and saving time and money. The team will validate every step and formalize the stylistic and programmatic errors. We support our test coverage process with the following tools: JSLint, Rubocop, Rspec, Jest, Testing Library React, and Cypress
Once the story passes the automated test, a QA will review the acceptance criteria and validate through various demos that the feature is working as expected, including functionality, design, and devices. If the user story passes QA, it will be ready for deployment. If not, it is documented with error founds and assigned back to the developer to fix it.
As a result of completing all user stories, we end up building the entire product. We perform the deployment upon client approval. The process is automatic and uses the GitHub workflow process. For this purpose, we use tools such as GitHub workflow, Amazon AWS, Gatsby Cloud, Amplify Amazon AWS, and Heroku.