From 95fdd1eeca0da2736108a228a17b7b0d43e1e6ae Mon Sep 17 00:00:00 2001 From: Trueblueaddie <102972456+Trueblueaddie@users.noreply.github.com> Date: Sun, 4 Dec 2022 15:56:32 -0600 Subject: [PATCH 1/8] Create early-and-fluid-quality-management-for-predictable-delivery --- ...uality-management-for-predictable-delivery | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery new file mode 100644 index 000000000..0a4c2abb6 --- /dev/null +++ b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery @@ -0,0 +1,58 @@ +## 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. + +## Forces + +Against: +Time pressures by the business team. +Perfectionism on the technical teams. +Lack of confidence in the master branch of development, lack of stability. +Needs investments to reap benefit cycle after cycle. + +In favor: +Agility is a trend in both software development and project management (lean) + +## 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 + +Structured +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 From 59b0b27535005901bfb255053f0c9c73744e59e5 Mon Sep 17 00:00:00 2001 From: Trueblueaddie <102972456+Trueblueaddie@users.noreply.github.com> Date: Thu, 23 Mar 2023 18:08:23 -0500 Subject: [PATCH 2/8] Apply suggestions Co-authored-by: Igor Zubiaurre --- ...y-and-fluid-quality-management-for-predictable-delivery | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery index 0a4c2abb6..0c26d6583 100644 --- a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery +++ b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery @@ -10,16 +10,17 @@ Testing practices are often short-cutted to meet deadlines leading to stability 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. ## Forces Against: Time pressures by the business team. -Perfectionism on the technical teams. -Lack of confidence in the master branch of development, lack of stability. 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 @@ -44,7 +45,7 @@ Santander Bank ## Status -Structured +Initial Published internally in Santander Bank; drafted via pull-request in December of 2022 ## Authors From 2a8df4e93bf2931fde392641b2c13f6cc6dff4c1 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Fri, 24 Mar 2023 13:24:37 +0100 Subject: [PATCH 3/8] Add markdown extension to filename --- ...arly-and-fluid-quality-management-for-predictable-delivery.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename patterns/2-structured/{early-and-fluid-quality-management-for-predictable-delivery => early-and-fluid-quality-management-for-predictable-delivery.md} (100%) diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md similarity index 100% rename from patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery rename to patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md From f7dac0fd8cb645a99e0bf48fbf4d491a26eda364 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Fri, 24 Mar 2023 13:25:09 +0100 Subject: [PATCH 4/8] Add spacing before header --- ...arly-and-fluid-quality-management-for-predictable-delivery.md | 1 + 1 file changed, 1 insertion(+) diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md index 0c26d6583..f5059aedb 100644 --- a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md +++ b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md @@ -11,6 +11,7 @@ Testing practices are often short-cutted to meet deadlines leading to stability 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. + ## Forces Against: From 7ddd62daa30d69e1ade3088936b5efd3cc240c91 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Fri, 24 Mar 2023 13:27:56 +0100 Subject: [PATCH 5/8] Remove trailing spaces --- ...luid-quality-management-for-predictable-delivery.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md index f5059aedb..24b9d3675 100644 --- a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md +++ b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md @@ -4,7 +4,7 @@ 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. +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 @@ -25,7 +25,7 @@ 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. +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. @@ -40,9 +40,9 @@ Since changes are small and review is very automated, reviews are swift and prob 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 +## Known Instances -Santander Bank +* Santander Bank ## Status @@ -55,6 +55,6 @@ Alberto Pérez García-Plaza Daniel Izquierdo Cortázar Addie Girouard -## Acknowledgements +## Acknowledgements Igor Zubiaurre From eaebb184a60a96a54e2266ec3620fb5c0d2329fb Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Fri, 24 Mar 2023 13:32:02 +0100 Subject: [PATCH 6/8] Removing trailing space --- ...rly-and-fluid-quality-management-for-predictable-delivery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md index 24b9d3675..8533ed5d6 100644 --- a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md +++ b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md @@ -44,7 +44,7 @@ Common pull request culture enables other stakeholders to provide and validate s * Santander Bank -## Status +## Status Initial Published internally in Santander Bank; drafted via pull-request in December of 2022 From d3e4a9ded7c32b2558a6342b0c91d12daa91e4c9 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sat, 25 Mar 2023 07:43:28 +0100 Subject: [PATCH 7/8] Add initial Context Co-authored-by: Igor Zubiaurre --- ...and-fluid-quality-management-for-predictable-delivery.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md index 8533ed5d6..250d6cf32 100644 --- a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md +++ b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md @@ -12,6 +12,12 @@ Code stability depends on how confident we are on our tests. In some cases, prop 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 +* 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 Against: From 9fcbdeaf80a3f17d4c6e86742ebe910390d75912 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sat, 25 Mar 2023 07:43:46 +0100 Subject: [PATCH 8/8] Spacing --- ...arly-and-fluid-quality-management-for-predictable-delivery.md | 1 + 1 file changed, 1 insertion(+) diff --git a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md index 250d6cf32..c847ec036 100644 --- a/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md +++ b/patterns/2-structured/early-and-fluid-quality-management-for-predictable-delivery.md @@ -13,6 +13,7 @@ Code stability depends on how confident we are on our tests. In some cases, prop 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 + * 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