From c09bb8d8fe58ff779c9d9fab404cb29af16380da Mon Sep 17 00:00:00 2001 From: Daniel Izquierdo Cortazar Date: Wed, 6 Mar 2024 10:48:50 +0100 Subject: [PATCH 01/12] Add outsourced development ecosystem pattern This patterns defines an existing problem in large corporations that are highly outsourced. --- .../outsourced-development-ecosystem.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 patterns/1-initial/outsourced-development-ecosystem.md diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md new file mode 100644 index 000000000..b9f82a90b --- /dev/null +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -0,0 +1,80 @@ +## Title + +Outsourced Development Ecosystem + +## Patlet + +The burdens of existing contracts in an outsourced environment constraints the success of the +InnerSource initiative. Outsourced companies may see this as a risky situation as they have to +way to share knowledge, resources, and expertise with competitors within the mother company. +The legal contracts typically forces to develop software in a very specific and silo-ed way. +Redefining these rules and allowing outsourced companies would bring a more InnerSource-friendly +way of working. + +## Problem + +Current outsourced environments in large corporations prevent those suppliers to work in an +InnerSource way. This includes a transparent, collaborative, and community-oriented way. +Beyond the implications of the cultural change, and process focus, most of the limitations are +given by the existing legal framework that forces the outsourced development to charge a fee +per hour and within a very specific project. There are not specific agreements to allow +a collaborative way of working across the organization and across outsourced companies or contractors. + +## Context + +Large corporation with a big variety of outsourced companies and contractors that produce part +of the code base of this company. Each company or contractor has its own legal contract in place +that states the goals, the pricing schema, and the expected outcome and output for the organization. + +No collaboration happens at the outsourced company or contractor level and each of them are working +in a silo-based mode with no interactions with others, but the mother company. + + +## Forces + +* Legal teams and outsourced companies trying to avoid risk exposure and responsibilities. +* Legal implications and responsibilities when something goes wrong. +* SLAs in place forcing behaviors. +* Managers losing control of the situation by having more collaboration across companies borders + +## Solutions + +* Governance model: + * Better definition of who owns the code and the data produced and if possible owned by the + mother company. + * Definition of checks and balances of who is responsible for what action (RACI) and SLAs against PRs. + * Definition of tools and processes so suppliers do not bring extra complexity to other suppliers. +* Flexibility in the legal contracts to allow them to contribute with other companies, + even when they are competitors. + * Declaration of the supplier with other suppliers. + * Onboarding new suppliers. + * Relationship across developers. + * Budget management. +* Good practices should be enforced in the contracts with those companies or contractors. + As an example: + * Good documentation practices. + * Code should be hosted in a collaborative platform every company and contractor is able to reach + out to it + * State pull request / change request as the by-default way of working and communication. + * Avoid private developments and releases of tons of lines of code, keep a transparent way of + across companies or contractors. +* Train the mother company POs to work with several suppliers within the same project. +* Define clear and fair guidelines across internal outsourced companies to avoid internal friction. +* Skill up you suppliers on InnerSource practices +* Resources discussions may be part of the conversation at some point, be sure to define the limitations + of their interactions within other existing projects. + +## Resulting Context + +Outsourced companies and contractors are safe to collaborate with other competitors as collaboration +rules are clear, common processes and tools are in place, and the legal framework of each participant +allows to move into this direction. + + + +## Author(s) (optional) + + + +## Acknowledgments (optional) + From b8c2fc6646610740a4a663717b33759bd3c404ca Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Wed, 6 Mar 2024 20:27:06 +0100 Subject: [PATCH 02/12] Fixing linter issues --- patterns/1-initial/outsourced-development-ecosystem.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index b9f82a90b..7a65b60a1 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -29,7 +29,6 @@ that states the goals, the pricing schema, and the expected outcome and output f No collaboration happens at the outsourced company or contractor level and each of them are working in a silo-based mode with no interactions with others, but the mother company. - ## Forces * Legal teams and outsourced companies trying to avoid risk exposure and responsibilities. @@ -70,11 +69,7 @@ Outsourced companies and contractors are safe to collaborate with other competit rules are clear, common processes and tools are in place, and the legal framework of each participant allows to move into this direction. - - ## Author(s) (optional) - - ## Acknowledgments (optional) From fbbb38f1a8a3b7b32e0429970992b799724144c8 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Wed, 6 Mar 2024 20:30:13 +0100 Subject: [PATCH 03/12] Fix typo --- patterns/1-initial/outsourced-development-ecosystem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index 7a65b60a1..95eecaf22 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -59,7 +59,7 @@ in a silo-based mode with no interactions with others, but the mother company. across companies or contractors. * Train the mother company POs to work with several suppliers within the same project. * Define clear and fair guidelines across internal outsourced companies to avoid internal friction. -* Skill up you suppliers on InnerSource practices +* Skill up your suppliers on InnerSource practices * Resources discussions may be part of the conversation at some point, be sure to define the limitations of their interactions within other existing projects. From 2eba84158d016246427c1decc1a0ca1118c2c247 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Wed, 6 Mar 2024 20:30:51 +0100 Subject: [PATCH 04/12] Typo fix --- patterns/1-initial/outsourced-development-ecosystem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index 95eecaf22..ff7af7420 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -4,7 +4,7 @@ Outsourced Development Ecosystem ## Patlet -The burdens of existing contracts in an outsourced environment constraints the success of the +The burdens of existing contracts in an outsourced environment constrains the success of the InnerSource initiative. Outsourced companies may see this as a risky situation as they have to way to share knowledge, resources, and expertise with competitors within the mother company. The legal contracts typically forces to develop software in a very specific and silo-ed way. From 08f66c31d0f1b26c4756e230d2ec34350c43e269 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Fri, 8 Mar 2024 08:37:37 +0100 Subject: [PATCH 05/12] Fix one more complaint by markdownlint --- patterns/1-initial/outsourced-development-ecosystem.md | 1 - 1 file changed, 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index ff7af7420..b415a6755 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -72,4 +72,3 @@ allows to move into this direction. ## Author(s) (optional) ## Acknowledgments (optional) - From 5a360c544c71351f8050cbdbfb522072af5534cc Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sun, 28 Sep 2025 21:39:23 +0200 Subject: [PATCH 06/12] Removing comma --- patterns/1-initial/outsourced-development-ecosystem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index b415a6755..cf7bfb5f9 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -15,7 +15,7 @@ way of working. Current outsourced environments in large corporations prevent those suppliers to work in an InnerSource way. This includes a transparent, collaborative, and community-oriented way. -Beyond the implications of the cultural change, and process focus, most of the limitations are +Beyond the implications of the cultural change and process focus, most of the limitations are given by the existing legal framework that forces the outsourced development to charge a fee per hour and within a very specific project. There are not specific agreements to allow a collaborative way of working across the organization and across outsourced companies or contractors. From 12050cea53b2bc7036b320afb00338a546d24a03 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sun, 28 Sep 2025 21:40:24 +0200 Subject: [PATCH 07/12] Update patterns/1-initial/outsourced-development-ecosystem.md --- patterns/1-initial/outsourced-development-ecosystem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index cf7bfb5f9..952d711d0 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -23,7 +23,7 @@ a collaborative way of working across the organization and across outsourced com ## Context Large corporation with a big variety of outsourced companies and contractors that produce part -of the code base of this company. Each company or contractor has its own legal contract in place +of the code base of this company. Each company or contractor has its own contract in place that states the goals, the pricing schema, and the expected outcome and output for the organization. No collaboration happens at the outsourced company or contractor level and each of them are working From 22e26462bc0eb17926ac0a8d34d638b83ef8eaf8 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sun, 28 Sep 2025 21:43:29 +0200 Subject: [PATCH 08/12] Format as list --- patterns/1-initial/outsourced-development-ecosystem.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index 952d711d0..1af10dc45 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -22,12 +22,10 @@ a collaborative way of working across the organization and across outsourced com ## Context -Large corporation with a big variety of outsourced companies and contractors that produce part -of the code base of this company. Each company or contractor has its own contract in place -that states the goals, the pricing schema, and the expected outcome and output for the organization. - -No collaboration happens at the outsourced company or contractor level and each of them are working -in a silo-based mode with no interactions with others, but the mother company. +- Large corporation with a big variety of outsourced companies and contractors that produce part of the code base of this company. +- Each company or contractor has its own contract in place that states the goals, the pricing schema, and the expected outcome and output for the organization. +- No collaboration happens at the outsourced company or contractor level and each of them are working +in a silo-based mode with no interactions with others, but only with the mother company. ## Forces From 43ce5fa6f7707684d0870e1b6df2cc5c8811e772 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sun, 28 Sep 2025 21:46:02 +0200 Subject: [PATCH 09/12] Wording about pull requests --- patterns/1-initial/outsourced-development-ecosystem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index 1af10dc45..736d17783 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -52,7 +52,7 @@ in a silo-based mode with no interactions with others, but only with the mother * Good documentation practices. * Code should be hosted in a collaborative platform every company and contractor is able to reach out to it - * State pull request / change request as the by-default way of working and communication. + * Define pull requests as the default way of working and communicating (and through that improve async collaboration) * Avoid private developments and releases of tons of lines of code, keep a transparent way of across companies or contractors. * Train the mother company POs to work with several suppliers within the same project. From d43b811872d561bb7dcf1d4baa764a9593ab4eff Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sun, 28 Sep 2025 21:46:54 +0200 Subject: [PATCH 10/12] Spell out Product Owners --- patterns/1-initial/outsourced-development-ecosystem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index 736d17783..1a7d590d9 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -55,7 +55,7 @@ in a silo-based mode with no interactions with others, but only with the mother * Define pull requests as the default way of working and communicating (and through that improve async collaboration) * Avoid private developments and releases of tons of lines of code, keep a transparent way of across companies or contractors. -* Train the mother company POs to work with several suppliers within the same project. +* Train the Product Owners at the mother company to work with several suppliers within the same project. * Define clear and fair guidelines across internal outsourced companies to avoid internal friction. * Skill up your suppliers on InnerSource practices * Resources discussions may be part of the conversation at some point, be sure to define the limitations From d5f8d6ac214383a9a52579b1e7417f09b2e5353b Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sun, 28 Sep 2025 21:49:32 +0200 Subject: [PATCH 11/12] Rewording way => weigh --- patterns/1-initial/outsourced-development-ecosystem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index 1a7d590d9..b3c29e647 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -6,7 +6,7 @@ Outsourced Development Ecosystem The burdens of existing contracts in an outsourced environment constrains the success of the InnerSource initiative. Outsourced companies may see this as a risky situation as they have to -way to share knowledge, resources, and expertise with competitors within the mother company. +weigh sharing knowledge, resources, and expertise with competitors within the mother company. The legal contracts typically forces to develop software in a very specific and silo-ed way. Redefining these rules and allowing outsourced companies would bring a more InnerSource-friendly way of working. From be526d2c42ff7c484789f445f67ee5664e03d757 Mon Sep 17 00:00:00 2001 From: Sebastian Spier Date: Sun, 28 Sep 2025 21:51:18 +0200 Subject: [PATCH 12/12] Removing optional blocks --- patterns/1-initial/outsourced-development-ecosystem.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/patterns/1-initial/outsourced-development-ecosystem.md b/patterns/1-initial/outsourced-development-ecosystem.md index b3c29e647..64cbbea45 100644 --- a/patterns/1-initial/outsourced-development-ecosystem.md +++ b/patterns/1-initial/outsourced-development-ecosystem.md @@ -67,6 +67,5 @@ Outsourced companies and contractors are safe to collaborate with other competit rules are clear, common processes and tools are in place, and the legal framework of each participant allows to move into this direction. -## Author(s) (optional) +## Authors -## Acknowledgments (optional)