Although the vast majority of software development companies practice the same methodologies from project to project (in particular, agile), each of them still has its own workflow specifics that distinguish them from competitors. In this article, we will talk about our approach to software development and interaction with clients.
Discovery Phase: Who Needs It
Discovery phase in app development involves getting a clear idea of the client’s vision for the project, their business goals, and all future requirements.
It is an essential step for clients who are stuck with the app’s concept or need help getting deeper into technical implementation as well as development requirements. It could be brainstorming the implementation, target audience, algorithm, and other elements, or may need help evaluating the project overall.
5 Stages of the Discovery Phase
We can further break down the discovery phase into six steps:
Introductory call involves getting in touch with the client to discuss their business needs, project vision, and objectives.
Depending on what stage the client is at, they may need a discovery phase service, an audit service, an end-to-end app development service, or something else. This is one of the many things we determine during such a call and define next steps as well as scope of discovery phase, its budget and duration.
2.Creating a Prototype (Optional)If prototyping is needed, the next step involves working with a UI/UX designer. The prototype gives the client and our team a look and feel of the app before moving on to the development phase.
At this point, the purpose of the prototype is to understand how the app will look and function as a finished product. It also helps us identify what modifications need to be made (if any), which is critical to optimize the time spent on app development.
3.Technical Project Research & AnalysisOur team will connect with developers if research and prioritization for the app development phase is required: the time it will take to finish the task, choose a technology stack, define technological architecture, set the development milestones, etc. In this part of the discovery phase, we estimate the value of the client’s technical and business-related requirements. Our CTO, CEO, and development team help estimate the total cost of the project using their extensive experience.
4.Approximate Project TimeplanOnce we’ve discussed all the above, we’ll set out to evaluate the product roadmap, create the timeline, identify the skills required, etc. Our team will determine the estimated time needed and account for potential risks and delays at each phase. With this thorough evaluation, you’ll have a clear idea of the risk percentage associated with each stage.
This stage will help us understand whether you need to give up some of the advanced features to fit the budget or whether you need to optimize other functionalities.
5.Outcome PresentationOnce we’ve finalized some of the critical elements of the project, we’ll present the app idea and design solutions to the client who can still make some changes or propose ideas at this stage.
Request a free quote from Weelorum
We will help you to go through all the stages of mobile application smoothly
Contact usAudit Phase
The audit phase involves analyzing your app’s functions. Audit services are ideal for clients who have already done some (or most) of their app requirements creation, design, development or all of the above. The client may want to make technical changes or additions, look for errors in code, improve the UI/UX part, or need consulting support to manage the project moving forward.
The type of audit performed typically depends on what was already done.
Stages of the Audit Phase
Regardless of the type of audit, most of our audit projects follow the next path:
The first step involves understanding the current stage of app creation and the goals of the audit. Depending on how much information the client can share about the issues they face with their app, our team can gather all pertinent details and start the audit. We define audit budget, duration and outcomes before our team dives into the project.
2.AuditAudits can be centered on UI/UX, existing code and architecture, security, additional features feasibility, analytics integration or new platform migration.
An audit can last for two to three days. During this time, our team checks your designs, code and everything you have according to the steps outlined by the audit goals and method required.
3.PresentationOnce the audit is complete, you receive a full report outlining the results and recommendations you need to implement. We discuss the next steps with our founders to propose estimated time, costs, and processes to the client.
Contract and Prep Work
Before discovery, audit or development stages, we discuss pre-payment, sign the necessary contracts with the client, and proceed with the agreed tasks.
For the convenience of all the app development phases, risk reduction, and predictability of results, we break the software development process into sprints. A sprint is a small, fixed amount of time during which a team completes a limited part of a project. In particular, in one sprint, we create a usable and releasable product increment (e.g., it’s not just a “raw” piece of code but a fully-tested module). A new sprint always starts immediately after the end of the previous one. In our practice, the optimal sprint length for all the stages of building an app is two weeks.
How Is the Payment Carried Out?
Our clients make payments once a week or every two weeks (after finishing the next sprint), based on a report on the number of person-hours spent. To track this indicator, we use Harvest to record the time for each task. Thus, the client can track the project’s progress in real time.
Thanks to this transparent approach, the client understands the amount of money already spent on the finished stages of developing an app and how much is left in the budget.
Planning and Pre-Development
This is one of the fastest stages of application development, lasting about 40–60 hours. At the time of its implementation, there is still no program code and no tested and ready-to-use software modules. There is only a list of requirements from the client’s side, based on which our system architects develop a high-level system design.
Also, at this stage, our specialists determine the technologies and software tools to use in the project, distribute tasks among team members, set the exact time frame, and calculate the final project budget.
As a result, the approved system design defines the list of software components, interaction with third parties, functional characteristics, databases used, and much more. The design is generally approved using a design specification document (DSD).
If graphic design or prototype development wasn’t already completed in the discovery phase, it will be the next step in the process. It’s where our team will develop a UI/UX design for the app after considering the target audience and other factors.
UI/UX Design
The UI/UX design phase involves creating seamless user experiences — intuitive, interactive, and user-friendly. The UI/UX design phase can take three to four weeks on average.
During this phase, the team decides on the colors, fonts, images, text, and other critical details that will make your app’s interface attractive and easy to use. In addition, they’ll also ensure that the users enjoy similar experiences across all operating systems.
Development and QA Testing
After the requirements and application design are finally approved, we move on to the next stage of the software life cycle — writing the program code following the previously defined requirements. From this moment, our system administrators set up the software environment, and front-end programmers develop the program’s user interface and describe its interaction with the server. Back-end developers implement the server part of the application.
Our specialists also create unit tests to check the correct operation of the code for each component of the system, review the written code, create builds, and deploy the finished software in the software environment. This cycle is repeated until all product requirements are met. The process typically requires 7 to 9 developers and uses NodeJS, ReactJS, Golang, NextJS, ViewJS, or Java technologies. For native development (which is often preferred for feature rich mobile apps), we use Swift and Kotlin. For simpler mobile apps we offer cross platform solutions with React Native and Flutter.
As for QA and testing, our company writes the test plan and use cases from the discovery phase onwards. The process is continued after the first or second sprint (depending on the project). In the testing phase, our specialists detect bugs missed while writing the program code. When a defect is found, the tester writes a bug report and sends it to the developers. They fix this bug, and testing is carried out again until the end criteria are reached (roughly speaking, this is compliance with the specification document).
Let’s create your own mobile application!
Contact usApplication Deployment and Support
When the application has passed the final stage of testing, and there are no critical defects left, it enters the release phase. At the same time, our technical support department always stays in touch to leave feedback to users and provide support.
Our post-launch app maintenance and support services come in various packages depending on your project and its scale. Whether you’re developing a location-based application or a fitness app, you can rest assured we will provide the best possible post-launch support.
These packages may cover free fixes over a specified period or maintenance and support for set hours each month.
Other post-launch services include OS and library updates, app updates, and new feature implementation.
When post-release bugs are found, they are reported to our development team. After that, depending on the problem’s complexity, we will either release the update immediately or defer it to the next version of the app.
Projects We’ve Realized Our Approach On
Weelorum is a team of experts with a unique approach to the mobile software development process. As you may have noticed, we pay great attention to the stages of interaction that precede the implementation of the product. In this way, we minimize the number of costly edits, downtime, and release delays. You can see the effectiveness of our approach by looking at several examples of already implemented projects from our portfolio.
- Pro Photo Shoot: model casting and booking app
We built a social networking app for the professional photography industry. We are especially proud of the interface created by our designers: all you have to do is just scroll through page after page to find new models, photographers, makeup artists, and stylists. There’s also an opportunity to send direct messages and communicate in real time.
- Vortex: car wash app
We developed an application for car steam wash services in Abu Dhabi. It allows you to book a wash for your car, track the steamers, and pay for the service. There is a referral program that grants you a free wash for inviting a friend.
- Swim Wise: track your swimming success
Swim Wise is an Apple Watch-compatible solution for counting laps, speed, distance, heart rate, and measuring swimming style. This high-precision application is unique in its functionality and has no analogs on the market yet.
Final Thoughts
As you can see, despite the strict standardization of stages of mobile app development, we have our own “tricks” that ensure maximum transparency of cooperation with us at all the app development stages and protect our clients from overpayment. If you want to start a partnership with us, contact us right now.
FAQ
Why Do I Need the Discovery Phase?
The discovery phase helps clients and developers get on the same page with what they need and expect from the project. Clients can express their vision and reassess their requirements to fit their budget. It ensures the final product matches the client’s expectations. Estimations based on discovery phase materials are usually more precise and customers can always involve more specialists to work the detailed requirements, which are one of the deliverables of discovery.
The results of the discovery phase also help startups secure funding for their app.
Do I Need a PM or Can I Manage Myself?
If your past experience is in project management of software development teams, it could be an option. Otherwise it’s better to hire one from the team you’re working with. The project manager’s role is to ensure all tasks are completed according to the timeline and within budget. They also handle communications between the client and development team and manage all the risks involved in the project. Since in-house PMs usually know their teams better and worked with them for a while, it’s also reducing risks of miscommunications at the beginning of the project.
Will You Help Me Upload Apps to the Stores?
Sure! We can help you with the app deployment process, but you’ll need a developer account with the appropriate app store. Our help can include content preparation like screenshots, descriptions, as well as helping with all the settings in stores.
What Are the Monthly Costs for the App/Website?
The monthly cost for maintaining an app or website is around 5% to 10% of the initial development cost. The amount varies based on the app’s complexity and maintenance factors. Various elements will affect this: server and hosting costs, updates, app store expenses, etc.