Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Evolution from Waterfall to Continuous Delivery
– A Case Study- By ShriKantVashishtha
Focus on Process Improvement Only –A Challenge
Some Business Goals for Agile Transformation
Trim the Cycle Time from Concept to production
Enable Continuous Feedback from Market
Improve the Cycle Time of Value Chain
The Case Study
Focused on Overall Agility
The Business Context
Siloed IT Division
e-Banking Team
Core Banking Team
Siloed IT Division
A Sample Credit Card Project
Long Delivery Cycles
IT Division as Black Hole
At the Brink of Outsourcing Entire IT
The Branch Merge Hell
Team Lived In
Project Max
Project Wizards
Project Phoenix
e-Banking Team
Project Max
Project Wizards
Project Phoenix
What to Do in Such Scenario?
If it’s hard to do something, you are not doing it often enough!
If delta is small, so is the risk.
Trunk Based Development
Works Only When Safety Net Around
How to have safety net around in a legacy product
• Testing based on mitigating risk• Identify risks and then see in which layer they can
be mitigated• Some can be mitigated in unit testing, some in
integration layer and some can be in functional testing layer• Cover the product with tests based on the priority
or based on the biggest reward on the buck strategy
Release to Production• 6 weeks of production release cycle• 2 weeks for regression cycle and
hardnening• the idea was to reduce this cycle as
much as possible with improved test coverage
• cycle was like a bus. whichever features were ready would move and rest will move with next release
• 3 branches• Team would cut the staging branch for
hardening, non-functional testing and regression
• Staging would become the production branch eventually
• Any production bug fixes would be fixed in the production branch and then fixed in dev as well. Similarly for staging branch as well
How to Handle Not-Ready Features?
Feature Toggle
How did it work across projects?
• Each project would work on the trunk, even waterfall project as well• Daily Standup as a sync-up across teams on design
discussions, design sanctity and coordinate
Consequences
• The work got simplified tremendously• This required lots of collaboration. However as
collaboration became the part of the team DNA, it didn’t increase the effort involved.• Regression time started decreasing over time