March 25, 2020

Accelerate agility for Rapid Application Development

“Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.” - The Agile Manifesto

This is one of the key principles of Agile software development. This ‘environment and support’ — what has come to be known as the agile organizational structure — comes in various shapes and forms. A specific and well-documented model is that of Spotify, which groups its teams as squads, tribes, chapters, and guilds.

You can dive into the details of the Spotify engineering culture here, but for the purpose of this article, here’s a gist...

  • A squad is a cross-functional team including developers, quality analysts, designers, operations, and so on, who own the product/functionality end-to-end.
  • A group of squads working on a similar business problem is a tribe.
  • Within tribes, there are chapters around competency areas like front-end development or design.
  • And then there are guilds, organization-wide communities formed around specific areas of interest like automation, leadership, etc.

In theory, this is a great model. Squads, being autonomous, can develop and deploy applications faster. Chapters can help strengthen specialized skill sets. Guilds and tribes can encourage collaboration and knowledge-sharing.

In practice, though, implementing this model can be a challenge. For instance, without coordination and leadership support, guilds might not amount to much. Shortage of specialized skills might mean that a developer or a QA is expected to juggle multiple squads. Each tribe might turn into a silo, affecting organization-wide standardization of programming practices or optimization of tools.

To overcome these challenges and accelerate organizational agility, enterprises need an intervention: a low-code platform.

A low-code platform is a visual development approach that enables application teams to accelerate development with graphical user interface-based coding and pre-existing repeatable configurations. In short, with simple drag-and-drop actions, teams can quickly and securely create enterprise-grade applications. Organizations typically adopt low-code to expedite their development and save cost. Yet, they often find that low-code platforms have a positive effect on organizational agility and culture. Here’s how low-code makes it happen:

Strengthen the developer toolbox, eliminating the skills gap

The developer role is among the hardest to fill. As the need for enterprise applications grows, the supply of developers to build them will be an important bottleneck. It is here that a low-code platform does two things well. It makes your business user a citizen-developer, who can build usable applications without much coding knowledge. Also, it transforms programmers into full-stack developers, empowering them to make their squads truly autonomous.

As a result, developers play a more meaningful role within their squad. They can even jump easily between squads without any drop in productivity. Chapter leads can use low-code platforms to reduce the burden on their training resources — in that, they don’t need to train their developer to hand-code every feature. This ensures that the speed of development is not entirely dependent on the developer’s skill set.

Accelerate the idea-to-app journey with rapid prototyping

Another complaint about application development teams is that they are often sitting on a huge backlog of user stories. Manually coding each of them takes time and energy. With low-code platforms, app teams can prototype rapidly and collaborate with business teams instantly, to test far more features than they used to. This clears the backlog and paves way for experimentation with all kinds of ideas.

Boost adaptability-to-change with automation and integration

Welcoming change, even late in the Software Development Life Cycle (SDLC) is a fundamental principle in the agile manifesto. By freeing up time spent in hand-coding the application, data integration, and manual deployment, low-code allows for focus on the customer. With low-code, making changes to apps is easy, managing those changes is easier.

Ease deployment at scale

By its very nature, enterprise application development demands scale. With hundreds of microservices and containers across multi-cloud environments, application deployment itself requires large operations teams. Yet, having multiple operators within each squad is not the most optimum use of organizational resources. A low-code platform with auto-containerization, cloud-native architecture, and integrated CI/CD pipeline can automate much of the deployment process.

The foundations of an agile organization are Autonomy of squads, alignment with product strategy, organization-wide collaboration, self-driven communities, and innovation through experimentation. This requires significant financial investment in hiring and training; as well as cultural investment in encouraging collaboration and fostering innovation etc. While this is necessary, it might also be time-consuming.

A low-code application development platform, as part of your technology toolbox, can give your squads and tribes the ‘environment and support’ they need to excel at their job. And by extension, they accelerate the organizational agility required to stay competitive in this environment.