Leveraging Agile Development Through Cloud Computing
Here are some ways that cloud technology leverages Agile development: Agile took off as a philosophy because the tech industry is simply impatient by nature. What used to take two to three years to develop now only takes less than a year. And with cloud computing and virtualization, Agile development is taken to a new level. This only shows that Agile and Cloud are meant for each other.
Setup an unlimited number of staging and testing servers.
Development teams used to deploy physical staging and testing servers so they became limited because of hardware resource cost. But with cloud computing, they can virtualize an unlimited number of servers and be able to do parallel work as is dictated by the Agile philosophy.
The Cloud brings Agile closer to its ideals.
With capabilities like having unlimited servers to work with, development teams can become truly parallel and work out all of the inefficiencies brought by resource limitation. Because no matter how agile your development is, you are always delayed with the provisioning of physical servers and setting up necessary software like Oracle databases and web servers. This limitation is now a thing of the past, what used to take weeks of setup can now be done in under ten minutes.
Encourage exploration and innovation.
Because of limited time and resources, development is often very strict about keeping on track and innovative ideas are often left out or moved to be tried on the next cycle. But with virtualization, the team can simply run some ideas on different provisioned servers as a totally unattached branch and not worry about losing too much time or jeopardizing the project. This encourages members to try out new things which will often lead to good rather than bad.
Continuous integration and delivery of project goals.
Again, because of virtualization, development teams are able to quickly provision and test code and while simultaneously developing and testing a new version, a stable older release can be delivered to the next cycle or even to the customer if it already meets all the core requirements. Further developed functions and code can later be integrated into released products after extensive testing and virtual integration trials to ensure that actual integration is flawless.
There are still so much more that cloud computing can offer Agile, but virtualization and a seemingly infinite resource are the most obvious and apparently most significant advantages that Cloud Computing has brought to Agile and bringing it closer to its ideals.
By Abdul Salam
(Image Source: Shutterstock)
He has recently co-authored: Deploying and Managing a Cloud Infrastructure: Real-World Skills for the CompTIA Cloud+ Certification (Wiley).