Agustin Benito Bethencourt pushed to branch toscalix at BuildStream / nosoftware / alignment
Commits:
-
ba29cd7a
by Agustin Benito Bethencourt at 2018-07-10T14:15:22Z
-
10b1ba15
by Agustin Benito Bethencourt at 2018-07-10T14:23:00Z
-
a4899bdc
by toscalix at 2018-08-08T12:07:11Z
-
3784fb32
by toscalix at 2018-08-08T12:07:11Z
-
bdc89a39
by toscalix at 2018-08-08T12:07:11Z
-
d71fae68
by toscalix at 2018-08-08T12:07:11Z
8 changed files:
- + .directory
- BuildStream_policies.md
- + content_design/.directory
- + content_design/BuildStream_Content_Structure_all.pdf
- + content_design/BuildStream_Content_Structure_critical_path.pdf
- + content_design/BuildStream_Content_Structure_critical_path_per_target.pdf
- + content_design/BuildStream_Content_Structure_diagram.pdf
- + content_design/content_structure_proposal_description.md
Changes:
1 |
+[Dolphin]
|
|
2 |
+Timestamp=2018,5,17,17,48,0
|
|
3 |
+Version=4
|
|
4 |
+ViewMode=1
|
|
5 |
+VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_permissions,CustomizedDetails
|
|
6 |
+ |
|
7 |
+[Settings]
|
|
8 |
+HiddenFilesShown=true
|
... | ... | @@ -83,11 +83,11 @@ Check the templates used at BuildStream: |
83 | 83 |
* bug template: https://gitlab.com/BuildStream/nosoftware/alignment/blob/master/.gitlab/issue_templates/bug.md
|
84 | 84 |
* Merge request template: https://gitlab.com/BuildStream/buildstream/blob/master/.gitlab/merge_request_templates/bst_merge_request.md
|
85 | 85 |
|
86 |
-## Technical/engineering tasks: best practices.
|
|
86 |
+### Technical/engineering tasks: best practices.
|
|
87 | 87 |
|
88 | 88 |
These are the best practices that are applied to Gitlab at BuildStream in relation with bugs and tasks. Please read them carefully and try to apply them.
|
89 | 89 |
|
90 |
-### Open/create a technical issue
|
|
90 |
+#### Open/create a technical issue
|
|
91 | 91 |
|
92 | 92 |
In order to open a new task the best place is the green button at this page: <https://gitlab.com/BuildStream/buildstream/issues>. Please follow these considerations:
|
93 | 93 |
* Use the default template.
|
... | ... | @@ -108,7 +108,7 @@ In order to open a new task the best place is the green button at this page: <ht |
108 | 108 |
* The MR associated with the ticket. Please do not forget this.
|
109 | 109 |
* If your issue remains unprocessed after a few days/weeks, please ask through the project mailing list about it. It should be the exception but it might have been overlooked or remain unnoticed.
|
110 | 110 |
|
111 |
-### Update an engineering task / ticket
|
|
111 |
+#### Update an engineering task / ticket
|
|
112 | 112 |
|
113 | 113 |
Assuming the bulk of the work on engineering tasks takes places on Merge Requests (code), it is strongly recommended that you follow these advices:
|
114 | 114 |
* Assign the ticket to you when you start working on it. More than one person can be assigned to a single task.
|
... | ... | @@ -118,13 +118,13 @@ Assuming the bulk of the work on engineering tasks takes places on Merge Request |
118 | 118 |
* Update the ticket when a relevant event takes place. In any case, update the ticket every couple of days.
|
119 | 119 |
* This is very important for others to follow up your work.
|
120 | 120 |
|
121 |
-### Close an engineering task
|
|
121 |
+#### Close an engineering task
|
|
122 | 122 |
|
123 | 123 |
(coming soon)
|
124 | 124 |
|
125 |
-## Bugs: best practices
|
|
125 |
+### Bugs: best practices
|
|
126 | 126 |
|
127 |
-### Open/create a bug
|
|
127 |
+#### Open/create a bug
|
|
128 | 128 |
|
129 | 129 |
In order to open a new bug the best place is the green button at this page: <https://gitlab.com/BuildStream/buildstream/issues>. Please follow these considerations:
|
130 | 130 |
* Use the Bug template. Choose it from the template menu when creating a new bug.
|
... | ... | @@ -141,7 +141,7 @@ In order to open a new bug the best place is the green button at this page: <htt |
141 | 141 |
* Further considerations:
|
142 | 142 |
* Please refer to the considerations made for issues since they also apply to this case.
|
143 | 143 |
|
144 |
-### Update a bug
|
|
144 |
+#### Update a bug
|
|
145 | 145 |
|
146 | 146 |
Assuming the bulk of the work on bugs takes places on Merge Requests (code), it is strongly recommended that you follow these advices:
|
147 | 147 |
* Assign the bug to you. More than one person can be assigned to a single bug.
|
... | ... | @@ -155,13 +155,13 @@ Assuming the bulk of the work on bugs takes places on Merge Requests (code), it |
155 | 155 |
|
156 | 156 |
These are the different policies that the project applies to merge requests.
|
157 | 157 |
|
158 |
-### Close a Bug
|
|
158 |
+#### Close a Bug
|
|
159 | 159 |
|
160 | 160 |
(coming soon)
|
161 | 161 |
|
162 |
-## Merge requests (MR): best practices
|
|
162 |
+### Merge requests (MR): best practices
|
|
163 | 163 |
|
164 |
-### Open/create a merge request
|
|
164 |
+#### Open/create a merge request
|
|
165 | 165 |
|
166 | 166 |
Please read carefully the following policies before opening a new merge request. The best place to create a new merge request is this page: <https://gitlab.com/BuildStream/buildstream/merge_requests>. Please follow these considerations:
|
167 | 167 |
* Use the default template.
|
... | ... | @@ -177,7 +177,7 @@ Please read carefully the following policies before opening a new merge request. |
177 | 177 |
* If you want to notify somebody about the merge request, please add his/her name as first comment, starting by the character "@". Try to avoid naming people for notification reasons in the merge request description field.
|
178 | 178 |
* If your merge request remains unprocessed for over a week, please ask through IRC (#buildstream in irc.gonme.org) about it. It should be the exception but it might have been overlooked, remain unnoticed or the default reviewer is overloaded.
|
179 | 179 |
|
180 |
-### Update a merge request
|
|
180 |
+#### Update a merge request
|
|
181 | 181 |
|
182 | 182 |
It is strongly recommended that you follow these advices:
|
183 | 183 |
* Assign the Merge Request to you when you start working on it. Please remember than more than one person can be assigned to the MR.
|
... | ... | @@ -185,6 +185,12 @@ It is strongly recommended that you follow these advices: |
185 | 185 |
* If the MR is in progress, please assign to it the label "Doing", removing the "ToDo" label if present.
|
186 | 186 |
* every MR should be related in the description field to at least one engineering task or bug. Please check this is the case.
|
187 | 187 |
* Update the MR when a relevant event takes place.
|
188 |
+ |
|
189 |
+#### Close a Merge Request
|
|
190 |
+ |
|
191 |
+(coming soon)
|
|
192 |
+ |
|
193 |
+## Roadmap policies
|
|
188 | 194 |
|
189 | 195 |
## Suggest improvements or additions to the BuildStream policy
|
190 | 196 |
|
... | ... | @@ -194,6 +200,3 @@ If the suggestion refers to how to manage tickets, bugs or merge requests or any |
194 | 200 |
|
195 | 201 |
You can always send the proposal to the <mailto:buildstream-list gnome org> mailing list if any of the options above fits or you are unsure about what to do.
|
196 | 202 |
|
197 |
-### Close a Merge Request
|
|
198 |
- |
|
199 |
-(coming soon)
|
1 |
+[Dolphin]
|
|
2 |
+HeaderColumnWidths=603,80,134,101
|
|
3 |
+Timestamp=2018,8,8,11,49,49
|
|
4 |
+Version=4
|
|
5 |
+ViewMode=1
|
|
6 |
+VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_permissions,CustomizedDetails
|
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
1 |
+## Content Structure Full Proposal
|
|
2 |
+ |
|
3 |
+In the same way that a software product requires an architecture, the contents of a product do too, for similar reasons, being scalability and maintainability two of the important ones.
|
|
4 |
+ |
|
5 |
+Based on previous experiences managing Open Source projects (products) I would like you to evaluate the following proposal which I've called "Content Structure". As usual, I am open to suggestions when it comes to naming.
|
|
6 |
+ |
|
7 |
+There are three diagrams[1][2][3] that support the current proposal. Please take a look at them while reading this document. One final document includes all of the three[4].
|
|
8 |
+ |
|
9 |
+### Content Units
|
|
10 |
+ |
|
11 |
+The structure is based on related "Content Units", a name used to avoid the association of any of those units with a specific tool, the concept of a "page" or a "file".
|
|
12 |
+ |
|
13 |
+For example:
|
|
14 |
+ |
|
15 |
+* Wikis allow to embed the content of a page in another page.
|
|
16 |
+* Two content units can be published initially in a single web page and, when they expand, separated into two.
|
|
17 |
+ |
|
18 |
+ |
|
19 |
+I will refer to pages or files only in specific cases.
|
|
20 |
+ |
|
21 |
+### Target audience
|
|
22 |
+ |
|
23 |
+Based on the BuildStream target audience, I propose, for simplicity to consider the following target audience when it comes to content design:
|
|
24 |
+ |
|
25 |
+* Those unaware of the existence of BuildStream (99%)
|
|
26 |
+* Those aware of the existence of BuildStream (1%)
|
|
27 |
+ * BuildStream users (0.1%)
|
|
28 |
+ * BuildStream contributors (0.01%)
|
|
29 |
+ |
|
30 |
+ |
|
31 |
+In general, when I refer to users, I will also be referring to contributors.
|
|
32 |
+ |
|
33 |
+As the project, so the content, matures, it would be ideal to segment some of the above target audiences.
|
|
34 |
+ |
|
35 |
+Occasionally, the proposal or/and content itself might refer to the following subgroups:
|
|
36 |
+ |
|
37 |
+* Users
|
|
38 |
+ * Integrators: those who use BuildStream as part of the delivery process (integration stage).
|
|
39 |
+ * Developers: those who use BuildStream as part of their development process.
|
|
40 |
+* Contributors
|
|
41 |
+ * Core contributors: those who contribute on regular basis, normally to specific/key areas.
|
|
42 |
+ * Occasional, sporadic, opportunistic contributors: the rest of the contributors.
|
|
43 |
+ |
|
44 |
+ |
|
45 |
+This might provide a hint on further target audience segmentation we can define in the coming future.
|
|
46 |
+ |
|
47 |
+### Tools
|
|
48 |
+ |
|
49 |
+Initially we will work with what we have:
|
|
50 |
+ |
|
51 |
+* The GNOME wiki
|
|
52 |
+* Gitlab:
|
|
53 |
+ * The current guide.
|
|
54 |
+ * Key files in repos (specially buildstream.
|
|
55 |
+ |
|
56 |
+ |
|
57 |
+The structure is designed to be as "tool agnostic" as possible.
|
|
58 |
+ |
|
59 |
+We will focus initially on git based content, using gitlab capabilities for it. On the wiki, we will focus on having a good "front page" and improving a little the current content. With this approach, we expect to get ready for when a web comes reducing the effort that keeping the information on the wiki and git on sync.
|
|
60 |
+ |
|
61 |
+One risk we need to strongly consider is related with the links strategy. There are several ways to approach this issue and it will be a matter of policy. Breaking links might through to the garbage not just internal references, so out pre-defined critical paths, but also external references to our content.
|
|
62 |
+ |
|
63 |
+### Timeline
|
|
64 |
+ |
|
65 |
+Ideally, we will have those contents directly related with the release ready for the Release Date (RD) and the rest would be done little by little, having ELCE 2018 as a key milestone.
|
|
66 |
+ |
|
67 |
+### Content management
|
|
68 |
+ |
|
69 |
+Since this is an Open Source project, the best way to receive meaningful contributions in this area is to define the structure, create minimal contents based on the structure for at least the essential units and provide the community some guidelines on how to contribute. This will be the approach I propose to follow vs the approach in which contents are only published when finished.
|
|
70 |
+ |
|
71 |
+As you already know by now, if we want good contents we will need to be as serious about them as we are about code. We have a good example on the current guide. We will create a web repo in nosoftware subgroup including a bug tracked about it. A proposal on how to relate this ticketing system with the existing ones and the current Documentation label will be sent to the list.
|
|
72 |
+ |
|
73 |
+A key part of the maintainability story when it comes to content are labels/tags and URLs. We will need to pay special attention to them and create very specific policies on how to create and update them.
|
|
74 |
+ |
|
75 |
+Except the front page of the wiki, we will focus initially on the release related content. Before ELCE 2018, we will put additional effort on the wiki.
|
|
76 |
+ |
|
77 |
+### Criteria followed to structure the content units
|
|
78 |
+ |
|
79 |
+Assuming the Open Source nature of the project and the fact that we are developing an integration tool for a pre-defined target audience, the following criteria has been followed to structure the proposed content units:
|
|
80 |
+ |
|
81 |
+ |
|
82 |
+#### Expected content change rate
|
|
83 |
+ |
|
84 |
+ |
|
85 |
+Some content units will have a higher change rate than others. Separate them in different content units is essential to reduce in the future the maintenance effort. It also helps to decide which tool could appropriate for each unit too.
|
|
86 |
+ |
|
87 |
+For simplicity, I have considered the following groups:
|
|
88 |
+ |
|
89 |
+* (almost) Static: content that is not expected to change frequently, i.e. project principles or Manifest.
|
|
90 |
+* Dynamic: content that is expected to change frequently, grow overtime or have a limited life expectancy.
|
|
91 |
+* Replaceable: due to the nature of our activity, there is a specific subset of content that will be replaced by new content when a specific event occurs, mostly releases. Do no mistake replaceable with erasable. In theory, these contents will not be erased but new content will play its role.
|
|
92 |
+* Erasable: temporary pages that will die for exceptional reasons, like the usage of a new tool.
|
|
93 |
+ |
|
94 |
+ |
|
95 |
+#### Front page vs project and landing pages
|
|
96 |
+ |
|
97 |
+ |
|
98 |
+There are two main content units we will used as "root units" in terms of the proposed content structure:
|
|
99 |
+ |
|
100 |
+* Project page.
|
|
101 |
+* Landing page.
|
|
102 |
+ |
|
103 |
+ |
|
104 |
+I refer to them as pages, instead of units, because they are single pages and also because is a very common terminology.
|
|
105 |
+ |
|
106 |
+Please be aware that these pages will not be designed as the BuildStream project front page (also common terminology). Until we have a web (hopefully for ELCE 2018) we will have a simple front page on the wiki, as today, which will be designed to die (erasable).
|
|
107 |
+ |
|
108 |
+The project page and the landing page might be moved to the future web, depending on design, effort and maintenance related decisions. Based on it, the current wiki front page (project wiki page in GNOME terminology) might change.
|
|
109 |
+ |
|
110 |
+ |
|
111 |
+#### Outcomes as the most influential event
|
|
112 |
+ |
|
113 |
+ |
|
114 |
+Assuming the normal journey to become a maintainer:
|
|
115 |
+ |
|
116 |
+Humanity -> User -> Power user -> Occasional Contributor -> Core contributor -> Maintainer
|
|
117 |
+ |
|
118 |
+at this point of maturity of the project, releases allow us to maximize the impact of our efforts to gain users while, at the same time, it help us internally to synchronize the efforts of contributors and power users with different goals and expectations.
|
|
119 |
+ |
|
120 |
+As the project matures and the number of users grow we might evolve our focus towards gaining contributors, for instance. The structure, with the support of the critical path definitions, should evolve too.
|
|
121 |
+ |
|
122 |
+In my experience, using the concept of releases as criteria for defining the content structure of projects that:
|
|
123 |
+ |
|
124 |
+* Need the kind of attention that leads them to find users with technical profile.
|
|
125 |
+* Does not have a meaningful number of experienced technical product content creators.
|
|
126 |
+* Cannot or do not want to heavily invest in promotion/marketing activities compared to development ones.
|
|
127 |
+ |
|
128 |
+ |
|
129 |
+.... work well.
|
|
130 |
+ |
|
131 |
+ |
|
132 |
+#### Use cases and sister projects
|
|
133 |
+ |
|
134 |
+ |
|
135 |
+BuildGrid has been considered as a "sister project". Initially, it can rely of the current structure to minimize the effort required from their side.
|
|
136 |
+ |
|
137 |
+Freedesktop-SDK can be considered explicitly in several units, like in Pr.1 D.1, D.4 and D.5 There is plenty of room for collaboration.
|
|
138 |
+ |
|
139 |
+Additional use cases can also be considered in several units. I hope you agree with me that the proposed structure leaves enough room to accommodate them. Otherwise, please let me know.
|
|
140 |
+ |
|
141 |
+### Topic
|
|
142 |
+ |
|
143 |
+The content has been structured in 6 different groups based on topic. Some units might be part of several groups so please point out when you feel the grouping might be too controversial. this grouping helps to structure the proposal but it has no direct relation with how the final "pages" are linked in most cases. Please check the BuildStream_Content_Structure_diagram.pdf image[1].
|
|
144 |
+ |
|
145 |
+The topics are:
|
|
146 |
+ |
|
147 |
+* Community (Pj - project): content related with the community project, not necessarily with the outcome of the project.
|
|
148 |
+* Management (M): content related with the management of the roadmap, development and delivery of the outcomes of the project.
|
|
149 |
+* Promotion: content related with the promotion of the project in general, and the activities involved in producing the outcomes in particular.
|
|
150 |
+* Code and metadata: content units directly related with the code and metadata.
|
|
151 |
+* BuildStream description: content units related with the description of the outcomes and some specific content that helps in consumption and community support activities.
|
|
152 |
+* Outcomes: contents directly related with the outcomes that are "released" and/or consumed by users.
|
|
153 |
+* Landing page and project page: root pages of the key/essential content with a very specific purpose.
|
|
154 |
+ |
|
155 |
+ |
|
156 |
+### Content structure description
|
|
157 |
+ |
|
158 |
+ |
|
159 |
+Please check the diagram called BuildStream Content Structure, which is the first page of the attached .pdf file. You can also find the image in the gitlab[1]
|
|
160 |
+ |
|
161 |
+ |
|
162 |
+#### 0. BuildStream tool landing page
|
|
163 |
+ |
|
164 |
+ |
|
165 |
+This would be the starting point for those looking for a general definition of what BuildStream is and what is for. It is meant to be a static page.
|
|
166 |
+ |
|
167 |
+ |
|
168 |
+#### 1. BuildStream project page
|
|
169 |
+ |
|
170 |
+ |
|
171 |
+This would be the starting/root point for those contents related with the BuildStream Open Source project.
|
|
172 |
+ |
|
173 |
+ |
|
174 |
+#### C. BuildStream Code ==
|
|
175 |
+ |
|
176 |
+ |
|
177 |
+There is a well documented by now change in behavior when it comes to content consumption related with Open Source projects that favors for certain profiles specific repo files over content in other platforms, specially when the information is tightly related with the code.
|
|
178 |
+ |
|
179 |
+For complex and bigger project this trend represents a challenge since involves content maintenance related risks (inconsistency, duplication, outdated info...), specially when other content platforms are not git based, like in our case, where the GNOME wiki pages are editable.
|
|
180 |
+ |
|
181 |
+In terms of design, we will need to consider the following, to mitigate such risks:
|
|
182 |
+ |
|
183 |
+* README files will be nothing but a summary of what is present in other pages. Links to those pages will be included in the README file and will need to be maintained.
|
|
184 |
+* BuildStream will have the README file of the master branch as the entry point for contributors, instead of Master (outcome) unit initially. As the tool grows and becomes more mature, this decision might change.
|
|
185 |
+* The following relations need to be consider in order to avoid some of the mentioned risks:
|
|
186 |
+ * C.2 README.rst - R.2 Master, 0. Landing Page, R.3 Feature Page and R.4 Deployment Howto units.
|
|
187 |
+ * C.3 LICENSE file - Pj.2 Governance+license+sponsors content units.
|
|
188 |
+ * C.4 News/Release notes file - R.3 Feature page and D. BuildStream In Detail content units.
|
|
189 |
+ * C.5 Maintainers - Pj.5 Community support and Tools content unit.
|
|
190 |
+ |
|
191 |
+ |
|
192 |
+C.1 BuildStream download page
|
|
193 |
+ |
|
194 |
+The Download page is the central reference not just to download the outcomes delivered by the project, but also the associated metadata. It will also have structured and direct references to all the information required to have a smooth deployment/installation experience.
|
|
195 |
+ |
|
196 |
+The structure of this unit will consider:
|
|
197 |
+ |
|
198 |
+* Versioning.
|
|
199 |
+* Platforms where BuildStream is expected to be installed.
|
|
200 |
+* Deployment mechanisms/technologies.
|
|
201 |
+* Complementary plugins and tools required for the deployment/installation/usage of BuildStream.
|
|
202 |
+* Additional content units that any user needs to consider.
|
|
203 |
+* Critical path design to ensure that the journey through BuildStream contents takes place in the pre-established order. This consideration applies in fact to, at least, every unit that is part of the critical path of any considered target audience.
|
|
204 |
+ |
|
205 |
+ |
|
206 |
+C.2 Release branch and master README file
|
|
207 |
+ |
|
208 |
+Short, to the point, description of what is BuildStream for and how to consume it, together with links to further information, adding context to each one of them. That additional or complementary information could be (related with):
|
|
209 |
+ |
|
210 |
+* Documentation - D. BuildStream in detail unit
|
|
211 |
+* Community support (get help) - D.5 FAQ.
|
|
212 |
+* Contributing - Pj.3 How to contribute unit.
|
|
213 |
+* Licensing and copyrights - C.3 LICENSE and Pj.2 Governance+license+sponsors
|
|
214 |
+ |
|
215 |
+ |
|
216 |
+Relations: C.2 README.rst - R.2 Master, 0. Landing Page, R.3 Feature Page and R.4 Deployment Howto units.
|
|
217 |
+ |
|
218 |
+C.3 Release branch and master Copying/LICENSE file
|
|
219 |
+ |
|
220 |
+This unit should include:
|
|
221 |
+ |
|
222 |
+* Project license. Explicit description. Links.
|
|
223 |
+* Exceptions (if any) that are included in the repo. Explicit description. Links.
|
|
224 |
+ |
|
225 |
+ |
|
226 |
+Relations: C.3 LICENSE file - Pj.2 Governance+license+sponsors content units. A complementary proposal related with compliance will be sent.
|
|
227 |
+ |
|
228 |
+C.4 Release branch and Master (dev releases) NEWS/Release Notes.
|
|
229 |
+ |
|
230 |
+News related with each release (digested release notes). Further content can be considered in this unit or separate ones like:
|
|
231 |
+ |
|
232 |
+* Changelog
|
|
233 |
+* Raw release notes.
|
|
234 |
+ |
|
235 |
+Relations: C.4 News/Release notes file - R.3 Feature page and D. BuildStream In Detail content units.
|
|
236 |
+ |
|
237 |
+C.5 Release branch and master Maintainers file
|
|
238 |
+ |
|
239 |
+List of maintainers, responsibility and contact.
|
|
240 |
+ |
|
241 |
+Relations: C.5 Maintainers - Pj.5 Community support and Tools content unit.
|
|
242 |
+ |
|
243 |
+ |
|
244 |
+#### Pr. BuildStream Promotion
|
|
245 |
+ |
|
246 |
+ |
|
247 |
+Content units related with promoting BuildStream among the key targets including the promotion of the different releases, talks, finished features, etc. .
|
|
248 |
+ |
|
249 |
+Pr.1 BuildStream Out There
|
|
250 |
+ |
|
251 |
+This content unit collects the main references and contents about BuildStream that has been published by media or community members. It will also contain the data about the impact of the tool. Overtime, this unit becomes an important resource for a variety of decisions.
|
|
252 |
+ |
|
253 |
+Pr.2 Social media campaign
|
|
254 |
+ |
|
255 |
+Place to build social media campaigns, specially during the release of BuildStream. It also defines who and how the project is being promoted through social media.
|
|
256 |
+ |
|
257 |
+Pr.3 News / Announcements
|
|
258 |
+ |
|
259 |
+Announcements generated by the project, like release announcements. News to be consumed by community Members or supporters would be also a matter of this section/pages.
|
|
260 |
+ |
|
261 |
+Pr.4 Blog
|
|
262 |
+ |
|
263 |
+Project blog where contributors talk about what they have done/contributed.
|
|
264 |
+ |
|
265 |
+ |
|
266 |
+#### M. BuildStream Management
|
|
267 |
+ |
|
268 |
+ |
|
269 |
+Set of pages dealing with the management of the different aspects of the creation, release and maintenance of BuildStream toolset.
|
|
270 |
+ |
|
271 |
+ |
|
272 |
+M.1 BuildStream roadmap
|
|
273 |
+ |
|
274 |
+Roadmap description including the different release timelines.
|
|
275 |
+ |
|
276 |
+M.2 BuildStream release howto
|
|
277 |
+ |
|
278 |
+This content unit describes the management aspects of the release process.
|
|
279 |
+ |
|
280 |
+M.3 BuildStream development policies/guides
|
|
281 |
+ |
|
282 |
+Policies and guides that BuildStream developers should follow in order to get their code accepted, including unit tests and documentation.
|
|
283 |
+ |
|
284 |
+M.4 BuildStream delivery and operations policies/guides
|
|
285 |
+ |
|
286 |
+Set of guides and policies followed by those involved in delivery and operations tasks at BuildStream project, including information related with those managing the different services affecting the development, delivery and release.
|
|
287 |
+ |
|
288 |
+ |
|
289 |
+#### BuildStream in Detail
|
|
290 |
+ |
|
291 |
+ |
|
292 |
+This would be the content describing in detail the tool, including the features, components, dependencies and other elements. The ideal situation would be to have a page that provides an overall context of all the features, called BuildStream in Detail, and then links to more detailed information about each feature or component. It is important to provide a clear relation between problem statement/use case and feature.
|
|
293 |
+ |
|
294 |
+It is important to translate to the content the architecture of the tool when it comes to core vs complementary features if, like in our case, they are developed/managed slightly different, so the feature and associated content maintenance expectations are set correctly.
|
|
295 |
+ |
|
296 |
+It is important to link the feature descriptions to code, so the content is worth for a wide range of profiles, making the published content valuable in a wider range of situations.
|
|
297 |
+ |
|
298 |
+ |
|
299 |
+D.1 Integrate with BuildStream: examples
|
|
300 |
+ |
|
301 |
+Examples of how to use the tool. The content can be created and maintained by the project itself and or referenced from work done outside the project. AS in other cases, it should be a clear difference between what is expected to be maintained by the project participants and what is "external". This is relevant when requesting/providing support to users and when managing negative feedback on internet.
|
|
302 |
+ |
|
303 |
+ |
|
304 |
+D.2 BuildStream plug-ins and other complementary features
|
|
305 |
+ |
|
306 |
+The complementary features, like plugins, should be documented and it is this page the starting point. It is expected that some of this features will be developed outside the project so it is necessary to structure the content in a way that a user or contributor can identify what to expect from the project in terms of maintenance or/and community support.
|
|
307 |
+ |
|
308 |
+ |
|
309 |
+D.3 BuildStream core features description
|
|
310 |
+ |
|
311 |
+Detailed description of the core features shipped by BuildStream, including those who are new on each release. Ideally, this content will provide links to additional complementary documentation that would help readers to understand the use cases behind the features, the features description themselves and how to consume them.
|
|
312 |
+ |
|
313 |
+ |
|
314 |
+D.4 BuildStream glossary
|
|
315 |
+ |
|
316 |
+Each project uses specific terminology that requires explanation. In regulated or safety critical environments or in Open Ocean, this need becomes almost a requirement. The same principle applies to mature markets when using terminology as a differentiation element.
|
|
317 |
+ |
|
318 |
+BuildStream will have a glossary.
|
|
319 |
+ |
|
320 |
+ |
|
321 |
+D.5 BuildStream FAQ
|
|
322 |
+ |
|
323 |
+The FAQ is a relevant content element, often just appreciated by projects that has reached a mature state. BuildStream FAQ is proposed to become a key step in the critical path designed for two different target audiences at two different points in the "content journey", which means that this FAQ should be structured accordingly.
|
|
324 |
+ |
|
325 |
+ |
|
326 |
+#### BuildStream outcomes (portfolio)
|
|
327 |
+ |
|
328 |
+ |
|
329 |
+Contents related with the different "products" offered by the BuildStream project. Each outcome should have a separated content page. So far, we have three different outcomes:
|
|
330 |
+ |
|
331 |
+* Even releases: targeting users
|
|
332 |
+* Odd releases: targeting testers (users and contributors)
|
|
333 |
+* Master: targeting contributors
|
|
334 |
+ |
|
335 |
+ |
|
336 |
+R.1 BuildStream releases: portfolio charter
|
|
337 |
+ |
|
338 |
+This page will have links to all the BuildStream releases, highlighting the current one, the ones maintained or recommended for the different profiles, together with the links to the complementary information that might be related to releases, like roadmap, announcements, etc.
|
|
339 |
+ |
|
340 |
+ |
|
341 |
+R.2 Master
|
|
342 |
+ |
|
343 |
+Master as such is not released but in BuildStream portfolio, it is the default outcome for contributors. As such, this page would be the default to route first time contributors as well as occasional contributors that requires information about changes in policies and other topics that might affect Master.
|
|
344 |
+ |
|
345 |
+ |
|
346 |
+R.3 BuildStream releases feature page
|
|
347 |
+ |
|
348 |
+The feature page is the central page for each release, that contains the information about what is released, compared with previous releases. It also includes all the necessary links to have a wide view of how to evaluate consume and get community support for a specific release.
|
|
349 |
+ |
|
350 |
+ |
|
351 |
+R.4 BuildStream deployment howto
|
|
352 |
+ |
|
353 |
+Each release will have instructions on how to install/deploy BuildStream for the various platforms available. Part of this information would be created and maintained by the project itself and part will be available in other sites, external to the project. This page will ensure the information is available to those BuildStream users and contributors who intend to consume BuildStream.
|
|
354 |
+ |
|
355 |
+ |
|
356 |
+R.5 Known issues
|
|
357 |
+ |
|
358 |
+On every release, there are problems that has been identified by those working on the project and not yet resolved. In some cases, there are workarounds available. This page will include such information, specially valuable prior or immediately after a release. This content should provide context/summary of what is already available on the ticketing system.
|
|
359 |
+ |
|
360 |
+ |
|
361 |
+### Pj. BuildStream Project
|
|
362 |
+ |
|
363 |
+ |
|
364 |
+Contents related with the BuildStream Open Source project.
|
|
365 |
+ |
|
366 |
+Pj.1 Project Manifest (principles) , Mission and target audience definition
|
|
367 |
+ |
|
368 |
+Page describing the principles that drive the BuildStream community, its mission and the target audience in both, users and contributors.
|
|
369 |
+ |
|
370 |
+ |
|
371 |
+Pj.2 Governance + license + sponsors
|
|
372 |
+ |
|
373 |
+This page includes the governance aspects of the project, including the licenses and the project sponsors, as well as the relation with GNOME.
|
|
374 |
+ |
|
375 |
+ |
|
376 |
+Pj.3 How to participate
|
|
377 |
+ |
|
378 |
+This page includes the information required to participate in the project including the basic communication channels and links to read as initial steps.
|
|
379 |
+ |
|
380 |
+ |
|
381 |
+Pj.4 Meetings and events
|
|
382 |
+ |
|
383 |
+This page includes the events in which the BuildStream project participates and organizes. It should include also a list of the regular meetings, how to participate and where to find the logs.
|
|
384 |
+ |
|
385 |
+ |
|
386 |
+Pj.5 Community support and tools
|
|
387 |
+ |
|
388 |
+Description of the tools used by the BuildStream community, how to get access and description of the communication channels listed. This page complements Pj.3 since this page targets existing contributors instead of new ones.
|
|
389 |
+ |
|
390 |
+### Critical paths
|
|
391 |
+ |
|
392 |
+One day BuildStream will dominate the world. We will be able to look at behavioral flows on our site and see how people consume our contents and download/update our tool set just as the best retail company does. That would mean that we not just understand what our users and contributors want from us, but that we can anticipate what they might want from us tomorrow.
|
|
393 |
+ |
|
394 |
+To get there, we need to start today, simple but start.
|
|
395 |
+ |
|
396 |
+Having already defined our target audience to some extend was the first step. The content structure was the second one. The third one is to define our content considering a critical path, which is the journey we want to take our users through in order to consume our outcomes having a satisfactory experience. In other words, maximizing our conversion rate.
|
|
397 |
+ |
|
398 |
+In order to start simple, we will segment our audience in four groups, defining a critical path for each one of them. The target audiences are:
|
|
399 |
+* People unaware of BuildStream
|
|
400 |
+* People aware of BuildStream
|
|
401 |
+* BuildStream user
|
|
402 |
+* BuildStream contributor
|
|
403 |
+ |
|
404 |
+The two diagrams explain those critical paths:
|
|
405 |
+* The diagram "BuildStream_Content_Structure_critical_path_per_target.pdf"[2] defines the critical path per target audience group.
|
|
406 |
+* The diagram "BuildStream_Content_Structure_critical_path.pdf"[3] defines the critical path as a workflow.
|
|
407 |
+ |
|
408 |
+Each content unit is related with the one described in the content structure. Once we consolidate these critical paths, we will evaluate them and improve them. We will also add new ones once we have revisited our current target audience structure, lowering the granularity of our segmentation.
|
|
409 |
+ |
|
410 |
+### Evaluation of the conversion rate: metrics
|
|
411 |
+ |
|
412 |
+We will need to answer to following questions: are the BuildStream content helping to move people away from the Unaware group into the contributors segment group?
|
|
413 |
+ |
|
414 |
+Which means that we need a way to evaluate if the content structure, the content themselves and the critical paths work as expected. There are tools that provide metrics and dashboards to analyze the potential answers to these questions. Before we get to this point, we can evaluate the following:
|
|
415 |
+* Number of downloads of BuildStream..
|
|
416 |
+* Number of regular updates of BuildStream.
|
|
417 |
+* Hits per page.
|
|
418 |
+* Permanence time per page.
|
|
419 |
+* Source of the hit (search engine, social media, another BuildStream page...)
|
|
420 |
+ |
|
421 |
+which will provide us enough information to start learning about how well are we doing in terms of designing the contents the different target audiences need. Obviously the above information will only provide us trends in a blur picture, but overtime that is a good base to improve.
|
|
422 |
+ |
|
423 |
+ |
|
424 |
+## Further resources
|
|
425 |
+ |
|
426 |
+The following resources are recommended:
|
|
427 |
+[1] BuildStream_Content_Structure_diagram.pdf:
|
|
428 |
+[2] BuildStream_Content_Structure_critical_path_per_target.pdf:
|
|
429 |
+[3] BuildStream_Content_Structure_critical_path.pdf:
|
|
430 |
+[4] BuildStream_Content_Structure_all.pdf:
|