Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create early-and-fluid-quality-management-for-predictable-delivery #498

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
## Title

Early and fluid quality management for predictable delivery

## Patlet

Testing practices are often short-cutted to meet deadlines leading to stability questions regarding the code. Frequent code review and testing is embedded in a smaller pull-request culture.

## Problem

Code stability depends on how confident we are on our tests. In some cases, proper testing is not taking place until later stages (even pre-production deployment), generating delays in the delivery of the releases. Part of the problem is the size of changes. Bigger changes are more difficult to review and test. In other words, our development code is sent to pre-production without passing the tests, creating blocks and loops against pre-production environments while fixing the issues.

The lack of automated testing coverage leaves a lot of room for fears of breaking things (regressions), which in turn tend to prevent contributions and their acceptance. The contributions are also more error-prone and thus need more corrective effort. This delays them and increases the risk of conflicting with other code changes.

## Context
spier marked this conversation as resolved.
Show resolved Hide resolved

* Proper testing is not taking place until the late stages
* There's fear of regressions for the parts that were once tested. This blocks contribution and innovation because contributors fear breaking working software, and verification is effort-consuming and difficult to schedule for maintainers.
* Testing finds severe and deeply embedded bugs that need significant changes
* Release delays are usual and big

## Forces
spier marked this conversation as resolved.
Show resolved Hide resolved
spier marked this conversation as resolved.
Show resolved Hide resolved

Against:
Time pressures by the business team.
Needs investments to reap benefit cycle after cycle.

In favor:
Agility is a trend in both software development and project management (lean)
Perfectionism on the technical teams.
Lack of confidence in the master branch of development, lack of stability.

## Solutions

Automated testing, routine code review, and frequent pull request processes are put in place to ensure quality.

Planning: Break the delivery in smaller chunks (minimum viable changes). This goes also for processes and tooling.
Coordination: Agree on outcome validation criteria upfront.
Culture: Define needs and outcome, not the solution
Culture: Approve as soon as situation improves (don’t wait for perfection) and iterate to improve
Culture: Stakeholders watch and participate in development according to their capabilities (pull request culture).
Automate testing to reduce cycle times and repetitive effort

## Resulting Context

Since changes are small and review is very automated, reviews are swift and problems are detected early, so they are fixed quickly.
Early and flawless delivery of key functionality provides and hardens confidence in the development.
Common pull request culture enables other stakeholders to provide and validate solution proposals. Development accelerates with InnerSource contributions.

## Known Instances

* Santander Bank

## Status

Initial
Published internally in Santander Bank; drafted via pull-request in December of 2022

## Authors

Alberto Pérez García-Plaza
Daniel Izquierdo Cortázar
Addie Girouard

## Acknowledgements

Igor Zubiaurre