In today’s tech-driven world, Software as a Service (SaaS) has emerged as a game-changer. The SaaS Development Lifecycle (SaaSDLC) is the roadmap for creating cloud-hosted services that adhere to the core principles of SaaS. This article explores the various phases of SaaSDLC, shedding light on the crucial steps involved.
SaaS Development Lifecycle
The
SaaS Development Lifecycle is an adaptation of the traditional iterative software development process, with additional essential phases specific to cloud-based services. These phases include Evaluation, Subscribing, and Operations, which are critical for the success of SaaS development.
Envisioning
Motivation
The first phase, Envisioning, involves identifying new business opportunities, expanding customer bases, and extracting more value from intellectual property. This phase is similar to traditional software envisioning, but SaaS offers greater opportunities for innovation and scalability.
Actors
Key participants in this phase include business leaders, technology roles like CTOs and architects, and cloud experts. Their combined expertise ensures a well-rounded vision for the SaaS service.
Activities
- Identify current business needs
- Envision new business opportunities
- Decide on “buy versus build”
- High-level economic assessment
- Identify solution/service needs
Decisions
- Executive sponsorship
- Economic justification
- Buy versus build
- Cloud platform assessment
- Proof of concept (POC) plan
Platform Evaluation
Motivation
Platform Evaluation is a dedicated phase for assessing cloud providers. The choice of a cloud provider is crucial, especially for mission-critical systems. This phase aligns architecture proof points with a cloud provider’s capabilities.
Actors
A task force of business and technology experts works together to evaluate cloud platforms. They refine functional and architectural proof points to make an informed choice.
Activities
- Define technical architecture
- Define functional and non-functional proof points
- Assess the economics of the platform
- Shortlist cloud platform vendors
- Plan for the proof of concept
- Acquire trial subscription
Decisions
- Selection of the cloud platform
Planning
Motivation
The Planning phase sets the course for delivering the SaaS service predictably. The complexity and size of the service determine the rigor of activities and deliverables. Planning includes feature requirements, solution architecture, project schedules, and risk mitigation.
Actors
Project and product managers, architects, and IT professionals play a crucial role in shaping the plan.
Activities
- Aggregate feature requirements
- Deliberate solution architecture
- Create project plan, schedule, and resource plan
- Develop communications and risk mitigation strategies
Decisions
- Feature requirements for the current iteration
- Project and staffing plan
- Solution and technical architecture
Subscribing
Motivation
The Subscribing phase involves acquiring a production-quality subscription. This phase drives upgrades, support processes, and business continuity based on the trial experience. It also includes negotiating service level agreements and pricing contracts.
Actors
Key participants include the Chief Security Officer, architects, procurement managers, IT professionals, and cloud experts.
Activities
- Negotiate service level agreements and pricing contracts
- Validate disaster recovery and security architectures
- Assess data privacy and compliance
- Acquire a cloud service subscription
- Plan for residual risk mitigation
Decisions
- Acquire production subscription
Developing
Motivation
The Developing phase is where design specifications are translated into code and documentation. It involves iterative development, continuous testing, integration with cloud and on-premise systems, and end-user involvement for quality service delivery.
Actors
Product managers, solution architects, developers, testers, and end-users work collaboratively to bring the service to life.
Activities
- Set up development environment
- Develop service iteratively
- Deploy and test continuously
- Integrate application security
- Streamline data synchronization
- Integrate support and helpdesk processes
Decisions
The decision-making in this stage is primarily implementation-oriented:
- Composition of the project team
- Development environment
- Component architecture
- Unit testing and load testing approaches
Operations
Motivation
The Operations phase is critical for SaaS success, as it involves deployment, support contracts, compliance, security, and shared infrastructure. Activities in this phase ensure the service’s systemic qualities align with the cloud platform’s operational aspects.
Actors
IT professionals, solution architects, support engineers, and escalation leads play key roles in this phase.
Activities
- Assess capacity required
- Perform load tests
- Plan for deployment
- Test disaster recovery and business continuity
- Set up and test backup and recovery processes
- Train end-users and support personnel
- Deploy the service in production
- Monitor, evaluate performance, and tune.
Decisions
- Production deployment
- Disaster recovery deployment
Conclusion
The SaaS Development Lifecycle offers a structured approach to creating cloud-hosted services, ensuring that they align with the principles of
SaaS. While the initial phases require meticulous evaluation and planning, subsequent SaaS efforts can leverage previous knowledge. The SaaSDLC is a valuable guide, not only for ISVs but also for enterprise IT departments.