Commit 3f3ba0513e53220a5ef922c70c0eef2aaebc9461
1 parent
ed2dbb8d
Exists in
master
and in
3 other branches
[i3eSW] Athos review
Showing
1 changed file
with
11 additions
and
13 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
@@ -41,7 +41,7 @@ one of them had different political agendas which affected the project's | @@ -41,7 +41,7 @@ one of them had different political agendas which affected the project's | ||
41 | requirements previously approved. Besides that scenario of instability, we | 41 | requirements previously approved. Besides that scenario of instability, we |
42 | overcame three distinct issues: (i) achieving the goals which have guided the | 42 | overcame three distinct issues: (i) achieving the goals which have guided the |
43 | platform development, (ii) managing the diversity of team members, and (iii) | 43 | platform development, (ii) managing the diversity of team members, and (iii) |
44 | -communicating effectively with government agents (our "clients"). Handling the | 44 | +communicating effectively with government agents (the client). Handling the |
45 | interaction of these elements was challenging and the unstable Brazilian | 45 | interaction of these elements was challenging and the unstable Brazilian |
46 | political scenario only made things worse. | 46 | political scenario only made things worse. |
47 | 47 | ||
@@ -86,7 +86,7 @@ unstable and technically complex scenario. For this reason, we focused on | @@ -86,7 +86,7 @@ unstable and technically complex scenario. For this reason, we focused on | ||
86 | automating the deploy process; for instance, one of our senior | 86 | automating the deploy process; for instance, one of our senior |
87 | developers created a Chef-Server (www.chef.io/chef) front-end tool called Chake | 87 | developers created a Chef-Server (www.chef.io/chef) front-end tool called Chake |
88 | (www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed for | 88 | (www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed for |
89 | -the project. We also formed a specific team dedicated to the deployment | 89 | +the project. We also formed a specific team dedicated to the deployment |
90 | process. This team was responsible for maturing our CD pipeline, giving us | 90 | process. This team was responsible for maturing our CD pipeline, giving us |
91 | confidence and agility to comply with government requirements. | 91 | confidence and agility to comply with government requirements. |
92 | 92 | ||
@@ -103,10 +103,10 @@ worst political crisis after the re-democratization in Brazil. | @@ -103,10 +103,10 @@ worst political crisis after the re-democratization in Brazil. | ||
103 |  | 103 |  |
104 | 104 | ||
105 | Figure 1 represents our CD pipeline. A new feature might require changes on more | 105 | Figure 1 represents our CD pipeline. A new feature might require changes on more |
106 | -than one SPB integrated software project. Notice that each on of them could be | 106 | +than one SPB integrated software project. Notice that each one of them could be |
107 | modified independently. The pipeline started when new code arrived. As it went | 107 | modified independently. The pipeline started when new code arrived. As it went |
108 | through each step, it was tested and improved until it finally reached the | 108 | through each step, it was tested and improved until it finally reached the |
109 | -production environment. At this point we got back to the first stage to release | 109 | +production environment. At this point we would restart the pipeline to release |
110 | more new code. | 110 | more new code. |
111 | 111 | ||
112 | ### Automated Tests | 112 | ### Automated Tests |
@@ -117,13 +117,13 @@ components had their own test suite, maintained and expanded by the development | @@ -117,13 +117,13 @@ components had their own test suite, maintained and expanded by the development | ||
117 | team. Communication between all components is orchestrated by Colab, a systems | 117 | team. Communication between all components is orchestrated by Colab, a systems |
118 | integration platform for web applications based on a plugins architecture. | 118 | integration platform for web applications based on a plugins architecture. |
119 | Therefore, specific plugins have been developed for each portal software | 119 | Therefore, specific plugins have been developed for each portal software |
120 | -component, such as for Gitlab and Mailman. Each plugin had its own test suite | 120 | +component, such as Gitlab and Mailman. Each plugin had its own test suite |
121 | and this set also worked as integration test. | 121 | and this set also worked as integration test. |
122 | 122 | ||
123 | Both unit and integration tests provided us the performace and security needed | 123 | Both unit and integration tests provided us the performace and security needed |
124 | to guarantee the stability for components and the platform. If any test suite failed, | 124 | to guarantee the stability for components and the platform. If any test suite failed, |
125 | by either a test error or coverage reduction below a certain threshold, the | 125 | by either a test error or coverage reduction below a certain threshold, the |
126 | -pipeline stopped. Only when all tests pass, the pipeline proceed to the step of | 126 | +pipeline was stopped. Only when all tests pass, the pipeline proceeded to the step of |
127 | preparing the release. | 127 | preparing the release. |
128 | 128 | ||
129 | ### Preparing a New Release | 129 | ### Preparing a New Release |
@@ -177,7 +177,7 @@ as part of the next step in the pipeline. | @@ -177,7 +177,7 @@ as part of the next step in the pipeline. | ||
177 | 177 | ||
178 | After we deployed a new SPB Portal version in the VE, the government | 178 | After we deployed a new SPB Portal version in the VE, the government |
179 | agents were responsible for checking features and bug fixes required by them. If | 179 | agents were responsible for checking features and bug fixes required by them. If |
180 | -the requirement analysts identified a problem, they notified the developers via | 180 | +the requirement analysts identified a problem, they would notified the developers via |
181 | comments on the SPB Portal's issue tracker. The problems were fixed and the | 181 | comments on the SPB Portal's issue tracker. The problems were fixed and the |
182 | pipeline restarted from scratch. If everything was validated, we moved forward. | 182 | pipeline restarted from scratch. If everything was validated, we moved forward. |
183 | 183 | ||
@@ -205,9 +205,8 @@ the renewal of the project over the years. Every meeting with the government | @@ -205,9 +205,8 @@ the renewal of the project over the years. Every meeting with the government | ||
205 | leader resulted in new requirements, most of them motivated by political | 205 | leader resulted in new requirements, most of them motivated by political |
206 | needs. These constant changes in requirements and priorities caused discomfort | 206 | needs. These constant changes in requirements and priorities caused discomfort |
207 | between the government and the development team. For | 207 | between the government and the development team. For |
208 | -example, once it was demanded a complete layout change because another | ||
209 | -government leader suddenly decided to make a marketing campaign about the new | ||
210 | -SPB portal. They would use undelivered requirements as a means to justify the | 208 | +example, the government leader required a complete layout change because he suddenly decided to make a marketing campaign about the new |
209 | +SPB portal. Thus the government would use undelivered requirements as a means to justify the | ||
211 | lack of financial support, which was already approved in the first place. We believed that if we took too | 210 | lack of financial support, which was already approved in the first place. We believed that if we took too |
212 | long to attend their demands, the project would end. CD helped us keep the | 211 | long to attend their demands, the project would end. CD helped us keep the |
213 | production environment up-to-date, even with partial versions of a feature. That | 212 | production environment up-to-date, even with partial versions of a feature. That |
@@ -228,8 +227,7 @@ They were an active part of the pipeline and became more engaged on the whole pr | @@ -228,8 +227,7 @@ They were an active part of the pipeline and became more engaged on the whole pr | ||
228 | After the incorporation of the pipeline into the work process, analysts | 227 | After the incorporation of the pipeline into the work process, analysts |
229 | became more active in opening and discussing issues during the platform evolution. | 228 | became more active in opening and discussing issues during the platform evolution. |
230 | Additionally, developers worked to improve the CD pipeline | 229 | Additionally, developers worked to improve the CD pipeline |
231 | -to speed up the process of making available, in the production environment, | ||
232 | -new features for the platform. | 230 | +to speed up the process of making new features available in the production environment. |
233 | 231 | ||
234 | ### Synchronicity Between Government and Development | 232 | ### Synchronicity Between Government and Development |
235 | 233 | ||
@@ -300,7 +298,7 @@ deliveries but would not give access to their production infrastructure. After | @@ -300,7 +298,7 @@ deliveries but would not give access to their production infrastructure. After | ||
300 | some interactions with government agents, they created the VE as an isolated | 298 | some interactions with government agents, they created the VE as an isolated |
301 | replica of the PE in their own infrastructure. The government agents then | 299 | replica of the PE in their own infrastructure. The government agents then |
302 | realised that it could be beneficial for the project if they granted us access | 300 | realised that it could be beneficial for the project if they granted us access |
303 | -to part of the structure. More research is required on development protocols and | 301 | +to part of the infrastructure. More research is required on development protocols and |
304 | policies to improve the relation between industry and government, specially | 302 | policies to improve the relation between industry and government, specially |
305 | regarding CD. | 303 | regarding CD. |
306 | 304 |