Since a few days ago is being conducted an interesting discussion in Agile Spain groups about Continuous Deployment.While some of the entries are for autoafirmar that each is the best implementer of SCRUM that exists, or to explain the why of a practice such as continuous integration, there are many deserving read only by the fact of starting to change our way of thinking. First things first, and before it’s always: to achieve an environment with CD, need to have a 100% of management support, a very seamless integration between development teams and teams of systems, etc. etc. etc. In other words, this is a practice that requires a very high level of maturity in terms of practices is required. If you look for example at Wikipedia, the definition of Continuous Deployment does not exist, but if there is an invalid link from Continuous Integration.
What if it exists on Wikipedia is the concept of Continuous Delivery, explaining as applying the practices of Automated Testing, Continuous Integration and Automated Deployment is possible to mount a Continuous Deliveryenvironment. One of the principles of this practice is to accelerate the time of deploying an application to a specific environment, either a test or even production environment. In my case, leveraging the capabilities of Team Build 2010 and Azure that I can get this in the next project that I have in hand.
Note: the only major problem I have in vista now that I am planning to this model, is the limited capacity of deployment that has an environment like Windows Phone, let is a chestnut to automate this same. You ask the crack of Joshua Yeray (@ JosueYeray ) to see which recommends.
At this point, my working model will initially be based on 2 lines of development (with a very mature model of branching weAvanade Spain) where it will always be available (i.e. displayed) for testing
- An environment with the application deployed from the last output of a build with a correct implementation (build + unit tests) of the line of development.
- An environment of AZURE to TEST with the application deployed from the last output of a build of a branch that has passed a battery of tests of UX.
Obviously behind all this, will continue to apply Test Driven Development, ensuring a uniform syntax using StyleCop, ensuring control of projects through TFS and some good practice to define, etc. But come on, that in the end the idea remains the same:
Improve the way in which we develop software on a daily basis
When you have implemented and you can evaluate the results of implement and maintain this practice for a time, ´comentaré my impressions.
Greetings @ Home
- Agile Spain
- Continuous Delivery Wikipedia
- Continous Delivery Book
- Geek and Poke
PS: Just buy the book at Amazon (http://bit.ly/zbiP9A) from just €28.