The Virtualization Practice

Agile Cloud Development

Agile Cloud Development focuses the aspects of agile development that integrate with cloud computing SaaS and PaaS environments including DevOps, Scrum, XP, and Kanban. ...
Major areas of focus include the Agile Development process and the pitfalls many companies encounter trying to implement it, the DevOps process and the pitfalls associated with its implementation. the organizational aspects of successfully implementing Agile Development and DevOps and the new tools that should be used to support Agile Development and DevOps processes. Covered toolsets include Agile Project Management, Continuous Integration, and Automated Deployment.

agilecloud

Many companies use some flavor of an agile methodology today with mixed results. I have written about agile fail patterns in the past, but some companies do an excellent job of applying agile best practices yet still suffer from missed dates, botched deployments, and low quality. Why is that, you may ask? Because most agile methodologies only address the development side of the house and clearly ignore the operations side of the house. The two need to work in tandem to produce the desired results, which is the goal of DevOps.

CloudComputing

Those of us who work on complex computer systems know that it can be a daunting task to get all the different systems to communicate and work properly. The bigger the infrastructure gets, the more complex it becomes. Now, take the most complex system that you have designed or worked with and increase the complexity a hundredfold, and that might give you an idea of the complexity involved with the design and deployment of the Affordable Care Act web portal.

devops2

I spent two days at PuppetConf 2013 in San Francisco this week, and the common themes were automate everything, monitor everything, provide feedback early in the process, and focus on culture. All four of those topics aligned with the DevOps movement, with the goal of faster and more reliable deliveries. Companies that can deliver software more frequently with fewer issues have a competitive advantage over those who can’t.