7 February 2018
Product Development Lifecycle
There is nothing quite like taking a product from an idea to a released, working piece of software that people love to use. Over the years, we have tried and tested a number of ways to do this as efficiently as possible and we’d like to share our Product Development Lifecycle with you in this article.
Every project starts with an idea. Some ideas are simple, while others require something revolutionary and unique. Whatever the case may be, the first step in our Product Development Lifecycle is the Discovery stage.
In this phase, we collect all product requirements from the client. Requirements gathering includes analyzing the clients’ needs, demands, and problems that the product should solve. This is why we gather them carefully and systematically.
All requirements are measurable, testable, as well as documented and defined sufficiently for system design.
In the Discovery stage, we also create rough product drafts and recommend the system architecture that will be best suited to the project at hand.
The ultimate goal of the Discovery stage is to formulate a defined scope of the Product.
The next phase of the Product Development Lifecycle is the Design stage. Whether we are talking web application design or mobile and desktop app design, the same principles apply to every design process.
This phase begins with creating high fidelity mockups that are based on wireframes. While these mockups are created before the development phase, they are maintained during this phase as well. In these mockups, the client can see how the product will look and behave when the coding phase is completed.
We use InVision, Figma and similar tools to present the mockups to the client. This allows us to get feedback from the client and resolve comments in real-time.
UX review is an integral part of the Design stage, ensuring that the product we are working on is an easily usable and highly attractive app that will answer all the needs of the target user group.
Estimation & Proposal
The Estimation and proposal stage is the next stage in our Product Development Lifecycle. The goal of this stage is to define the budget and timeline for the development of the product, as well as present them as clearly and as openly as possible to the client.
The first step in this phase is to divide the project into high-level User Stories. A User Story is a description of one or more features of a product told from the perspective of the end-user. It is focused on the value it will hold for the end-user, not on its technical implementation.
Next, we determine the optimal team size and composition, depending on the project complexity (the number of user stories and the chosen technology stack) and the skills and experience of the team members.
This allows us to estimate individual User Stories and create a cumulative estimation for the entire project.
This is then presented to the client with full transparency and without hidden costs in the form of our final proposal.
In the Development stage of our Product Development Lifecycle, the code is produced according to the requirements and design.
As a company, we have discovered that agile software development enables us to deliver the most value to our clients. We organize our development team in either Scrum or Kanban frameworks, depending on the nature of the project.
Every development team includes as many QA specialists as needed to make sure the code is bug-free and that the product works as envisioned. As an added layer, we assign every project with a dedicated Code Reviewer who makes sure that the code is up to the highest possible standards.
We also regularly perform scheduled regression tests which ensure new code does not break previously written code and that the product as a whole works without fault.
The next phase is the Production release stage. When all User Stories are completed and everything is tested, the client has the final say on whether there is a Minimum Viable Product (MVP).
An MVP is a product that has just enough features to satisfy early users. It is a great way to get feedback that can be used for future development since it targets building products that users want and need.
In this stage, we put the finishing touches on the product from inside – a period for final improvements and bug fixing.
Next, we set up the production infrastructure using the most suitable services such as AWS and Azure suites. In the case of mobile apps, we also publish them to Google Play Store and App Store.
The product release stage is where the life of a product starts on the market.
After the project is up and running, it requires maintenance and this is the final stage in the Product Development Lifecycle. This Maintenance stage is important since it ensures that the project is running at peak performance levels while fixing bugs and improving it regularly.
The first step is to restructure the team so that it is able to respond to any possible issues during the application maintenance or site maintenance. However, this is not always necessary and depends on the project itself.
The team has several tasks to perform during this stage. One of their main tasks is to fix bugs and address the issues discovered after the release stage. Vivify Ideas provides a 3-month warranty period for all products developed by us, during which all maintenance work is free.
Other tasks include implementing new features and improvements occasionally. Depending on the product needs, Product Increments can be created and applied every 1 to 4 weeks.
Author: Vivify Ideas Team
Global web and mobile development company with headquarters in Novi Sad, Serbia.