Continuous delivery of valuable software is the highest priority and most important agile principle according to the document. Adhering to this principle helps both customers and delivery teams overcome risks and build satisfaction through early and consistent delivery. Continuous delivery allows teams to refine requirements based on user experience, start simply and build complexity over time, and welcome changing needs. It also enables other agile principles like frequent working software delivery and sustainable processes for requirements and releases.
1. Continuous Delivery and Agile Principles
Our highest priority is to satisfy customer through early and continuous
delivery of valuable software is the 1st agile principle. Let us evaluate
how important this agile principle is.
What are the benefits of adhering to this principle?
If you want to de-risk as a service delivery team or as a customer to
overcome business risks and build upon customer satisfaction, it is
important to adhere to this principle as a delivery organization or as a
customer.
Continuous delivery of user stories with INVEST characteristics helps
both customer and delivery team to be successful.
When there is consistent and focused flow of information and
deliverables across the requirement elicitation to software delivery, and
then feedback on delivered software from customer back to the team,
delivery team and customer are on a mission to meet customer’s
business needs in the given environment.
Continuous delivery helps team and customer to understand and bring
up any missing requirements, lack of understanding of requirements,
mis-communication etc.
Continuous delivery gives customer higher degree of confidence on
delivery of complex requirements. Many times requirements will be
abstract and nebulous. It is the experience of the delivered software that
2. gives more opportunities for customer to refine the requirements and
make it more clear.
Continuous delivery helps both delivery team and the customer to start
with minimum requirements and build upon with more complex and
more impactful user stories.
What the customer and delivery team could do to create a win-win
situation when the timeline for release is fixed , but scope Is varying? In
such scenarios, it is advisable for team and customer to have
requirements which are must have and which are nice to have. Based on
the time in hand, Must have and Nice to have features can be
appropriately included in the sprints.
Continuous delivery provides the foundation or enables some of the
other agile principles also. When there is continuous delivery of small
increments in a potentially shippable form, team will be able to welcome
changing requirements because delivery is continuous, team is equipped
and used to working with user stories with INVEST characteristics. It
helps teams to deliver working software frequently. Team and customer
can get a sustainable cadence in terms of requirement management –
customer team will be able to spend adequate time to give requirements
with the right level of details at right time, also in terms of shippable
product increments from service delivery team perspective as the time
spent is rightly distributed across project need.
Continuous delivery setup helps to have software delivered frequently.
There should be sufficient checks and balances in place to have the
3. optimum flow of requirements, release management and deployment
management steps.
Continuous delivery of working software gives a sense of achievement
for delivery team by having customer representative’s feedback at every
short interval. This helps to increase the team morale.