Cloud Empowers Agile
I've just read some interesting articles about current maturity status of the cloud computing and recognized one of the fantastic benefits of cloud-based infrastructure and platform services. They allow us to gain IT resources in self-service manner, thus empowering the agile development process.
As you know an agile way of building software in based on early communication and collaboration with all stakeholders involved in a project. Getting feedback as soon as possible is a key to successful steering of an agile project. To support this early communication, each iteration should produce some marketable features (deliverables). User stories that have been developed should represent a concrete business value. We are talking in this case about small deployable and testable features, that give the possibility to get an overview about the current development stage.
However especially in early stages of a project we often lack of a proper staging environment. This common problem can be defined as "we know what to demo" but "we don't know where to demo". Involving cloud computing enables trying out of new deliverables without first investing in hardware, software and networking. The self-provisioning capabilities of the cloud computing allows simple and fast setup of a required demo environment without complex procurement processes. Great.
As usually there is also the "black side" of this solution. Characteristics of our "demo"-cloud environment should be exactly compared with the final production environment to avoid overseeing of problems especially in case of non-functional requirements. We should also define the mailstone when to switch from the "demo"-cloud environment in to the real staging environment (if ever).
Additionally deploying a new application into a public cloud could be unacceptable for many stakeholders in case of core business applications or for companies where the IT is their primary business. Nevertheless we should consider cloud computing as an alternative to the staging environment from the beginning of each agile project. It could be a simple and effective way how to save time and money.
---
As you know an agile way of building software in based on early communication and collaboration with all stakeholders involved in a project. Getting feedback as soon as possible is a key to successful steering of an agile project. To support this early communication, each iteration should produce some marketable features (deliverables). User stories that have been developed should represent a concrete business value. We are talking in this case about small deployable and testable features, that give the possibility to get an overview about the current development stage.
However especially in early stages of a project we often lack of a proper staging environment. This common problem can be defined as "we know what to demo" but "we don't know where to demo". Involving cloud computing enables trying out of new deliverables without first investing in hardware, software and networking. The self-provisioning capabilities of the cloud computing allows simple and fast setup of a required demo environment without complex procurement processes. Great.
As usually there is also the "black side" of this solution. Characteristics of our "demo"-cloud environment should be exactly compared with the final production environment to avoid overseeing of problems especially in case of non-functional requirements. We should also define the mailstone when to switch from the "demo"-cloud environment in to the real staging environment (if ever).
Additionally deploying a new application into a public cloud could be unacceptable for many stakeholders in case of core business applications or for companies where the IT is their primary business. Nevertheless we should consider cloud computing as an alternative to the staging environment from the beginning of each agile project. It could be a simple and effective way how to save time and money.
---
Comments
Post a Comment