Commit 2519a942b5abd269f230df0f771dff658e7bf144
1 parent
a9b24e57
Exists in
master
and in
3 other branches
Minor improvements.
Showing
1 changed file
with
23 additions
and
23 deletions
Show diff stats
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 | + | |
| 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 | - | |
| 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 | ... | ... |