Commit d644dd05033d7e55ca1ea1e74657db255e974e08

Authored by Diego Araújo
1 parent 3f3ba051

[ieeeSW] Review Athos, part 2

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -28,11 +28,12 @@ government, but also to society as a whole. The government could reduce both
28 28 the bureaucracy of using the same software in government agencies and the cost
29 29 of developing similar software projects. The society gained a mechanism of
30 30 transparency and collaboration, since anyone can check the government
31   -expenses on software and contribute to project communities. To achieve these
32   -goals, rather than writing everything from scratch, we decided to integrate
33   -several free software tools such as Noosfero (www.noosfero.org), Gitlab
34   -(www.gitlab.com), Mailman (www.gnu.org/software/mailman), Mezuro
35   -(www.mezuro.org), and Colab (www.github.com/colab).
  31 +expenses on software (from information available on the SPB Portal) and
  32 +contribute to project communities. To achieve these goals, rather than writing
  33 +everything from scratch, we decided to integrate several free software tools
  34 +such as Noosfero (www.noosfero.org), Gitlab (www.gitlab.com), Mailman
  35 +(www.gnu.org/software/mailman), Mezuro (www.mezuro.org), and Colab
  36 +(www.github.com/colab).
36 37  
37 38 The project started in a presidential election year and everyone involved was
38 39 under pressure to show results. Even with the re-election of the Brazilian
... ... @@ -62,10 +63,10 @@ with professors, master students, professional designers and senior developers
62 63 from the Brazilian free software community. Undergraduate students received a
63 64 scholarship and, for most of them, this R&D project was their first
64 65 professional experience. Senior developers and master students had two
65   -important contributions to the project: transfer knowledge to undergraduate
66   -students and more complex tasks. Finally, professors were responsible for
67   -interacting with the Brazilian government and controlling political pressures
68   -applied to the project.
  66 +important contributions to the project: to transfer knowledge to undergraduate
  67 +students and to deal with more complex tasks. Finally, professors were
  68 +responsible for interacting with the Brazilian government and controlling
  69 +political pressures applied to the project.
69 70  
70 71 Moreover, we needed to communicate with two independent groups of government
71 72 representatives. Requirement analysts were real representatives of the
... ... @@ -83,12 +84,12 @@ the government expectations and to provide quick response to their requests,
83 84 which were influenced most of the time by the uncertainties of the project's
84 85 continuity. We believed we would keep the project alive, even in a politically
85 86 unstable and technically complex scenario. For this reason, we focused on
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
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
90   -process. This team was responsible for maturing our CD pipeline, giving us
91   -confidence and agility to comply with government requirements.
  87 +automating the deploy process; for instance, one of our senior developers
  88 +created a tool called Chake (www.gitlab.com/terceiro/chake) to help us manage
  89 +multiple hosts without the need for a Chef-Server (www.chef.io/chef). We also
  90 +formed a specific team dedicated to the deployment process. This team was
  91 +responsible for maturing our CD pipeline, giving us confidence and agility to
  92 +comply with government requirements.
92 93  
93 94 In this report, we describe our CD pipeline and how it improved our delivery
94 95 performance. Continuous Delivery made us adaptable for all requested changes
... ... @@ -113,18 +114,17 @@ more new code.
113 114  
114 115 The SPB portal consists of more than 10 integrated software projects and each
115 116 of them, as well as the entire platform, had to be tested. These software
116   -components had their own test suite, maintained and expanded by the development
117   -team. Communication between all components is orchestrated by Colab, a systems
118   -integration platform for web applications based on a plugins architecture.
119   -Therefore, specific plugins have been developed for each portal software
120   -component, such as Gitlab and Mailman. Each plugin had its own test suite
121   -and this set also worked as integration test.
122   -
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,
125   -by either a test error or coverage reduction below a certain threshold, the
126   -pipeline was stopped. Only when all tests pass, the pipeline proceeded to the step of
127   -preparing the release.
  117 +components have their own test suite. Communication between all components is
  118 +orchestrated by Colab, a systems integration platform for web applications based
  119 +on a plugins architecture. Therefore, specific plugins were developed for
  120 +each portal software component, such as Gitlab and Mailman. Each plugin has its
  121 +own test suite and this set also worked as integration tests.
  122 +
  123 +Both unit and integration tests provided us the performance and security needed
  124 +to guarantee the stability for components and the platform. If any test suite
  125 +failed, by either a test error or coverage reduction below a certain threshold,
  126 +the pipeline stopped. Only when all tests passed, the pipeline proceeded to the
  127 +step of preparing the release.
128 128  
129 129 ### Preparing a New Release
130 130  
... ... @@ -177,7 +177,7 @@ as part of the next step in the pipeline.
177 177  
178 178 After we deployed a new SPB Portal version in the VE, the government
179 179 agents were responsible for checking features and bug fixes required by them. If
180   -the requirement analysts identified a problem, they would notified the developers via
  180 +the requirement analysts identified a problem, they would notify the developers via
181 181 comments on the SPB Portal's issue tracker. The problems were fixed and the
182 182 pipeline restarted from scratch. If everything was validated, we moved forward.
183 183  
... ... @@ -206,7 +206,7 @@ leader resulted in new requirements, most of them motivated by political
206 206 needs. These constant changes in requirements and priorities caused discomfort
207 207 between the government and the development team. For
208 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
  209 +SPB portal. In future meetings, the government would use undelivered requirements as a means to justify the
210 210 lack of financial support, which was already approved in the first place. We believed that if we took too
211 211 long to attend their demands, the project would end. CD helped us keep the
212 212 production environment up-to-date, even with partial versions of a feature. That
... ...