MacMusic  |  PcMusic  |  440 Software  |  440 Forums  |  440TV  |  Zicos
agile
Search

Agile and devops for SaaS and low-code development

Tuesday October 22, 2024. 11:00 AM , from InfoWorld
Agile methodologies empower teams to prioritize backlogs, commit to an accomplishable amount of work, and deliver reliable software. Devops teams, aligned by culture, collaborative practices, and automation, focus on improving customer experiences, responding faster to business opportunities, and balancing innovation with security and operational needs.

Many agile best practices center on writing software and developing applications, while devops practices like CI/CD and infrastructure as code (IaC) target public and private cloud infrastructure. Agile and devops tools offer a high degree of integration with integrated development environments, test automation platforms, and other tools used in the software development lifecycle.

I’m often asked how these two methodologies apply when configuring software as a service (SaaS) applications or building software on no-code or low-code platforms. Do we still need agile on platforms that already offer rapid prototyping and development capabilities? How do devops practices apply when SaaS or low-code platforms provide the cloud infrastructure?

My answer is that many agile and devops principles are the same when developing on higher-level SaaS and low-code platforms. Agile teams still need to translate business priorities and end-user needs into reliable and maintainable implementations, and IT teams are still tasked with defining service-level objectives and managing reliability, performance, and security on their deployments.

Applying agile and devops methodologies with SaaS platforms

Many SaaS platforms, including content management systems (CMS), customer relationship management platforms (CRMs), and marketing automation platforms, have advanced options for configuring workflows, experiences, and reports without any coding. Agile methodologies can provide a structured process for prioritizing requirements, testing configuration options, and validating the results with end users.

“Configurable SaaS platforms reduce the time and effort to create and modify custom solutions,” says Jamie Thomas, co-founder and CEO at Cognito Forms. “This allows organizations to be truly agile by quickly building and trying out new processes and automation solutions, iterating on them based on feedback nearly in real-time, and allowing organizations to evolve their processes to meet their changing needs continuously.”

Many SaaS platforms have added genAI and copilot capabilities to help administrators with configurations and reporting. SaaS platforms with easy-to-implement configuration options lend themselves to shorter sprints in scrum or highly rapid Kanban processes.

“Emerging AI copilot capabilities are bringing a new level of intelligent low/no code functionality to SaaS platforms,” says Justin Mullen, CEO and co-founder of DataOps.live. “With many SaaS products, an entirely new function can be coded and delivered automatically simply by describing the data and requirements in plain English.”

Here are some considerations when applying agile methodologies and devops to SaaS platforms:

Write simple agile user stories focused on the objective and without implementation details. The team should seek solutions that are easy to configure in the SaaS rather than custom-building solutions to meet overly specified solution requirements.

Agile teams working on SaaS are generally smaller compared to software development teams, and they can often rapidly prototype once they gain expertise in the SaaS platform. However, testing may require more time and effort on SaaS, which may have limited integrations with test automation tools.

Devops capabilities for integrating with version control, leveraging development and test environments, and automating deployments are often limited on SaaS platforms. Agile teams should learn the platform’s best practices, understand their applications’ risk profiles, and create an appropriate release management strategy.

Adapting agile methodologies for no-code and low-code platforms

Platforms with a wider range of coding capabilities offer agile teams more versatile workflow, user experience, reporting, and integration capabilities.

“The main difference for agile teams when developing in low-code is speed and collaboration,” says Rich Waldron, co-founder and CEO of Tray.ai. “With a low-code platform, especially one with AI-augmented copilots, agile teams can greatly expand their pool of builders by looping business technologists into the development process, which means more resources and faster delivery of workflows and integrations that are closely aligned with business requirements.”

The implication is that agile teams using low-code platforms often include technologists familiar with agile methodologies and proficient with agile management tools, along with business people new to agile. Technical leads should expect business people joining agile teams as citizen developers may be learning agile, testing, change management, and deployment processes for the first time.

Team leaders should invest the energy to align new-to-agile participants on the benefits of agile planning and experimentation. Similar to SaaS, teams should seek simple low-code and no-code implementations and experiment with the platform’s capabilities.

“Low-code platforms often involve a broader range of stakeholders, including business analysts and non-developers,” says Dinesh Varadharajan, chief product officer at Kissflow. “As a result, they require better abstraction layers to allow non-technical users to build and deploy applications. The balance between customization and configuration is more pronounced in low-code environments, necessitating careful decision-making about when to use pre-built components versus custom development.”

Low-code can drive significant innovation and productivity benefits, but there are also risks if agile teams develop whatever applications they want however they want. It’s important to create guardrails and best practices to avoid risks similar to those in software development in architecture, integration, security, data governance, and technical debt.

“There is a natural connection between low-code platforms and agile, making the development process easier, faster, more collaborative, and more adaptable,” says Dalan Winbush, CIO of Quickbase. “Governance is critical, ensuring consistency in data, transparency in workflows, and easy access to the information teams need to stay productive. That balance ensures that any new applications, processes, and workflows don’t slow down productivity.”

Here are my recommendations for adapting agile practices for low-code development:

Evolve a governance model and document best practices in security, naming conventions, testing, and release management.

Empower teams to adjust the team size, sprint duration, user story templates, and other agile practices to maximize the platform’s productivity capabilities.

Avoid the temptation to develop and test in production environments, especially when platforms enable sandbox and other testing capabilities.

Adapting devops practices for SaaS and low-code platforms

When SaaS, no-code, and low-code run in the cloud, does that mean devops practices no longer apply?

I think not. When there are application issues in production, business stakeholders and end users still expect the devops team to resolve them, identify root causes, and improve reliability and performance.

“You must be able to associate user stories to the changes made in the environments,” says David Brooks, SVP and lead evangelist at Copado.” Large SaaS platforms may have hundreds of developers working with many shared objects and components. Changes must be coordinated between teams much more tightly to avoid collisions in later stages of the pipelines.”

Brooks says low-code development can require a mix of pro- and low-coders participating in the same devops process and suggests that you can’t have half the team unaware of the changes made by the other half. He says, “Low-coders don’t know Git, don’t use a CLI, and don’t live in an IDE—they live in the native point-and-click authoring tools provided by the SaaS platform. That means the devops tools must be able to support both user experiences.”

While low-code platforms can offer significant developer productivity, their testing, observability, deployment automation, and rollback capabilities are points of differentiation. Teams taking advantage of rapid development and deployment should have corresponding capabilities to monitor applications and capture end-user feedback.

“Code-based development lets you fully control the environment you use to write, test, build, and deploy your application, but these choices are more limited when working within an ecosystem such as a configurable SaaS application or low-code platform,” says Paul Stovell, founder and CEO of Octopus Deploy. “You must work out how to get fast feedback, like the five-minute feedback expected for continuous integration or the fully automated pipelines in continuous delivery.”

My recommendations for devops teams working on SaaS, no-code, and low-code platforms:

Establish versioning, test environments, and rollback capabilities even if the platform doesn’t natively support them.

Testing, application monitoring, and incident management practice standards should apply regardless of whether the application is SaaS, coded software, no-code, low-code, or a hybrid of these approaches.

Ensure the platform’s security, scalability, and performance capabilities meet the application’s business requirements.

SDLC recommendations for low-code platforms

Four other concerns that need evaluation and standards in low-code and no-code development are code quality, data governance, documentation, and technical debt.

“Clean code that’s consistent, intentional, adaptable, and responsible must remain a priority to ensure quality, secure software,” says Andrea Malagodi, CIO of Sonar. Prioritizing clean code enables teams to leverage low-code development while ensuring long-term sustainability and scalability.”

Translating “clean code” and technical documentation on SaaS, low-code, and no-code platforms comes down to how easy it is to knowledge transfer ongoing enhancement and support work to new teammates. While many platforms have visual programming paradigms, conducting code reviews and establishing naming conventions are best practices.

Devops teams should also track technical debt, which can occur when users are inexperienced with the platform and deploy suboptimal solutions. Another source of technical debt occurs when platform vendors release new capabilities that may be used to simplify implementations or reduce customizations.

My SDLC recommendations for low-code platforms:

Review requirements and increase story point estimates for complex and customized implementations.

Provide training and create playbooks of best practices when developing with SaaS and low-code, just as devops organizations should with all development platforms.

Review new capabilities and dedicate a percentage of team efforts toward reducing technical debt.

Configuring SaaS and developing low-code applications can lead to many business benefits, including speed to market, improved productivity, and simplified implementations. Regardless of the platform or application type, agile and devops disciplines are still relevant for teams invested in developing applications that are robust, secure, and enhanceable.
https://www.infoworld.com/article/3540499/agile-and-devops-best-practices-for-saas-and-low-code-deve...

Related News

News copyright owned by their original publishers | Copyright © 2004 - 2024 Zicos / 440Network
Current Date
Oct, Wed 23 - 18:23 CEST