Essential Guide

Developing cloud applications in the new IT era

A comprehensive collection of articles, videos and more, hand-picked by our editors
Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Application development models evolve in face of cloud

Continuous app development is an emerging trend in cloud. But before adoption, organizations should know how it differs from waterfall, agile and DevOps models.

Application development models have undergone a dramatic transformation. New tools, techniques and languages have emerged to meet a range of enterprise computing needs. But perhaps the greatest change is the pace of development.

Constant software iterations and improvements -- produced through a model called continuous application development -- have replaced lengthy development, testing and release cycles. And nowhere has this transformation been more beneficial than in the cloud.

Continuous application development is not a single idea, but an overarching concept that embraces each step of the application development process. The traditional application development process was code, build, integrate, test, release and deploy. Continuous application development is virtually identical to continuous application release, where each iteration of an application is staged for deployment once testing is completed. Each step in the process is usually small, so iterations move through the development pipeline quickly. As a result, a continuous application development model accelerates the overall development process and improves efficiency.

The rapid updates and flexibility that come with continuous application development are an ideal complement to cloud, as cloud computing allows development teams to quickly deploy and test new application iterations.

Comparing application development models

Continuous app development differs from older application development models, such as waterfall and agile, in a number of ways.

Waterfall development is an older and more traditional approach to software creation. The waterfall process usually starts with design, and then moves to development, testing and eventually release. Development teams must meet strict criteria in each step before advancing to the next one. The result tends to be a slow, siloed and inflexible approach.

Agile software development turned waterfall on its head. An agile approach caters to the idea of iteration. Teams deliver smaller pieces, or incremental improvements, over short timeframes, such as two weeks. Agile is noted for its high levels of inter-team collaboration and the ability to change priorities as needs shift.

However, while agile development offers greater flexibility, it's not necessarily continuous. New assets, such as new code versions, may sit unused for long periods before developers integrate them into subsequent release candidates. But with continuous application development, the idea is to constantly move new releases into production.

DevOps is a recent variation of software development that merges continuous software development with interdepartmental efforts, such as quality assurance (QA) and operations. The idea behind DevOps is that creating a new software iteration does not guarantee the iteration is problem-free. Many traditional application development efforts foster silos that separate QA from development; developers create a new iteration and it gets "thrown over the wall" to QA. Even when the iteration passes QA, the new release frequently blindsides IT teams, who then scramble to deploy and support it.

DevOps seeks to eradicate these traditional silos and form a ubiquitous team that can develop, test and deploy new software. Like continuous app delivery, DevOps is playing a crucial role in cloud computing and, in some cases, facilitating the migration of applications to the cloud.

Next Steps

How continuous software development helped Edmunds.com

Tips for transitioning to a continuous delivery model

This was last published in September 2015

PRO+

Content

Find more PRO+ content and other member only offers, here.

Essential Guide

Developing cloud applications in the new IT era

Join the conversation

3 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

Which cloud applications development model works for you?
Cancel
Why when I read about continuous application development, do I get the feeling that someone thinks devs used to be slackers?   Nearly every dev I've known in my life is almost constantly tweaking at code, and it doesn't really matter if its waterfall or agile methodologies they ascribe to, but I guess new buzzwords make thing sound better.  The question is... are they really better?
Cancel
If the pt was "continuous Dev" aims to help development get features out to end users faster by avoiding large batch releases. Amen to that. Makes sense and I think the approach has some weight behind it (lean)
Cancel

-ADS BY GOOGLE

SearchDataCenter

SearchAWS

SearchServerVirtualization

SearchCloudApplications

SearchCloudComputing

Close