Cloud Computing Refocuses Agile Development on the Customer
For software projects embracing development principles, cloud computing can be vital in maximizing the project's value to the cusotmers. Even if only a few of the agile principles are being applied, using the cloud can help speed up the time to-market because it allows the team to focus more on development and less on the envionment and infrastructure.
Dana Gardner, president of Interarbor Solutions, explains in a blog for ZDNet that cloud computing allows for agile development to fully accentuate what the foundation of any project should be: being consumer-centric.
By incorporating the cloud into the agile development process, customer feedback becomes easier to obtain, because the application is being tested in a cloud-based environment. The barriers usually presented to consumers leaving feedback—such as security filters, firewall restrictions, and time-consuming checks and approvals—are now vastly diminished.
Jake Gardner of Logicworks explains that the cloud also eliminates guesswork in testing and allows for assumptions to be fully tested directly on both infrastructure-as-a-service and platform-as-a-service stages. Additionally, access to virtual machines allows for faster integration and delivery by decreasing wait time, increasing information mobility, and tearing down the walls of physical storage restraints. With the cloud, agile development can experience a greater range in both the scale and the scope of testing. In essence, cloud computing reconstructs agile development as a parallel—rather than serial—activity.
Nari Kannan, CEO of cloud and mobile applications consulting company Appsparq, argues that the advantages of incorporating cloud computing with agile development can be distilled into six key benefits:
- Provides an unlimited number of testing and staging servers
- Turns agile development into a truly parallel activity
- Encourages innovation and experimentation
- Enhances continuous integration and delivery
- Makes more development platforms and external services available
- Eases code branching and merging
While great on their own, these six benefits can be rolled into one repeating theme of cloud computing with regards to agile: It enhances and realigns the focus on the consumer.
Varied testing environments, quicker implementation cycles, and seamless integration are all outstanding benefits for developers—but they are also benefits for the customer. The cloud allows developers to focus on the goals of the project and not the methodology, ensuring that the project maintains its original goal: fulfilling a need for the consumer.
Has the cloud helped your company decrease development time or costs? Is cloud computing aiding in customer feedback for your applications? Tell us your experience in the comments.