Software development is a set of complex processes. The way they are arranged defines not only the level of efficiency, but the experience you get as a customer. No wonder that many clients ordering IT services prefer to dive deep into details prior to taking any decision.
Components of Successful Project Delivery and How to Control It
Our clients often ask us about the workflow: What is the frequency of meetings? How does the company transmit the work results? How can I (client) control the performance of tasks? And more. We believe that it's of great importance for you to discover all the details regarding cooperation as early as possible.
This is the reason we write this article. Read up to learn how the full cycle of development looks like and how you can control each development stage as a customer.
By the way, if you don't have much time for reading the full article you may watch a short video on this topic.
Successful Project Delivery and How to Control It?
Let's start with the very beginning of interaction between the company and the client and consider every project delivery stage.
Project development stages
At this stage, our account manager defines your project's concept as well as features and goals of the ready-made product. To do that, we determine the following points:
- The platform for which the application will be developed.
- The scope of functionality.
- Potential third-party services that might be used in the project.
- Design requirements.
- Special customer requirements.
Having learned as many details as possible, the account manager generates a rough estimate which is an approximate number of hours the development team will spend on implementing your project. We indicate the minimum and maximum time the implementation of each feature will take.
Put simply, we estimate how much time and money it will take to develop your app or website and send those estimates to you. After this, it's for you to decide whether to continue cooperation with our company or not. This stage is free of charge.
In case you decided to continue working with us, the next stage is just around the corner.
As said, even the very first rough estimate must be approved by the client. This way, it's possible to make adjustments and amendments during this stage. It's often the case that throughout the creation of a rough estimate, we/our clients discover new details and supplement the project with them.
It's also called Sprint Zero. This stage includes the preparation of specifications and wireframes. They are needed to create a detailed estimate of your project as well as plan everything out before proceeding with the development.
Meetings are vital at this stage. The more frequently they are held, the better. We ask our clients to count for 2-3 meetings a week.
Note: Clients pay for this stage in accordance with a fixed price model or time & material model. The latter is applicable in case the scope of work isn't clear from the beginning and the client wants us to define it.
So, let's each part of the planning stage in more details.
Specifications are created to document all the project's features. Namely, the scope of functionality that has to be developed. Apart from the technical peculiarities, specifications also describe the interface specifics. They contain a detailed description of a user flow: what a user is supposed to do, what happens on the screen after one or another action, etc. Finally, specifications spell out the stages of project development and other related details.
Wireframes are screen blueprints. Put simply, it's a schematic placement of elements in the design of the future product. They are needed to agree on the design strategy with you as well as build the final version of the design faster. Our designers craft wireframes only in case a client has no design for the project. This stage is excluded in case the client has a ready-made product's design.
How project wireframes look like
A detailed estimate is the final phase of the planning stage. Time estimates are more precise here and represented by a single value. However, we add a certain percentage of risks to this value in order to protect you from unplanned expenses. They indicate how much longer the development might take compared to the final calculations. The more complicated the project is, the more percents may be added.
Each of the aforementioned steps is agreed with you before moving to the next one. The planning stage is obligatory since customers often have new suggestions which, in some cases, can be impossible later. Besides, the thoughtful planning helps to eliminate misunderstandings and implement your vision of the project as accurately as possible. At the end of the stage, you're aware of estimates and own all the documents we've prepared. Then, it's for you to decide whether to continue working with our company or not.
Signing a Contract
If you took the decision to continue working with us after the planning stage, we sign a contract and get to work. The contract spells out all details regarding the interaction between the customer and supplier, terms of work, the stage the order can be considered as fulfilled, cases in which a termination of the contract can take place, etc.
Also, this stage is needed to choose a pricing model and sign an NDA agreement if necessary. In other words, this is the last phase before the project development.
Once all the documentation is approved and the contract is signed, we start working on the project. At this stage, our Project Manager defines the most suitable software development methodology and forms a project team.
Scrum is often the most suitable option. It breaks the development process into stages that are also called sprints. Each sprint typically lasts two weeks during which a certain part of the functionality is implemented and tested.
Scrum methodology scheme
There are several cycles at this stage:
Our PM discusses technical peculiarities with the project team and plans out the entire development process.
Our designers create UI/UX design based on the wireframes you've previously approved. The design is usually done before developers start writing code. However, it can be done simultaneously with programming in case of a tight time frame. We craft several design variants for you with different color schemes, typefaces, icons, etc. You should approve one of them before we'll move any further.
Our mobile and web developers build your product in accordance with the chosen methodology. During the project development, 1-2 meetings per week are typically held.
At the end of each sprint, we send you a report as well as a project demo. If a piece of functionality we've implemented during sprint works just as it's documented in specifications -- the sprint is considered to be completed. In case it's not, we fix all the issues you've found. Each sprint has to be approved by the client. We won't move to the next sprint without your approval.
Note: Depending on a chosen contract type, it might be impossible to change the set of functionality documented in specifications without time and price corrections.
Release & App Store Submission
After the development is completed, we release your ready-made website and submit the application to the relevant app store. In case your product isn't for public use, we upload it's source code to your repository or send it to you in the archive form.
Before the release, the final product goes through the load and regression testing so we could ensure it's readiness for submission. Test accounts are changed for production ones and all the materials required for app store publication are prepared (screenshots, description) and agreed with you.
The app submission to Google Play takes up to 48 hours, while Apple's App store will review the request in 3-5 days.
The process of app publishing to the App Store
At What Stage Is the Project Contract Considered Completed?
The work on a project is complete when all the contractual provisions are fulfilled. This means that all the works detailed in the specifications are completed and approved.
However, you can prolong the contract with our company if you need post-release services as well as if you want to improve something or add new functionality. We'd love to help you make your product even better.
If you have some questions regarding cooperation with us or just want to discuss your project details, please contact our managers. They'll answer all your questions and estimate your project for free!
Subscribe to our newsletter to stay tuned. No spam, promise. We send one letter a week with the latest articles from our team.