From c09bb8d8fe58ff779c9d9fab404cb29af16380da Mon Sep 17 00:00:00 2001 From: Daniel Izquierdo Cortazar Date: Wed, 6 Mar 2024 10:48:50 +0100 Subject: [PATCH 1/5] 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 2/5] 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 3/5] 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 4/5] 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 5/5] 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) -