Software-as-a-Service (SaaS) is gaining ground and so is Agile. In fact, based on a recent survey conducted on SaaS companies 66% said that their company implements Agile methodology in R&D. Really interesting, isn’t it! So what makes Agile so popular among these SaaS companies? Or, maybe we can put the question this way – which came first – SaaS or Agile? A lot has been said on this topic and I thought it will be interesting to summarize. Below is what I have gathered, understood and want to highlight in this regard.
- Dynamism – Agile development cycles or sprints are mostly 2-3 weeks and provide in-built dynamism in product development. In SaaS, frequent updates are the norm. Any SaaS application must be dynamic in understanding customer needs and rolling out features. In fact, shorter release cycles have been the backbone of success of SaaS applications.
- ROI – Agile methodology gives you a preview of the features and implementations quickly, which gives more insight into the ROI resulting in greater executive support. Whereas in SaaS, the principle of “changing the tyres while car is running” is applicable, and gets quick insight and feedback from the stakeholders and customer.
- Open Design – In Agile methodology design is spread out over a period of time and relies heavily on pluggable interfaces to let the product evolve, and reduce the rework. On the other hand, SaaS works in principle where quick release and design must be scalable to plug in new features/enhancements. SOA allows the components to be designed and implemented in real time while the system is up and running.
- Integration – Demo in agile process needs early integration and hence challenges in integration are identified early and closer to development cycle. Success of a SaaS application depends on how much business process automation is achieved and integration with third party systems is always a challenge. Finding the integration challenges upfront in the engineering cycle will help the SaaS companies to update the software or the platform more easily and quickly.
- Relationship – Though Agile depends heavily on individuals and interactions, increased Customer and Vendor relationship is what makes SaaS a success.
- Working Software – Working Software is what Agile process wants to achieve while working software that is always available is what matters most in SaaS.
- Managing changes – Managing change is the core of Agile methodology and everything moves around it. In SaaS, a vendor needs to be agile to understand and serve the customer’s changing needs. It needs to be agile to ensure that upgrades are done, scalability issues are handled as and when they occur. Agility is also required when responding to issues and fixing it, and it comes handy in demonstrating the feature to customers before it is released so that early feedback can be analyzed and implemented, if need be.
Doesn’t it look like a match made in heaven?