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.

  • 2
    FYI a month is not a short release cycle. But why are there in-progress features? It sounds like you have a story slicing and prioritisation problem, not a pipeline problem.
    – jonrsharpe
    Sep 6 '20 at 19:59
  • Thanks Jon. By "In-progress" feature I mean, there is an core sub team which need to work on "core engine" which requires large overhaul of the implementation which may take several weeks at the same time without interrupting the frontend developers releasing small UI features in releases.This is currently implemented by a way of "feature toggles" in the backend. Sep 6 '20 at 20:20
  • In its business context, a month is relatively short release cycle considering the domain and consequently backend complexity. Sep 7 '20 at 11:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.