From 3f3ba0513e53220a5ef922c70c0eef2aaebc9461 Mon Sep 17 00:00:00 2001 From: Melissa Wen Date: Tue, 1 Aug 2017 18:12:49 -0400 Subject: [PATCH] [i3eSW] Athos review --- ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md index 6dd9999..ce386c5 100644 --- a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md +++ b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md @@ -41,7 +41,7 @@ one of them had different political agendas which affected the project's requirements previously approved. Besides that scenario of instability, we overcame three distinct issues: (i) achieving the goals which have guided the platform development, (ii) managing the diversity of team members, and (iii) -communicating effectively with government agents (our "clients"). Handling the +communicating effectively with government agents (the client). Handling the interaction of these elements was challenging and the unstable Brazilian political scenario only made things worse. @@ -86,7 +86,7 @@ unstable and technically complex scenario. For this reason, we focused on automating the deploy process; for instance, one of our senior developers created a Chef-Server (www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed for -the project. We also formed a specific team dedicated to the deployment +the project. We also formed a specific team dedicated to the deployment process. This team was responsible for maturing our CD pipeline, giving us confidence and agility to comply with government requirements. @@ -103,10 +103,10 @@ worst political crisis after the re-democratization in Brazil. ![Deployment Pipeline](figures/pipeline_2.png) Figure 1 represents our CD pipeline. A new feature might require changes on more -than one SPB integrated software project. Notice that each on of them could be +than one SPB integrated software project. Notice that each one of them could be modified independently. The pipeline started when new code arrived. As it went through each step, it was tested and improved until it finally reached the -production environment. At this point we got back to the first stage to release +production environment. At this point we would restart the pipeline to release more new code. ### Automated Tests @@ -117,13 +117,13 @@ components had their own test suite, maintained and expanded by the development team. Communication between all components is orchestrated by Colab, a systems integration platform for web applications based on a plugins architecture. Therefore, specific plugins have been developed for each portal software -component, such as for Gitlab and Mailman. Each plugin had its own test suite +component, such as Gitlab and Mailman. Each plugin had its own test suite and this set also worked as integration test. Both unit and integration tests provided us the performace and security needed to guarantee the stability for components and the platform. If any test suite failed, by either a test error or coverage reduction below a certain threshold, the -pipeline stopped. Only when all tests pass, the pipeline proceed to the step of +pipeline was stopped. Only when all tests pass, the pipeline proceeded to the step of preparing the release. ### Preparing a New Release @@ -177,7 +177,7 @@ as part of the next step in the pipeline. After we deployed a new SPB Portal version in the VE, the government agents were responsible for checking features and bug fixes required by them. If -the requirement analysts identified a problem, they notified the developers via +the requirement analysts identified a problem, they would notified the developers via comments on the SPB Portal's issue tracker. The problems were fixed and the pipeline restarted from scratch. If everything was validated, we moved forward. @@ -205,9 +205,8 @@ the renewal of the project over the years. Every meeting with the government leader resulted in new requirements, most of them motivated by political needs. These constant changes in requirements and priorities caused discomfort between the government and the development team. For -example, once it was demanded a complete layout change because another -government leader suddenly decided to make a marketing campaign about the new -SPB portal. They would use undelivered requirements as a means to justify the +example, the government leader required a complete layout change because he suddenly decided to make a marketing campaign about the new +SPB portal. Thus the government would use undelivered requirements as a means to justify the lack of financial support, which was already approved in the first place. We believed that if we took too long to attend their demands, the project would end. CD helped us keep the production environment up-to-date, even with partial versions of a feature. That @@ -228,8 +227,7 @@ They were an active part of the pipeline and became more engaged on the whole pr After the incorporation of the pipeline into the work process, analysts became more active in opening and discussing issues during the platform evolution. Additionally, developers worked to improve the CD pipeline -to speed up the process of making available, in the production environment, -new features for the platform. +to speed up the process of making new features available in the production environment. ### Synchronicity Between Government and Development @@ -300,7 +298,7 @@ deliveries but would not give access to their production infrastructure. After some interactions with government agents, they created the VE as an isolated replica of the PE in their own infrastructure. The government agents then realised that it could be beneficial for the project if they granted us access -to part of the structure. More research is required on development protocols and +to part of the infrastructure. More research is required on development protocols and policies to improve the relation between industry and government, specially regarding CD. -- libgit2 0.21.2