Just like any enterprise software solution, putting your development infrastructure in the cloud will save your organization money in terms of hardware, support and management costs. Selecting a reputable hosting provider should mean high performance too wherever your software development community exists on the planet. The provider takes on all the burden of upgrade, security patches, provisioning and this removes a major headache of development organizations. Reliance on operations to manage development infrastructure is fraught with complexity and frequently causes conflict.
It sounds like an easy choice doesn’t it? Well what do we sacrifice in exchange for all this convenience and simplicity?
The myth of one-size-fits-all is never more clearly seen than in the world of software development. I recently met with a client who is completely re-architecting and re-writing their business application. They are chose .NET as their platform because the CTO knew it the best. That’s not a bad thing necessarily, but it does mean that the development topology in each and every organization is likely to be unique. The methodology that each organization chooses and then modifies also makes them unique. How the development infrastructure is integrated into business systems (CRM/ERP) for task tracking and project chargebacks will have varying degrees of detail. Add into this the voracity of testing, risk and compliance and we have numerous one-offs. Of course, and it should go without saying, the cloud-based solution needs to be able to deploy our developed application to our target environments and they may include our own cloud environments.
So your choice is somewhere along a continuum from low-cost, limited-choices to high-cost, tailored-solution.
Agile teams are less concerned with tools and process and more concerned with individuals and their ability to collaborate. When choosing an ALM platform in the cloud to support these kinds of teams, means looking for supportive technology that manages the business of Agile. But is also needs to add value to the interactions between team members through, for example, social media technology.
As more and more applications are move to mobile platforms, cloud-based ALM, whether for Agile teams or not, need to support the development tools of these environments. And that means these cloud-based tools need to be ready to deploy the applications we build to our mobile devices.
There are lots of choices out there. Don’t compromise too much when you select your solution and that means being very clear from the outset what is important to you.