Although the vast majority of software development companies practice the same methodologies from project to project (in particular, agile), each of them still has their own workflow specifics, which distinguishes them from competitors. In this article, we will talk about our approach to software development and interaction with clients.
Let’s Start with the Discovery Phase
The discovery phase is one of the first stages of app development, in which developers identify project requirements and analyze the set business goals to make assumptions about the project’s technical implementation, fix the timeline, and estimate development costs. Find out more about the features of this phase in our company below.
Let’s start with startups: what are the main steps in application development in this case?
- The introduction call. We begin our cooperation with a call to discuss the client’s goals and the reasons for the project implementation. We also ask how many specialists the team currently consists of, analyze the idea, and make recommendations based on our previous experience. If necessary, we document some key functions and features of the solution with tags. As a result of all this, the client forms the user flow.
- Connecting with our designer. Next, we organize the call with the participation of our designer. During this call, we discuss the input for prototyping. After this, the designer gets acquainted with the information received and estimates it for further creation of a flowchart that will describe the user’s path in the solution and prototypes. The final estimation takes place after the implementation of the flowchart.
- Connecting with our PM. After previous preliminary phases of application development, we join our project manager, who is also involved in communication and work planning from this moment. After the final approval of the flowchart, the designer estimates the prototypes and creates 1–2 main screens to show the client what the future solution will look like.
- Approving the prototypes with the client. At this stage, we call the client, present our work, estimate prototypes, and proceed to their creation. The work moves in sprints, and the client participates in communication and gives feedback about the work. We make revisions every week. Since then, the PM and the designer get involved in implementing the next application development phases.
- Design development. When the client approves the implementation of prototypes, the designer estimates the full-fledged design, and the team lead estimates the development. If the project has complex logic, we additionally describe it in the documentation. Thus, we get full information for further technical analysis and estimation of development services.
Request a free quote from Weelorum
We will help you to go through all the stages of mobile application smoothlyContact us
Post-MVP product development & scaling
If the project has already been launched and the client contacts us for its completion, the process of our interaction includes the next preliminary mobile app development phases.
- Getting to know the client’s product. First, we get to know the client, and discuss the business needs, the current team, and existing problems with the product (for example, performance, design, analytics, etc.). Also, at this stage, the client provides us access to the source code, design, and analytics.
- Analysis. At this stage, we analyze all the project components with the designer and the team lead. Also, in some cases, we bring together the entire team to discuss how to optimize the existing solution and generate new ideas. Thanks to this, we determine what we can offer the client, taking our expertise into account.
- Discussing our offer with the client. We organize the call with the client, present the work done, agree on an action plan, and estimate our development services. If the client already has development ideas, we also analyze them and estimate them. After agreeing on this assessment, our specialists begin to work. Everything that we do before the assessment is absolutely free.
Collateral projects (outsourcing) for growing startups
Basically, these clients come to us with a ready-made list of technical requirements. They already have a well-formed backlog of work and a clear understanding of what kind of specialists they need. In this case, we conduct the following preliminary phases of app development.
- Client business analysis. We analyze the specifics of the client’s business and the development team with whom the client has previously worked and decide on what our previous experience is relevant to solving current business problems.
- Technical interview. Next, we conduct a technical interview involving a specialist from the client’s side and a CTO from our side.
- Technical analysis of the existing solution. At this stage, the client provides us with access to the source code and scope of work to analyze the quality of the program code and the development approach. Thus, we conclude how long the work on the project can take.
- Feedback to the client. We provide the client with feedback on the quality of the code, describe the possibilities for its optimization, and assess new tasks. If the client is ready to partner with us, we agree on the cooperation models and get to work.
Plan of App Development Process
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.
This is one of the fastest stages of application development, lasting about 40–60 hours. At the time of the implementation of this stage, 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).
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.
As for QA and testing, our company usually conducts it 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. The developers fix this bug, and testing is carried out again until the end criteria are reached (roughly speaking, this is compliance with the specification document).
When the application has passed the final stage of testing, and there are no critical defects left in it, 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.
When post-release bugs are found, they are reported to our development team. After that, depending on the problem severity, we will either release the update immediately or defer it to the next version of the app.
Weelorum is the Best Partner for Mobile App Development
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.
Yellow Brick Cinema: relaxing music app
We developed a music streaming app that lets users choose between different music genres, customized tracks, nature sounds, and beats to relax, sleep, and study to. The team came up with the concept and found a way to monetize it, created a style guide, designed the UI/UX, and developed the software.
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.
Let’s create your own mobile application!Contact us
As you can see, despite the strict standardization of stages of mobile app development, we have our own “chips” 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, write to us right now.
What are the main stages of mobile app development?
Typically, the lifecycle of a software product includes several key stages in application development:
- analysis of the client’s requirements;
- drawing up a list of technical and non-technical requirements for the project;
- choice of technology stack;
- writing program code;
- testing and debugging;
- deployment and launch;
- technical support and updates.
What is the difference between Scrum and Kanban?
Both Scrum and Kanban are terms from the Agile methodology, which implies the iterative execution of key stages in application development and the division of a project into subtasks. Scrum is a way of organizing workflows for developing new products, and Kanban is a management tool. In terms of goals, Scrum is ideal for developing start-ups and innovative solutions without requiring radical changes to the work processes of other departments or the company as a whole. As for Kanban, this tool enables companies to quickly respond to market changes, allowing them to quickly adapt to new realities.
What is the cost of mobile app development?
The cost of mobile development always directly depends on the complexity of the project, its scale, the specialization of developers, the urgency of the release, and many other factors. As for the mobile development services provided by our company, creating a product from scratch starts from $10,000.