Commit 2519a942b5abd269f230df0f771dff658e7bf144

Authored by Paulo Meireles
1 parent a9b24e57

Minor improvements.

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -62,7 +62,7 @@ Environment (CDE), which brought significant benefits for the government and
62 62 the society. The government could minimize bureaucracy and software development
63 63 costs, by reusing the same set of applications across different government
64 64 Agencies. Society could more transparently follow government expenses and
65   -contribute to project communities.
  65 +contribute to software project communities.
66 66  
67 67 In this article, we discuss the use of Continuous Delivery (CD) during our
68 68 experience as the academic partner in this project. We show how we implemented
... ... @@ -77,9 +77,9 @@ trust relationships is yet another of its benefits [2,3].
77 77  
78 78 SPB is a governmental program created to foster sharing and collaboration on
79 79 Open Source Software (OSS) development for the Brazilian public administration.
80   -The MPOG managed both software requirements and server infrastructure. However,
81   -its hierarchical and traditional processes made them unfamiliar with new
82   -software development techniques, such as CD. All our requests had to pass
  80 +The government managed both software requirements and server infrastructure.
  81 +However, its hierarchical and traditional processes made them unfamiliar with
  82 +new software development techniques, such as CD. All our requests had to pass
83 83 through layers of bureaucracy before being answered; accessing their
84 84 infrastructure to deploy software was not different. The difficulties were
85 85 aggravated because the new SPB portal is an unprecedented platform in the
... ... @@ -161,13 +161,12 @@ stopped. Only when all tests passed, the pipeline proceeded to the next step.
161 161  
162 162 ### Preparing a New Release
163 163  
164   -A separate Git repository hosted each software component. New component
165   -releases were tagged referencing a specific new feature or bug fix. SPB had its
166   -own Git repository (www.softwarepublico.gov.br/gitlab/softwarepublico). An SPB
167   -portal release was an aggregate of all its components. When a new component
168   -release passed all of the SPB integration tests, we manually created a
169   -corresponding new tag in its repository. At the end of this process, we started
170   -packaging.
  164 +A separate Git repository hosted each system. New software component releases
  165 +were tagged referencing a specific new feature or bug fix. SPB had its own Git
  166 +repository (www.softwarepublico.gov.br/gitlab/softwarepublico). An SPB portal
  167 +release was an aggregate of all its systems. When a new component release
  168 +passed all of the SPB integration tests, we manually created a corresponding
  169 +new tag in its repository. At the end of this process, we started packaging.
171 170  
172 171 ### Packaging
173 172  
... ... @@ -205,6 +204,8 @@ features and bug fixes available to end users.
205 204  
206 205 ## Benefits
207 206  
  207 +![The evolution of SPB releases and the development team members distribution.](figures/CDReleaseAndTeamEvolution.png)
  208 +
208 209 CD brings many advantages such as accelerated time to market, building the
209 210 right product, productivity and efficiency improvements, stable releases, and
210 211 better customer satisfaction [2,3]. The charts presented in Figure 2 show these
... ... @@ -214,8 +215,6 @@ the last 12 months, after the creation of the DevOps team. Besides these
214 215 results, working with the government we noticed the following additional
215 216 benefits.
216 217  
217   -![The evolution of SPB releases and the development team members distribution.](figures/CDReleaseAndTeamEvolution.png)
218   -
219 218 ### Strengthening Trust in the Relationship with the Government
220 219  
221 220 CD helped strengthen trust between developers and the MPOG staff. Before using
... ... @@ -236,7 +235,7 @@ their demands, they could reduce financial support and even cancel the project.
236 235  
237 236 CD helped us keep the PE up-to-date, even with partial versions of a feature.
238 237 Therefore, we always had new results to present on meetings, easing their
239   -concerns About expected final delivery. For our team, CD made developers always
  238 +concerns about expected final delivery. For our team, CD made developers always
240 239 confident that the project would last a little longer.
241 240  
242 241 ### Shared Responsibility
... ... @@ -277,7 +276,7 @@ of our team members did not have CD know-how, and we had few working hours
277 276 available to build the initial version of the pipeline. The construction and
278 277 maintenance of the CD process were made possible by the key decisions to:
279 278  
280   -1. _Select the most experienced senior developers and some advanced students to
  279 +1. _Select the most experienced senior developers and some advanced interns to
281 280 work on a specific DevOps team._These senior developers used their experience
282 281 in OSS projects to craft an initial proposal for the deployment process. The
283 282 solution enabled us to automate the deployment, even though the process was,
... ... @@ -290,11 +289,11 @@ process on-the-fly.
290 289  
291 290 ### Overcoming Mistrust
292 291  
293   -Adopting an unfamiliar approach requires trust. MPOG staff, traditionally,
294   -expected and were prepared to validate and deploy a single deliverable.
295   -However, the steady growth of SPB complexity made large deliveries
296   -unsustainable. The CD approach was necessary [4]. Therefore, we developed the
297   -following line of action to enable this new dynamics:
  292 +Adopting an unfamiliar approach requires trust. The government staff,
  293 +traditionally, expected and were prepared to validate and deploy a single
  294 +deliverable. However, the steady growth of SPB complexity made large
  295 +deliveries unsustainable. The CD approach was necessary [4]. Therefore, we
  296 +developed the following line of action to enable this new dynamics:
298 297  
299 298 1. _Demonstrate actual results, instead of simply reporting them._ Initially,
300 299 we did not have access to the government infrastructure, so we created our own
... ... @@ -309,19 +308,20 @@ arguments to negotiate access to the PE.
309 308 staff._ Allowing the MPOG staff to track our development process showed them we
310 309 were fulfilling our commitments. They started to interact more actively in the
311 310 generation of versions and became involved in the CD. After understanding it,
312   -the MPOG staff helped us negotiate access to a VE with the MPOG leaders,
  311 +the government staff helped us negotiate access to a VE with the MPOG leaders,
313 312 creating an isolated replica of the PE.
314 313  
315 314 3. _Gain the confidence of government staff._ With the PE replica, we were able
316 315 to run the entire pipeline and win the trust of the MPOG staff involved in the
317 316 process. They saw the mobilization and responsiveness of our team to generate
318 317 each new version package. They also recognized the quality of our work and
319   -deployment process. In the end, the MPOG staff realized that it would be
  318 +deployment process. In the end, the government staff realized that it would be
320 319 beneficial for the project if they granted us access to the infrastructure,
321 320 both VE and PE.
322 321  
323 322 In summary, we encourage the use of a well-thought CD pipeline as a means to
324   -gain trust in software development projects with government organizations.
  323 +gain trust in software development projects with government and large
  324 +organizations as well.
325 325  
326 326 ## References
327 327  
... ...