We have 5391 guests and 12 members online
Home > Articles > Columns > Articles > Agile Development in the Cloud

Agile Development in the Cloud

E-mail
Written by Jim Ensell   
Tuesday, 12 April 2011 12:07

CloudDepending on which survey you look at, roughly one-third to one-half of development organizations are using agile methods today, of which somewhere between 60 percent and 75 percent are Scrum. As compared to other methodologies, agile provides flexibility to meet changing market needs, transparency, predictability through timeboxing, and shorter, nested feedback loops. The rapid movement of development organizations to agile continues to amaze as companies are making strong organizational commitments and a number of associated management and development changes to reap its benefits. In parallel, the industry has seen this same sort of resonance around cloud adoption—secure, anywhere access by distributed teams to a centralized set of services and computing resources that span the complete lifecycle of development and deployment. Putting agile together with cloud computing is a compelling and symbiotic combination that will reduce development costs, decrease time to market, and improve productivity in ways never possible before.

Agile and the Cloud: Perfect Together
Agile is a style of software development that places new capabilities in the hands of users, as and when they need them—almost as rapidly as they need them. It does this by stripping the project requirements down into achievable component parts and then focusing on each part individually and single-mindedly, full of intent, energy, and drive. As each part is developed, it becomes an “iteration,” a release of useable software that can be made instantly available to users instantly. While they start using it, the development team moves onto the next step, the subsequent iteration. At every step of the way, product owners, developers, and users emphasize collaboration. Everything is transparent to the client and the users. And, one of the most valuable aspects of all is that no useless functionality is built for users.

Agile and cloud computing are actually highly parallel concepts, both in terms of their methods and their aims. Perhaps the best way of summing up the benefits of agile development methodologies is to examine the definition of the word itself: characterized by quickness, lightness, and ease of movement; deft and active. The cloud can catalyze the development process. It’s just like the atmosphere; it’s everywhere. This means that new applications can be made available to users instantly, the very second a development team has completed them. There is no need for drawn-out deployment procedures, patches, and reinstallations. Users can jump right in and start using. Integration issues are overcome, change management is addressed, and risks are minimized.

The Future of Agile Development in the Cloud
Agile development is bringing stakeholders from across the entire lifecycle together—from business analysts to developers to QA managers to IT ops folks—more regularly and collaboratively than ever before. Agile requires high-velocity feedback from these stakeholders throughout the process, which is something the cloud enables with ease. It’s truly the future. Not only is the industry racing to “agile development in the cloud,” but iterative development is now extending into deployment. DevOps is another term for the agile operations concept that uses agile techniques to bridge development (Dev) and operations (Ops) together. It is also a multi-billion-dollar industry transition that will continue to force changes to worldwide development practices.

Agile methods will continue to evolve as increasingly larger distributed teams collaborate and innovate across time zones and geographies while embracing the cloud’s benefits. These methods need to evolve beyond dev and test as they address IT ops. Software development teams will need to design their software so it can execute efficiently with the available IT infrastructure, while IT ops folks will need to design IT services that accommodate the new or modified software demands.

My prediction is that, by the year 2015, most—if not all—software development will transition to public or private clouds. Development platforms will need to provide cloud-based capabilities in four major areas in order to support this transition,

The first is actually developing in the cloud. Development organizations will want to rapidly provision SCM repositories in the cloud in minutes with secure, 99.9 percent or better uptime SLAs. They will want to develop their software using cloud-based development platforms that allow their team members, no matter where they are, to collaborate and manage development artifacts, including user stories, tasks, defects, documents, and their relationships. These development platforms will need to scale on demand from the workgroup to the enterprise.

The second is handling builds in the cloud. Developers will want to use virtualization to provision build images in the cloud, automate the SCM-to-build links, provide feedback to development from their continuous integration servers, all while offering a utility-pricing model.

The third is providing test capability in the cloud. Developers and QA managers will continually want to provision cloud resources for multi-platform testing, run unit and functional tests in parallel, and execute effective load testing. These are loads that are optimal for public cloud use, as they tend to use cloud resources in spurts and have variable demands over time. The utility pricing model works extremely well for this type of cloud use as well.

The fourth major capability required of cloud-based development platforms is production deployment into the cloud. Developers will want to provision environments in minutes, automate deployment into the world, federate their loads between private and public clouds, and execute on and between truly elastic cloud platforms. There will be a growing need for cloud analytics and management capabilities that provide visibility to development organizations as well as the ability to quickly address changes typically triggered by trouble tickets, new software releases, and the challenges of releasing new services and applications into production.

To quickly access these services on demand and in an agile way, application developers will be looking for automated provisioning capabilities, such as “one-click” application selection, provisioning, and ecommerce billing solutions as part of their application development platforms.

Conclusion
Putting agile together with the cloud dramatically accelerates an organization’s improvement pace. The working style of agile is tied up with user involvement, drawing users right into the heart of the development process. Functionality is developed as the user wants it, how he wants it. As developments move along in cumulative steps (iterations), the features and benefits can be rationalized and reprioritized as each project unfolds. There is no waste—either of time or money. And just as soon as everyone agrees that the application is ready, off it goes into the cloud where everyone can start using it.

Agile development in the cloud now gives greater control over process innovation and more strength to a company’s competitive edge than ever before, and organizations in every vertical market now have exciting prospects.

About the Author Jim Ensell is chief marketing and strategy officer for CollabNet, where he leads marketing, strategy, business development, and online/cloud services. He brings more than twenty-five years of experience in engineering, technology, business, and executive management in both large and small enterprises. Jim joined CollabNet from rfXcel, a SaaS provider of track and trace supply chain applications, where he was president and COO. Prior to rfXcel, Jim was senior VP of marketing and business development at Virage Logic, where he ran worldwide marketing, business, and corporate development.

Jim is an industry-leading speaker and thought leader on software development in private and public clouds and the strategic implementation of new business models enabled by cloud-based collaborative development and open source. He holds an MSEE from the University of Pennsylvania and a BSEE from Villanova University.

Trackback(0)

Comments (0)Add Comment


Write comment

security code
Write the displayed characters


busy
Last Updated on Tuesday, 22 November 2011 16:03
 
Cialis

Agile Marketplace - Announcements and Special Offers

The Business Case for ALM Transformation
Are legacy systems holding your company back?  Breakthrough these technical constraints with an open and scalable environment that meets your unique business need to transform. There is no reason to be locked into an obsolete platform. The output of a number of recent transitions from legacy systems, this is practical white paper shares lessons learned and illustrates how guidance and enablement can pave the way for change.
Download this Whitepaper