Agility: A Developer's Best Friend
June 03, 2019

Rupinder Singh
Software AG

Application development has evolved significantly in recent years. Gone are the days of siloed application developer and IT teams who require months to deploy new infrastructure and have limited options for scaling and iterating on their deployments over time. Thanks to a highly competitive market and ever-increasing end-user demands, today's application development is moving in parts and/or as a whole to remote cloud infrastructures, and the advent of microservices has created a new need for distributed architectures. This evolution is undeniable and gaining momentum at a rapid clip, with recent research indicating nearly 50 percent of organizations are already leveraging microservices for faster, more scalable application development and 80 percent saying microservices architecture has already made development tasks easier.

Cloud Challenges and Microservices Complexities

Cloud infrastructure and microservices can offer numerous benefits. In addition to greater application scalability and faster deployments, the technologies can improve overall product quality by allowing developer and IT teams to focus on small parts of applications and cherry pick different tools and languages for separate services. Cloud infrastructure and microservices technologies have also made application development significantly more complex, however. For instance, developer and IT teams still need to account for existing applications and architectures in their application integrations, while also connecting to the highly scalable, very different set of more modern applications that don't include traditional and static endpoints.

Furthermore, as the complexity of application integration projects continues to increase and execution timelines are shortened in an effort to get products to market faster, application developer and IT teams are under constant pressure to deliver continuously, demonstrate progression without regression and ensure application quality never suffers. From the larger business perspective, it's equally difficult balancing the need to deliver continuous change and quality while also considering the needs of developer and IT teams.

Additionally, it can be extremely challenging for organizations to monitor, pause and evaluate their progress in an application and system landscape that's perpetually changing so quickly. Confusion about what can be accomplished is common, especially regarding how fast changes can be implemented without running undue risk and/or burning out application developer and IT teams.

The Necessity of Agile Application Development

To successfully leverage cloud infrastructure and microservices for faster, more scalable application development, organizations and their developer and IT teams have only one option: to embrace agile development. The reality is, it's no longer consistently possible to continue application development using traditional approaches and paradigms. To realistically deliver within the fast-changing needs of application development — and to do so without losing one's sanity! — developer and IT teams must be nimble enough to be able to accommodate any number of changes at any given time. Even more importantly, organizations and their developer and IT teams must prioritize agile processes that expect change to be a part of the development lifecycle and allow for delivery of several parallel streams of work, collaboration without pain, and the detection of issues and regressions as early as possible.

The hallmark of any effective agile development process is the capability to absorb, plan and enable change. And thankfully, the ubiquity of virtual machines has made the task of establishing agile development environments fairly smooth. Container technologies have made the building process highly repeatable, empowering developers to instantly spin up new development environments via just one container, and cloud infrastructure has eliminated the need for architecture approval and procurement, which has drastically sped up the initial creation process.

Automation and Continued Adoption are Key

No matter the specific use case or requirements, the most important aspect of building and maintaining agile development environments is automation, particularly within the context of testing and deployment, as a continuous integration and delivery pipeline is one of the core components of successful agile environments. Certainly, there are other crucial components such as Version Management systems and Issue and Progress tracking tools, however it's paramount that developer and IT teams have the ability to automate the provisioning of the development environment itself to ensure consistency and confidence in the set-up.

Looking ahead, as more organizations embrace the benefits of agile development in an effort to get products to market faster and stay ahead of savvy competitors, the success of the methodology will ultimately depend on continued adoption and widespread recognition of the power of agility. By building on the conceptual aspects of agile development, contributing toward further adoption and gradually embarking on the journey of building mature, agile development environments, organizations and their developer and IT teams can confidently evolve past antiquated, legacy product development tactics and reap the infinite benefits of agile methodologies.

Rupinder Singh is GM, Integration & API, at Software AG
Share this

Industry News

February 13, 2020

CyberArk announced the CyberArk Blueprint for Privileged Access Management Success, designed to help customers take a future-proof, phased and measurable approach to reducing privilege-related risk.

February 13, 2020

Cloudentity announced a partnership with Signal Sciences to provide a holistic approach for enterprise companies looking to secure their web applications and APIs.

February 13, 2020

OutSystems announced that the Portuguese government has agreed to co-finance €5.1 million through the Portugal 2020 economic development program for a pair of innovative research and development programs led by OutSystems.

February 12, 2020

Tata Consultancy Services (TCS) launched Jile 4.0, a major release of its on-the-cloud enterprise Agile DevOps platform that enables software teams to manage, automate and measure the end-to-end software delivery value stream from ideation to deployment.

February 12, 2020

Synopsys announced that on Feb. 18 it will release a major update to the Polaris Software Integrity Platform to extend its static application security testing (SAST) and software composition analysis (SCA) capabilities to the developer's desktop through the native integration of the Code Sight IDE plugin.

February 12, 2020

Tufin announced the availability of Tufin SecureCloud, a security policy automation service for enterprises needing to gain visibility and control of the security posture of their cloud-native and hybrid cloud environments.

February 11, 2020

Applause released its new Applause Accessibility Tool that automatically finds and fixes key accessibility issues earlier in the software development lifecycle.

February 11, 2020

Chef announced a new channel program specifically designed to ensure that partners and customers are able to take maximum advantage of Chef’s 100 percent open source business model.

February 11, 2020

IT Revolution announced the first round of speakers for DevOps Enterprise Summit London 2020.

February 10, 2020

Dynatrace announced new enhancements to its support for Kubernetes.

February 06, 2020

DevOps Institute announced its newly revamped Global Education Partner Program.

February 06, 2020

Automox raised $30 million in Series B funding.

February 05, 2020

Couchbase introduced Couchbase Cloud, a fully-managed Database-as-a-Service (DBaaS).

February 05, 2020

Univa announced the general availability of Navops Launch 2.0, its flagship cloud-automation platform, designed to help enterprises simplify the migration of HPC and AI workloads to their choice of cloud.

February 05, 2020

Fugue announced a Team plan to help cloud engineering teams collaborate and innovate faster and more securely.