From d644dd05033d7e55ca1ea1e74657db255e974e08 Mon Sep 17 00:00:00 2001 From: Diego Araújo Date: Tue, 1 Aug 2017 20:06:15 -0300 Subject: [PATCH] [ieeeSW] Review Athos, part 2 --- ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md | 58 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md index ce386c5..cea7ced 100644 --- a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md +++ b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md @@ -28,11 +28,12 @@ government, but also to society as a whole. The government could reduce both the bureaucracy of using the same software in government agencies and the cost of developing similar software projects. The society gained a mechanism of transparency and collaboration, since anyone can check the government -expenses on software and contribute to project communities. To achieve these -goals, rather than writing everything from scratch, we decided to integrate -several free software tools such as Noosfero (www.noosfero.org), Gitlab -(www.gitlab.com), Mailman (www.gnu.org/software/mailman), Mezuro -(www.mezuro.org), and Colab (www.github.com/colab). +expenses on software (from information available on the SPB Portal) and +contribute to project communities. To achieve these goals, rather than writing +everything from scratch, we decided to integrate several free software tools +such as Noosfero (www.noosfero.org), Gitlab (www.gitlab.com), Mailman +(www.gnu.org/software/mailman), Mezuro (www.mezuro.org), and Colab +(www.github.com/colab). The project started in a presidential election year and everyone involved was under pressure to show results. Even with the re-election of the Brazilian @@ -62,10 +63,10 @@ with professors, master students, professional designers and senior developers from the Brazilian free software community. Undergraduate students received a scholarship and, for most of them, this R&D project was their first professional experience. Senior developers and master students had two -important contributions to the project: transfer knowledge to undergraduate -students and more complex tasks. Finally, professors were responsible for -interacting with the Brazilian government and controlling political pressures -applied to the project. +important contributions to the project: to transfer knowledge to undergraduate +students and to deal with more complex tasks. Finally, professors were +responsible for interacting with the Brazilian government and controlling +political pressures applied to the project. Moreover, we needed to communicate with two independent groups of government representatives. Requirement analysts were real representatives of the @@ -83,12 +84,12 @@ the government expectations and to provide quick response to their requests, which were influenced most of the time by the uncertainties of the project's continuity. We believed we would keep the project alive, even in a politically 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 -process. This team was responsible for maturing our CD pipeline, giving us -confidence and agility to comply with government requirements. +automating the deploy process; for instance, one of our senior developers +created a tool called Chake (www.gitlab.com/terceiro/chake) to help us manage +multiple hosts without the need for a Chef-Server (www.chef.io/chef). 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. In this report, we describe our CD pipeline and how it improved our delivery performance. Continuous Delivery made us adaptable for all requested changes @@ -113,18 +114,17 @@ more new code. The SPB portal consists of more than 10 integrated software projects and each of them, as well as the entire platform, had to be tested. These software -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 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 was stopped. Only when all tests pass, the pipeline proceeded to the step of -preparing the release. +components have their own test suite. Communication between all components is +orchestrated by Colab, a systems integration platform for web applications based +on a plugins architecture. Therefore, specific plugins were developed for +each portal software component, such as Gitlab and Mailman. Each plugin has its +own test suite and this set also worked as integration tests. + +Both unit and integration tests provided us the performance 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 passed, 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 would notified the developers via +the requirement analysts identified a problem, they would notify 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. @@ -206,7 +206,7 @@ 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, 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 +SPB portal. In future meetings, 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 -- libgit2 0.21.2