@@ -53,7 +53,7 @@ process needs a large set of actions and those actions should have the
53
53
confirmation that they are working. For this the organization and its
54
54
business units need of a monitoring infrastructure.
55
55
56
- ## Development process infrastructure
56
+ ## Development Process Infrastructure
57
57
58
58
When developing there are three main tools to take into account: the versioning
59
59
, code review and continuous integration systems. Those should follow a process
@@ -82,14 +82,14 @@ to the submitter (7: Review process -> Updated Copy of Upstream).
82
82
83
83
![ Usual software development process] ( development_workflow.jpg )
84
84
85
- * ** Versioning system ** : this tool is used by developers to store the
85
+ * ** Versioning system** : this tool is used by developers to store the
86
86
several iterations of a given piece of software. As developers are basically
87
87
geographically distributed, the versioning system should allow this type of
88
88
interactions, where any developer at any time may submit a piece of code
89
89
to be reviewed. Systems that allow off-line development are highly
90
90
recommended as developers will be able to locally work and later submit the code.
91
91
92
- * ** Code review system ** : once the piece of code is ready to be submitted,
92
+ * ** Code review system** : once the piece of code is ready to be submitted,
93
93
this should be previously reviewed by another developer. This forces developers
94
94
to submit that piece of code through a specific process. As an example,
95
95
there are several ways where open source communities code review others, using
@@ -102,7 +102,7 @@ piece of source code without needing to submit that to review. Early discussions
102
102
in the code review process helps to produce better code and having mentors
103
103
involved in the process.
104
104
105
- * ** Continuous integration (CI) system ** : this is one of the key tooling when
105
+ * ** Continuous integration (CI) system** : this is one of the key tooling when
106
106
developing. There are already several eyes having a look at the source code
107
107
in the code review process. With the addition of a continuous integration
108
108
platform, any type of test should be covered: regression, unit testing, end
@@ -111,7 +111,7 @@ review process. In this way, developers can wait for the answer for the CI
111
111
system before proceeding with the code review process. They would be sure
112
112
that this works prior any effort from them.
113
113
114
- * ** Ticketing system ** : tickets are useful to attract community to an
114
+ * ** Ticketing system** : tickets are useful to attract community to an
115
115
InnerSource project. This helps in two specific ways: transparency of the
116
116
development process, raising issues and having a roadmap of the issues
117
117
to be closed. And in second place, to provide a platform for newcomers and
@@ -123,7 +123,7 @@ is key to let developers know about the community and business units needs.
123
123
Then all of this can be discussed during the design summits defining further
124
124
roadmaps based on users, developers and organizations requirements.
125
125
126
- * ** Documentation system ** : documentation is now available to any member
126
+ * ** Documentation system** : documentation is now available to any member
127
127
of the organization. And documentation has extra goals when producing it. Not
128
128
only to developers, but to users. Indeed the documentation should be focused
129
129
on several roles. From developers to users, the documentation should cover
@@ -137,7 +137,7 @@ the documentation also covers information as general as the mission and
137
137
the type of things that the piece of code does and the things that this does
138
138
not do.
139
139
140
- * ** Collaborative design platform ** : InnerSource in large organizations
140
+ * ** Collaborative design platform** : InnerSource in large organizations
141
141
is a synonym of geographically distributed teams. Face to face meetings are
142
142
hard to have in this type of organizations, but there should exist infrastructure
143
143
to bridge those difficulties. Requirements specifications, technical decisions,
@@ -149,8 +149,7 @@ by others within the organization.
149
149
150
150
![ Extended usual software development process] ( development_workflow_all.jpg )
151
151
152
-
153
- ## Communication channels infrastructure
152
+ ## Communication Channels Infrastructure
154
153
155
154
InnerSource is about cultural change. And that cultural change is based on
156
155
transparency and meritocracy. Communication channels should be open within
@@ -159,32 +158,30 @@ the organization, and anyone is allowed to post to them.
159
158
Any decision out of the public channels should be later written down in these
160
159
as any decision should be traceable and referenceable.
161
160
162
-
163
- * ** Mailing Lists / Forums ** : this asynchronous way of communicating across the
161
+ * ** Mailing Lists / Forums** : this asynchronous way of communicating across the
164
162
developer teams is highly effective. Being geographically distributed force
165
163
the members of the organization to avoid direct communication channels
166
164
when possible as people lives in different time zones.
167
165
168
- * ** Instant Messaging ** : this is another asynchronous communication channel.
166
+ * ** Instant Messaging** : this is another asynchronous communication channel.
169
167
From the usual IRC channels used in open source software, to other open
170
168
source options such as Mattermost, this helps to lead technical discussions,
171
169
store the log information and have all of the developers in a virtual room
172
170
where they can discuss, but also users can enter looking for advice.
173
171
174
- * ** Questions / Answers ** : this type of platforms help to raise questions and
172
+ * ** Questions / Answers** : this type of platforms help to raise questions and
175
173
share those with the rest of the community. Users and developers can vote
176
174
the most interesting ones and this helps to bring attention to issues of interest
177
175
for the internal inner-sourced community.
178
176
179
- * ** Video conference ** : face to face meeting definitively helps. And even more
177
+ * ** Video conference** : face to face meeting definitively helps. And even more
180
178
when discussing about technical issues. This type of synchronous communication
181
179
channels are useful for discussions but force people to be at the same time
182
180
in the same virtual room. As there could be members from several time zones,
183
181
those are more difficult to set than conversations in the instant messaging
184
182
or mailing lists.
185
183
186
-
187
- ## Monitoring infrastructure
184
+ ## Monitoring Infrastructure
188
185
189
186
This infrastructure is needed to understand the current situation of the
190
187
software development process and should help in the decision making process.
@@ -215,7 +212,6 @@ the several data layers, from raw information to detailed visualizations.
215
212
216
213
![ Monitoring Infrastructure] ( monitoring_infrastructure.jpg )
217
214
218
-
219
215
* ** Retrieval Platform** : this first part uses as input any of the data
220
216
sources already mentioned. Version systems, mailing lists, tickets,
221
217
collaborative documents and others should have some way of retrieving
0 commit comments