Move things to beginning of pipeline in Development chain
Khem Raj January 14, 2025 #metaA development pipeline involves several tasks to perform, broadly around design, development, testing and deployment. We can draw a timeline of code flight as it goes through these steps. If a changeset fails anywhere in the pipeline its taken out and placed at the beginning of the pipeline, this seems a very simple process and results in good quality.
There is an interesting fact with the timeline, cost of dropping a changeset gets higher as it travels the pipeline, for example of a changeset gets dropped just before the last step, it is way more expensive than if it got dropped at the first stage, imagine a defect escaping the whole pipeline and showing up at customers, it can be way more expensive.
Therefore, trying to move a lot of these validation steps closer to start of pipeline makes it more efficient and reduces cost and disruption. If we find a regression in deployed product, we can create a testcase with exact setting and validate that whenever a release happens in the future. This will take care of the problem, however can it be optimized ? Yes, if we can reduce the problem to a component and write a unit test for it, then we do not require elaborate system tests to ensure the regression does not happen again. Since it moves to a component and hopefully a small test case, saves not only time but also resources to run it.
General tendency to move towards beginning of pipeline helps naturally in speeding up these tasks and results in faster time to deploy with good quality.
Always think of moving these steps towards the beginning of pipeline and you will benefit.