Background: In an agile team, working on complex front end application relying on heavy backend (implementing complex business logic) where new features are being released in a pipeline which goes through typical multiple environments- Dev, QA,Stage & Prod.
As features are being released in relatively short release cycles , there is an need to push hotfixes as well time to time. Due to which an need arises to keep the "in- progress features" version separate from released features while testing. As lot of features are more heavy in backend due to complex business logic , it is difficult to cleanly separate the "in -test" version from the "released" version particularly from backend.
Problem: Due to heavy backend and relative short release cycles(typically a month), its challenge to separate clean "released" and "In-progress" features so even though on having separate environments for pipeline, there is an need to have sub - environments to keep "test" and "production" versions separate so team is maintaining two parallel pipelines: one for normal feature release and second (faster one)for hotfixes which creates a problem of redundant testing in each environments twice before release as it looks like lot of manual code merging takes place between these two pipelines eventually to keep them identical.
Testing: Testing is implemented partially by automation (regression automation suite) and followed by manual exploratory testing(guided by previous automation results) to promote the builds in the pipeline.
Possible Solution: Team looking for an ideal solution to avoid redundant testing by keeping and maintaining a clean single pipeline.