How we approach SaaS product development
Cloud-based product development is slowly taking over more traditional ways of product development in the recent years. SaaS is a more popular software development model, and certainly one that is more profitable in addition to being scalable. However, software provided as an online service continues to grow exponentially with time.
Considering this factor, we followed some specific best practices while developing a SaaS product, an Edutech application that facilitates conduct of online examinations for enterprises. The product is developed with multi-tenant support and has packages defined as per varying customer requirements.
1. UX design: We chose this as the prime factor since UX design is one identifiable characteristic that immediately causes a user to choose one application over another. For developing the UI, we had a dedicated team of specialists who worked from Ukraine. The design was developed considering the end users we target. A comparative study of the similar product designs were also done to gain insights.
2. Wireframe development: To avoid distraction by design elements and keep the focus on business functions, wireframes were developed. Wire frames provide a conceptual visualization of a specific state of software program’s UI from a functional standpoint.
3. Agility and adapting to changing requirements: If there is one inevitability in software development, it is that the requirements of the project keeps on evolving even after all the designing, planning, diagramming, and prototyping have been completed. At Experion we followed an iterative method.
The project was divided into 3 phases.
1. Discovery and planning phase- At this phase we did a thorough study of the product requirement. Daily meetings were scheduled with the product expert at the client side to improve the understanding on the features required and the product as a whole. Wireframes were developed based on the understanding. Design documentation started at the flag end of this phase.
2. Development and Quality assurance – Development phase was divided into sprints. Design documentation for a particular sprint was completed before the beginning of each sprint. Unit testing was done in each sprint to ensure quality.
3. Delivery and support- A product needs timely update of the features based on customer feedback and changing business scenarios. Considering these factors, at Experion we provide periodical support for further enhancements of the products developed.
The Team at Experion is prepared to implement new developmental methodologies or variants of existing methodologies with every project.
4. Cloud infrastructure: Amazon web services (AWS) was chosen for hosting the product. AWS is designed to allow application providers quickly and securely host their applications. It enables to select the operating system, programming language, web application platform, database, and other services one need. Pay only for the compute power, storage, and other resources used, with no long-term contracts or up-front commitments. It is scalable, reliable, and it is a secure global computing infrastructure. Architectural diagram is shown below.
5. Design documentation: The project was divided into fixed number of sprints and the modules that had to be developed were grouped under the sprints. Each module was further detailed upon the feature requirement. Thus a detailed design documentation was made before starting the development of each module. High-quality design documentation serves as a road map for those responsible for executing the design and has the potential to accelerate the coding of the software substantially.
6. Technology – Technology is of great importance, and we leveraged the latest for the project considering the multi-tenancy aspect of the solution and scalability.
7. Testing – Since delivery of the product would be at a faster pace than normal, we resorted to stringent and continuous testing methods. Unit testing was followed by more advanced testing methods and a final QA.
8. Security – Security for a cloud-based software product implementation needs to be of the highest order. We made sure that we have the best service providers in the market. Also, monitoring is a frequent and documented exercise during the project.
Experion will transform your business by leveraging the cloud and reduce your total cost of IT systems ownership. We are the experts when it comes to interdisciplinary process like mobile cloud integration, and are pioneers in cloud integration and cloud migration of existing solutions. We develop scalable and reliable solutions which do not compromise on security.