You may already have an app idea and you’re just starting to investigate what the mobile app development process would entail. Or you might be on the brink of investing in a native mobile app and you’re looking for the right agency to develop it with. In any case, this article is for you.
It’s been a few years since Tapptitude went into the business of developing native mobile apps. Consequently, we thought it’s about time we let the world know just how we do it.
Here is how the typical app development process works in our case.
1. The non-disclosure agreement
Trust is an important factor to us, and we believe that open communication is key to efficient work. That is why we always start things off by signing an NDA Agreement. This way, both we and the client can rest assured that the information and ideas we exchange are protected. Then we can jump right into the project details, which brings us to our next question: how well-defined is the mobile product in question?
2. Product specs & design
The specifications of the app, as well as its design, should be the result of research regarding the market the client’s going into and the target audience they’re looking to engage with. It’s very important that the features of the product come as a solution or complement an existing situation.
If the app specs are missing or lacking in certain areas, we usually work together with the client to define all the aspects of the product, in one or a series of face-to-face interactions that we call Product Development Workshops.
During these workshops, we’ve got the client team (founders, usually, if it’s a startup, or product manager & other product people in case of more established businesses) and a few senior mobile specialists on our side: a Product Strategist, a Tech Lead and, when needed, a UX designer. In this team setup, we work together to define the business model from one end to the other, then the user segments, then move on to the features, flows, technology implications and final screens of the app.
The result of our Product Discovery Workshop is a full list of product specs (displayed as user stories) and designs for all the major flows, aggregated in an Interactive Prototype.
Having an Interactive Prototype of a mobile app is the closest you can get to knowing if it’s what you wanted without actually investing in developing it. We strongly suggest that changes to the product should be made in the app prototyping phase, if possible. A prototype is obviously a lot cheaper, easier and faster to work with, so it’s the best place to start.
3. Project development estimate
Once we’ve got a clear definition of the product – fully documented product specs and a prototype we can play with, the designated development team takes a close look at the project.
In our experience, working with user stories has proved itself most efficient. As we focus on having detailed user stories to sum up the product’s specs, things are pretty simple in the estimation phase. Each mobile developer can estimate the time it would take them to develop a specific functionality, making for a clear development plan.
The final estimate is the result of adding up all the necessary hours and multiplying that by our rate card. We use a seniority-based pricing in our rate card. You can get to know more about our team here.
4. Signing the contract
Having a final budget both we and the client agree upon, we can move on to signing the contract. Besides being an official agreement, this contract is a very helpful documentation of the project we’re embarking on, especially for the client.
The contract contains a development plan and a schedule. Having these at hand, the client knows what to expect from us at all times.
In our case, mobile app development happens under the strict laws of agile development. We work in two-week sprints and have a demo for the client at the end of every sprint.
The benefits of agile development have been stated loud and clear in the past years. In our experience, an agile process to develop mobile apps has made for a higher level of satisfaction for both us and our partners.
To us, agile development means a closer, more effective collaboration with our clients. It enables us to better understand the client’s needs, thus work in a manner that has a positive effect on their business. We can develop each app feature with the exact customer profile in mind, because every step of the way, the client shares their knowledge and insight with us. Working together like this makes for a high-quality mobile product, that fits the business to a T.
As for our clients, the feedback has always been positive. Agile development is a transparent work process that enables the client to plan ahead and make changes easily. Having a timetable of when each feature will be ready translates to predictable delivery and costs. Thus, it’s easy for the client to integrate the mobile product in the overall business plan.
6. Testing & QA
The rules of agile development apply to our testing phase as well. By breaking down the project into manageable units, we intertwine the testing phase with the development phase for the best results. Conducting the necessary tests and reviews for every development unit, we never fall behind with any bug fixes, and we can predict future changes that might be necessary early on.
7. App release
Finally! The moment we’ve all been waiting for. Within this final step, we help the client by submitting the app into the designated app store(s). If necessary, our in-house marketing team can write the necessary copy and prepare the right visuals for the product’s app store page.
Our work ethic is based on the fact that we see our clients as our partners. With every project we’ve worked on, we tried to better ourselves and come up with solutions for the needs of the people we work with. All of the experiences we had and all the feedback we got has played a part in deciding on the work process presented above. We believe it is of as much help to us as it is to our partners.