Skip to content

Commit 8184cf4

Browse files
authored
Updated and sync'd with PLoP 2017 paper.
Updated this pattern to match revised pattern in the PLoP 2017 paper on InnerSource Patterns, meeting reviewer comments.
1 parent 984e8ab commit 8184cf4

1 file changed

Lines changed: 24 additions & 29 deletions

File tree

30-day-warranty.md

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,15 @@
22

33
30 Day Warranty
44

5-
# Problem
5+
# Context
66

7-
A team developing a component which is used throughout an organization is
8-
resisting to accept or rejects contributions (feature requests) and as a result
9-
blocks progress or is disrupted by frequent escalations.
7+
Teams depends on another team accepting their contributions so that a component produced by the receiving team can be used by the contributing team. The receiving team does not have the resources, knowledge, permission, inclination to write the contributed component.
108

119
- TBD: link to pattern "setting clear expectations for contributing code"
1210

13-
# Context
11+
# Problem
1412

15-
Teams depends on other teams to add functionality to a component
16-
they depend on so that they can deliver features in their own components. The
17-
requiring team does not have the resources, knowledge, permission, or inclination
18-
to write the contributed component.
13+
A team developing a component which is used throughout an organization is resisting to accept or rejects contributions (feature requests) and as a result blocks progress or is disrupted by frequent escalations.
1914

2015
# Forces
2116

@@ -25,43 +20,43 @@ to write the contributed component.
2520
- If code is contributed from outside the team, the team has the natural
2621
suspicion that the other team does not know how to write code that would
2722
meet the teams expectations.
28-
- Direction of loyalty: ?
23+
- Each team looks first to help its own leaders achieve their own goals. This direction
24+
of loyalty can complicate resolution of this problem.
2925
- There is a natural aversion to taking responsibility for code not written
3026
by oneself.
3127
- Contributed needs to be heavily rewritten before being accepted into the
3228
codebase.
3329
- There is the fear of the contributors not being available for support with
3430
fixing bugs after the time on contribution.
3531
- Teams fear contributed code will lead to high(er) maintenance costs but do
36-
not know how to control for that
32+
not know how to control for that.
3733
- Receiving teams may fear that teaching others how to contribute code will
38-
expose technical debt in their system and that visibility may be damaging
34+
expose technical debt in their system and that visibility may be damaging.
3935
- Receiving teams may not believe that they will get acceptable code no
40-
matter how much mentoring they provide
36+
matter how much mentoring they provide.
4137
- Either team may not feel confident in measuring risks or certifying that
42-
they are mitigated in a contribution
38+
they are mitigated in a contribution; the system itself is somewhat brittle
39+
(may not be ways to fully test and catch all problems).
4340

4441
# Solution
4542

46-
Address the fears of both the receiving and the contributing teams by
47-
establishing a warranty period, generally 30 days starting when the contributed code
48-
goes into production. During this time the contributing team commits to provide
49-
bug fixes and/or staff support to the receiving team for issues around their contribution.
43+
Address the fears of both the receiving and the contributing teams by establishing a 30 day period starting with the time the contributed code goes into production, during which the contributing team consents to provide bug fixes to the receiving team.
44+
45+
Provide clear contribution guidelines spelling out the expectations of the receiving team and the contributing team.
46+
47+
Note that the warranty period could be 45, 60, or 100 days too. The duration may vary based upon the constraints of the project, the software life cycle of the project, commitments to customers, and other factors.
5048

51-
- Clear contribution guidelines establish expectations and agreements before
52-
work starts
53-
- Warranty periods may vary depending on the risk levels involved
5449

5550
# Resulting Context
5651

57-
- the receiving team is willing to accept contributions and able to share the
58-
workload of initial adaptations/fixes
59-
- increased transparency and fairness
60-
- keeps escalations from becoming too heavyweight
52+
- The receiving team is willing to accept contributions and able to share the
53+
workload of initial adaptations/fixes.
54+
- Increased transparency and fairness.
55+
- Keeps escalations from becoming too heavyweight.
6156

6257
# Known Instances
6358

64-
PayPal
59+
This was tried and proven successful at PayPal.
6560

6661
# Authors
6762

@@ -76,9 +71,9 @@ PayPal
7671

7772
# State
7873

79-
- Draft (2017 Spring InnerSource Summit)
74+
Drafted at the 2017 Spring InnerSource Summit; reviewed 18 July 2017.
8075

8176
# Variants
8277

83-
- (Dirk) Ensure cooperation of dependent teams by making them a community by having
84-
more than one, meritocratically appointed TCs take responsibility.
78+
- Ensure cooperation of dependent teams by making them a community by having
79+
more than one, meritocratically appointed "Trusted Committers" (TCs) take responsibility.

0 commit comments

Comments
 (0)