One of the principles behind Agile manifesto says “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software”.
I have underlined the word “Continuous Delivery” and “valuable software”. If the software being delivered is of not much value then there is no point in releasing it. Delivering a software is a strenuous task.
It includes activities starting from verifying the functionality getting released, regressing the functionality which is already implemented, preparing release notes and doing installer testing. These things form a part of the Test plan. Apart from Test plan, we also need to prepare a Rollout plan which will take care of how the build will be rolled out to potential users. This may include disabling it for some users and enabling it to only a smaller segment of users for a quicker feedback coming in a controlled manner. Also the rollout plan take care of way of distributing software. Another planning item which is commonly ignored is Backout plan. What if we find something critical not working, what if the installer testing fails. For each and every release we plan , we should prepare a back out plan in case if something fails unexpectedly.
So what I wanted to highlight is that the continuous delivery comes at the cost of above mentioned activities which consumes quite a significant amount of time. So if we as a part of Software development team is not adding considerable value to the software then there is no point in Continuous delivery.