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,7 +62,7 @@ Environment (CDE), which brought significant benefits for the government and
62 the society. The government could minimize bureaucracy and software development 62 the society. The government could minimize bureaucracy and software development
63 costs, by reusing the same set of applications across different government 63 costs, by reusing the same set of applications across different government
64 Agencies. Society could more transparently follow government expenses and 64 Agencies. Society could more transparently follow government expenses and
65 -contribute to project communities. 65 +contribute to software project communities.
66 66
67 In this article, we discuss the use of Continuous Delivery (CD) during our 67 In this article, we discuss the use of Continuous Delivery (CD) during our
68 experience as the academic partner in this project. We show how we implemented 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,9 +77,9 @@ trust relationships is yet another of its benefits [2,3].
77 77
78 SPB is a governmental program created to foster sharing and collaboration on 78 SPB is a governmental program created to foster sharing and collaboration on
79 Open Source Software (OSS) development for the Brazilian public administration. 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 through layers of bureaucracy before being answered; accessing their 83 through layers of bureaucracy before being answered; accessing their
84 infrastructure to deploy software was not different. The difficulties were 84 infrastructure to deploy software was not different. The difficulties were
85 aggravated because the new SPB portal is an unprecedented platform in the 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,13 +161,12 @@ stopped. Only when all tests passed, the pipeline proceeded to the next step.
161 161
162 ### Preparing a New Release 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 ### Packaging 171 ### Packaging
173 172
@@ -205,6 +204,8 @@ features and bug fixes available to end users. @@ -205,6 +204,8 @@ features and bug fixes available to end users.
205 204
206 ## Benefits 205 ## Benefits
207 206
  207 +![The evolution of SPB releases and the development team members distribution.](figures/CDReleaseAndTeamEvolution.png)
  208 +
208 CD brings many advantages such as accelerated time to market, building the 209 CD brings many advantages such as accelerated time to market, building the
209 right product, productivity and efficiency improvements, stable releases, and 210 right product, productivity and efficiency improvements, stable releases, and
210 better customer satisfaction [2,3]. The charts presented in Figure 2 show these 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,8 +215,6 @@ the last 12 months, after the creation of the DevOps team. Besides these
214 results, working with the government we noticed the following additional 215 results, working with the government we noticed the following additional
215 benefits. 216 benefits.
216 217
217 -![The evolution of SPB releases and the development team members distribution.](figures/CDReleaseAndTeamEvolution.png)  
218 -  
219 ### Strengthening Trust in the Relationship with the Government 218 ### Strengthening Trust in the Relationship with the Government
220 219
221 CD helped strengthen trust between developers and the MPOG staff. Before using 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,7 +235,7 @@ their demands, they could reduce financial support and even cancel the project.
236 235
237 CD helped us keep the PE up-to-date, even with partial versions of a feature. 236 CD helped us keep the PE up-to-date, even with partial versions of a feature.
238 Therefore, we always had new results to present on meetings, easing their 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 confident that the project would last a little longer. 239 confident that the project would last a little longer.
241 240
242 ### Shared Responsibility 241 ### Shared Responsibility
@@ -277,7 +276,7 @@ of our team members did not have CD know-how, and we had few working hours @@ -277,7 +276,7 @@ of our team members did not have CD know-how, and we had few working hours
277 available to build the initial version of the pipeline. The construction and 276 available to build the initial version of the pipeline. The construction and
278 maintenance of the CD process were made possible by the key decisions to: 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 work on a specific DevOps team._These senior developers used their experience 280 work on a specific DevOps team._These senior developers used their experience
282 in OSS projects to craft an initial proposal for the deployment process. The 281 in OSS projects to craft an initial proposal for the deployment process. The
283 solution enabled us to automate the deployment, even though the process was, 282 solution enabled us to automate the deployment, even though the process was,
@@ -290,11 +289,11 @@ process on-the-fly. @@ -290,11 +289,11 @@ process on-the-fly.
290 289
291 ### Overcoming Mistrust 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 1. _Demonstrate actual results, instead of simply reporting them._ Initially, 298 1. _Demonstrate actual results, instead of simply reporting them._ Initially,
300 we did not have access to the government infrastructure, so we created our own 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,19 +308,20 @@ arguments to negotiate access to the PE.
309 staff._ Allowing the MPOG staff to track our development process showed them we 308 staff._ Allowing the MPOG staff to track our development process showed them we
310 were fulfilling our commitments. They started to interact more actively in the 309 were fulfilling our commitments. They started to interact more actively in the
311 generation of versions and became involved in the CD. After understanding it, 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 creating an isolated replica of the PE. 312 creating an isolated replica of the PE.
314 313
315 3. _Gain the confidence of government staff._ With the PE replica, we were able 314 3. _Gain the confidence of government staff._ With the PE replica, we were able
316 to run the entire pipeline and win the trust of the MPOG staff involved in the 315 to run the entire pipeline and win the trust of the MPOG staff involved in the
317 process. They saw the mobilization and responsiveness of our team to generate 316 process. They saw the mobilization and responsiveness of our team to generate
318 each new version package. They also recognized the quality of our work and 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 beneficial for the project if they granted us access to the infrastructure, 319 beneficial for the project if they granted us access to the infrastructure,
321 both VE and PE. 320 both VE and PE.
322 321
323 In summary, we encourage the use of a well-thought CD pipeline as a means to 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 ## References 326 ## References
327 327