SaaS Application Development
Posted by Shaveta on June 23, 2017
Earlier factories and large buildings received electricity from generators located in their basements. This method required lot of maintenance and upkeep from the generator vendors as power supply was not reliable. Over the years factories started receiving efficient, cleaner, and cheaper supply of electricity compared to their on-site generators. This marked a significant change, and had a huge impact on the future of, the electricity industry.
Same change happening in the software industry, thanks to the rise of Software-as-a-Service (SaaS). It is Software Licensing and delivery model whereby a user or company pays a Subscription to use the software. Example to relate are SalesForce, GoToMeeting etc. SAAS offers:
- 1. A centralized SaaS platform, easier and cheaper to maintain than the traditional desktop software model.
- 2. SaaS can help companies reduce software piracy, as it is much harder to pirate cloud-based software.
- 3. Software vendors can easily push out upgrades and security patches to make the software secure for every user.
How one should start with SAAS based application?
- 1. Minimum Viable Product (MVP): Developing large scale software applications require money and resources, which have high risk. So, to cover the risk and with competitive IT industry, businesses and startups are looking for MVP i.e. minimum set of features which are needed to deliver. This approach helps them in
- a.Funding: Startups can raise funding by showing working version of their idea.
- b.Test and Confirm approach: With MVP they can test the product and identify if their idea is acceptable to end customer or not.
- c.Feedback: Valuable feedback from end users can help in shaping the features and functionalities.
- 2. Adopt Agile Methodology: Agile approach focus on minimizing risk by delivering project in small sprints. This allows development company/developers to foresee the challenges /issues that may arise and make changes accordingly to make it effective working model. More and more SaaS development companies are choosing to build software according to the agile methodologies, mainly because of its success rate. We already adapted to this approach and have customized Agile Methodology with our process and we call it D6 Methodology.
Applications where SAAS can be used: To name few, below are some domains where SAAS can be implemented.
- 1. Customer Relationship Management (CRM): Manage customer, client and sales prospect information but also automate many critical business functions like sales activities, marketing, customer service and support.
- 2. HR Application: Manage employee information, performance management, survey
- 3. eCommerce: Everything you need to sell online from shopping carts to website hosting.
- 4. Project Management: Manage individual projects or entire project portfolios across large enterprises.
- 5. Business Intelligence: Import data, generate reports and graphs, and perform Big Data analytics
We @ CodeFire have developed SAAS applications for niche domains such as CRM, Learning Management, HR application, Project Management etc. So apart from our development process, here are key points which we offer to our customers while developing SAAS based application:
- 1. MVP: We totally believe in developing Minimum Viable Product (MVP) initially as this benefit us in highlighting the challenges and what would be the roadmap. Since we majorly worked with start-ups, bringing an idea to reality is the major challenge... so to reduce the risk and test the market, MVP is preferred approach.
- 2. Technology: As software industry is filled with loads of programming languages, database and one tends to suggest the technology based on their expertise and client requirements. So, based on our experience, we have analyzed Open Source platform offers benefits to customers as well as developer. Be it any platform Laravel/Code Igniter/ Yii, we are open to use these frameworks. Key benefits
- a. Cost: Most open-source software is free to download, use, and modify, which significantly reduces the cost of development
- b. Customizability: ability to customize software is an important aspect for enterprises from the user standpoint, but it also extends to the technologies used to build the software.
- 4. Integration and Compatibility with Other Systems: Today's enterprises utilize many systems and software, and using new software that integrates with existing solutions is becoming more and more essential. Our developers have required expertise in software integration and delivering results as per the client expectation.
To provide a glimpse, let me provide a walkthrough of our application
1. Train Request Application:
CodeFire worked closely with Indian Railways to create online platform www.trainservicerequest.com
which allows passengers to get their compartment cleaned while they are onboard. So, at the backend, for one locations we have provided access to multiple depos who can manage request of users independently. Key Features:
- a. Concept of multi-tenant implemented which means each depo is independent to other. Which means Depot user only has access to their data, Division and Zones can access data from all Depots and divisions that lie under them.
- b. Since, Indian Railways is one of the biggest organizations in the world in terms of no. of people, (https://en.wikipedia.org/wiki/List_of_largest_employers) their operations are divided into Zones, divisions and depots. A zone has multiple divisions and a division has multiple depots. So, all managed through SAAS architecture.
- c. Dynamic permission and user accessibility
2. Learning Management System: Application offers personal development courses to users as well to organizations. Organizations can buy subscription i.e. based on License for each employee to go through certain courses which would help them evaluate their personal development growth. Based on subscriptions, organization have access to courses. Key Features:
- a. Organization can subscribe to courses and buy license for each employee.
- b. System manages permission for each level i.e. Organization (managers) would have permission to view progress of each employee. On other hand employee can only track their own progress and would not be allowed to view on others progress.
- c. Recurring payments
- d. Reports
- 3. 360 Degree HR application: One of the extensive project which have been developed by us. HR applications consist of various modules such as:
- a. 360 Degree Feedback, it is comprehensive suite of online products and services to meet the most demanding requirements of HR professionals.
- b. Engagement Survey Online survey platform to allow you to create fully customizable online questionnaires and surveys for your clients. It is the perfect solution for measuring employee engagement, client satisfaction and exit surveys
Hope this topic provides an overview of how SAAS is functioning in IT industry. Considering the growth, we @ CodeFire have already developed SAAS applications and would love to extend our consultancy/ development services to our clients. Get in touch with us for more information or demo @ [email protected]
Posted by Shaveta on June 23, 2017