2. Briefly about SaaS SaaS - stands for Software–as-a-Service, also known in the past as On Demand or Application Service Provider (ASP) An application owned, delivered and managed remotely by one or more providers Where the provider delivers an application based on a single set of common code and data definitions, which are consumed in a multitenant (one-to-many) model by all contracted customers at any time Business model approach shares risk between the SaaS provider and client and offers single–source accountability. On a pay-per-use basis, or as a subscription based on use metrics Service Level Agreement (SLA) between vendor and customer ensures the customer a specified level of performance and availability.
3.
4.
5. Who is a Customer? User comes from different verticals and industries (you won’t say him “no”) Non predictable habits “unknown” scenarios Size of the companies – varies Small & medium companies Departments of large companies User is “unknown” No training No documentation Number of users and customers is not under the control Max 10 minutes to convince user that your product is great Scenario flow should be 100% clear Everything should be transparent, No new methodologies (what if you need)
6. SaaS R&D Principles Simplicity Intuitiveness Virality Trust Quality Analytics in production
7. Customer & R&D in SaaS environment Customer Customer comes from the Internet and buys using credit card Is “unknown” . He stays with the system one-on-one. You have One Chance for first impression. Is located around the world – different cultures Is not computer literate R&D should guarantee Stability –no workarounds, thus no show stoppers Availability - Services should be provided without interruption – 99.9999 availability (customer located around the world – no convenient time for downtime) Scalability Service should be written and tested to provide high level scalability Embedded diagnostics that alert for need to scale up Security Usability
8. Usability !!! Modern Customer looks for: Immediate value Highly intuitive responsive consistent software Having “fun”, also in the enterprise application R&D Create “User centric” DNA in the R&D – “think user” Excellent, simple, intuitive UI requires harmony of work between UI experts, Developers and Product managers Developers from both backend and frontend should think – User scenarios, not features Create means to understand how user thinks – Embedded in code user analytics to learn at production: What scenarios are mostly used and which are avoided by the user Whether the user has an intuitive way to access features Whether execution of specific functionality is straightforward and clear Mechanism to work with the customers via community, customer success programs, etc.
9.
10. R&D DNA - Development methodologies Development methodology should provide High responsiveness to required changes Short development cycles - Customer is “spoiled” by other SaaS application – looking for continuous improvement High control over the quality Do only what you need to do - “do less” Agile development methodology is a key success factor Use it smartly – implement only those concepts that fit your business model (what is Agile Development)
11. R&D DNA – Test Automation Stability & Availability expectations require on-going Performance test Scalability test Stress test Availability test Agility Short release cycles require high percentage of automatic functional tests Both require “self-testable” software Unit tests Development integration tests Continues automatic builds to run automatically unit and integration tests
12. R&D DNA – “Different” Release policy Traditional Release cycle Periodical product version with relatively long time cycle Periodical service packs for bug fixes in the currently released version Beta release validated at the customer sites Many versions, many platforms SaaS Release cycle requirements Periodical product version with relatively short time cycle Support packages to provide big fixes and new features to give answer to continuous improvement requirement Zero Ramp-up time – “on going Beta” for all customers One version, one platform
13. R&D DNA – Product Architecture Stability, Scalability, Availability Flexibility High, easy and intuitive customizability & personalization of the product Customizable UI, NLS readiness Customizable Data Model Allow customers to change data model without downtime of the site and impact on the others customers Web 2.0 is much more “person” centric than “organization” centric Best Practices for Verticals Mechanism to provide best practices templates for different verticals Openness – SOA architecture Allow loosely coupled integration with other SaaS and Traditional products Readiness for fast incorporation of new technologies
14. Bottom line: Technology merges with functionality Customer looks for software that offers Rich functionality with high performance Thin client – no downloads and installations on the client side Tools that are familiar for those who plays with variety of the internet applications R&D should use latest technologies to guarantee answers to customer expectations Client technologies that allow building responsive interface – AJAX, AFLAX RSS, Tags capabilities provided by other internet vendors Blogs, Wikis Mashups & Integration tools to combine content from other application sources Application should provide fast and convenient access to data: accumulated and calculated