From 2519a942b5abd269f230df0f771dff658e7bf144 Mon Sep 17 00:00:00 2001 From: Paulo Meirelles Date: Tue, 21 Nov 2017 07:11:09 -0200 Subject: [PATCH] Minor improvements. --- ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md index 7ea5af0..8216cc4 100644 --- a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md +++ b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md @@ -62,7 +62,7 @@ Environment (CDE), which brought significant benefits for the government and the society. The government could minimize bureaucracy and software development costs, by reusing the same set of applications across different government Agencies. Society could more transparently follow government expenses and -contribute to project communities. +contribute to software project communities. In this article, we discuss the use of Continuous Delivery (CD) during our 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]. SPB is a governmental program created to foster sharing and collaboration on Open Source Software (OSS) development for the Brazilian public administration. -The MPOG managed both software requirements and server infrastructure. However, -its hierarchical and traditional processes made them unfamiliar with new -software development techniques, such as CD. All our requests had to pass +The government managed both software requirements and server infrastructure. +However, its hierarchical and traditional processes made them unfamiliar with +new software development techniques, such as CD. All our requests had to pass through layers of bureaucracy before being answered; accessing their infrastructure to deploy software was not different. The difficulties were 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. ### Preparing a New Release -A separate Git repository hosted each software component. New component -releases were tagged referencing a specific new feature or bug fix. SPB had its -own Git repository (www.softwarepublico.gov.br/gitlab/softwarepublico). An SPB -portal release was an aggregate of all its components. When a new component -release passed all of the SPB integration tests, we manually created a -corresponding new tag in its repository. At the end of this process, we started -packaging. +A separate Git repository hosted each system. New software component releases +were tagged referencing a specific new feature or bug fix. SPB had its own Git +repository (www.softwarepublico.gov.br/gitlab/softwarepublico). An SPB portal +release was an aggregate of all its systems. When a new component release +passed all of the SPB integration tests, we manually created a corresponding +new tag in its repository. At the end of this process, we started packaging. ### Packaging @@ -205,6 +204,8 @@ features and bug fixes available to end users. ## Benefits +![The evolution of SPB releases and the development team members distribution.](figures/CDReleaseAndTeamEvolution.png) + CD brings many advantages such as accelerated time to market, building the right product, productivity and efficiency improvements, stable releases, and 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 results, working with the government we noticed the following additional benefits. -![The evolution of SPB releases and the development team members distribution.](figures/CDReleaseAndTeamEvolution.png) - ### Strengthening Trust in the Relationship with the Government 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. CD helped us keep the PE up-to-date, even with partial versions of a feature. Therefore, we always had new results to present on meetings, easing their -concerns About expected final delivery. For our team, CD made developers always +concerns about expected final delivery. For our team, CD made developers always confident that the project would last a little longer. ### Shared Responsibility @@ -277,7 +276,7 @@ of our team members did not have CD know-how, and we had few working hours available to build the initial version of the pipeline. The construction and maintenance of the CD process were made possible by the key decisions to: -1. _Select the most experienced senior developers and some advanced students to +1. _Select the most experienced senior developers and some advanced interns to work on a specific DevOps team._These senior developers used their experience in OSS projects to craft an initial proposal for the deployment process. The solution enabled us to automate the deployment, even though the process was, @@ -290,11 +289,11 @@ process on-the-fly. ### Overcoming Mistrust -Adopting an unfamiliar approach requires trust. MPOG staff, traditionally, -expected and were prepared to validate and deploy a single deliverable. -However, the steady growth of SPB complexity made large deliveries -unsustainable. The CD approach was necessary [4]. Therefore, we developed the -following line of action to enable this new dynamics: +Adopting an unfamiliar approach requires trust. The government staff, +traditionally, expected and were prepared to validate and deploy a single +deliverable. However, the steady growth of SPB complexity made large +deliveries unsustainable. The CD approach was necessary [4]. Therefore, we +developed the following line of action to enable this new dynamics: 1. _Demonstrate actual results, instead of simply reporting them._ Initially, 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. staff._ Allowing the MPOG staff to track our development process showed them we were fulfilling our commitments. They started to interact more actively in the generation of versions and became involved in the CD. After understanding it, -the MPOG staff helped us negotiate access to a VE with the MPOG leaders, +the government staff helped us negotiate access to a VE with the MPOG leaders, creating an isolated replica of the PE. 3. _Gain the confidence of government staff._ With the PE replica, we were able to run the entire pipeline and win the trust of the MPOG staff involved in the process. They saw the mobilization and responsiveness of our team to generate each new version package. They also recognized the quality of our work and -deployment process. In the end, the MPOG staff realized that it would be +deployment process. In the end, the government staff realized that it would be beneficial for the project if they granted us access to the infrastructure, both VE and PE. In summary, we encourage the use of a well-thought CD pipeline as a means to -gain trust in software development projects with government organizations. +gain trust in software development projects with government and large +organizations as well. ## References -- libgit2 0.21.2