You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 30-day-warranty.md
+24-29Lines changed: 24 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,15 @@
2
2
3
3
30 Day Warranty
4
4
5
-
# Problem
5
+
# Context
6
6
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.
10
8
11
9
- TBD: link to pattern "setting clear expectations for contributing code"
12
10
13
-
# Context
11
+
# Problem
14
12
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.
19
14
20
15
# Forces
21
16
@@ -25,43 +20,43 @@ to write the contributed component.
25
20
- If code is contributed from outside the team, the team has the natural
26
21
suspicion that the other team does not know how to write code that would
27
22
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.
29
25
- There is a natural aversion to taking responsibility for code not written
30
26
by oneself.
31
27
- Contributed needs to be heavily rewritten before being accepted into the
32
28
codebase.
33
29
- There is the fear of the contributors not being available for support with
34
30
fixing bugs after the time on contribution.
35
31
- 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.
37
33
- 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.
39
35
- 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.
41
37
- 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).
43
40
44
41
# Solution
45
42
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.
50
48
51
-
- Clear contribution guidelines establish expectations and agreements before
52
-
work starts
53
-
- Warranty periods may vary depending on the risk levels involved
54
49
55
50
# Resulting Context
56
51
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.
61
56
62
57
# Known Instances
63
58
64
-
PayPal
59
+
This was tried and proven successful at PayPal.
65
60
66
61
# Authors
67
62
@@ -76,9 +71,9 @@ PayPal
76
71
77
72
# State
78
73
79
-
- Draft (2017 Spring InnerSource Summit)
74
+
Drafted at the 2017 Spring InnerSource Summit; reviewed 18 July 2017.
80
75
81
76
# Variants
82
77
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