Commit a1102aaf4f72965c3f3201dad39fe9fa558cd59b
1 parent
78a934c1
Exists in
master
and in
3 other branches
[i3eSW] Review introduction
Showing
1 changed file
with
33 additions
and
31 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
@@ -13,22 +13,23 @@ understand how important the CD adoption is to their projects. | @@ -13,22 +13,23 @@ understand how important the CD adoption is to their projects. | ||
13 | 13 | ||
14 | ## Introduction and Context | 14 | ## Introduction and Context |
15 | 15 | ||
16 | -We worked on a Brazilian government three-year-long project to evolve an | ||
17 | -existing platform that had technical issues and a lack of political support. | 16 | +We worked on a three-year-long Brazilian government project to evolve an |
17 | +existing platform that had technical issues and lacked political support. | ||
18 | The evolution project started in a presidential election year and everyone | 18 | The evolution project started in a presidential election year and everyone |
19 | -involved were under Presidential re-election campaign pressure to show results. | ||
20 | -Even with the re-election of the Brazilian President, leadership in government | ||
21 | -agencies suddenly changed that reflected on the project’s requirements: each | ||
22 | -new leader wanted to fulfill their political agenda. In this scenario, delivery | ||
23 | -delays could have sunk the project into oblivion. | 19 | +involved were under pressure to show results.Even with the re-election of |
20 | +the Brazilian President in 2014, leaderships in governmental agencies end | ||
21 | +up changing. Each one of them had different political agendas which caused | ||
22 | +impacts on the requirements previously approved. Despite this scenario of | ||
23 | +instability, we managed to avoid delays in the delivery schedule and to | ||
24 | +prevent the abortion of the project. | ||
24 | 25 | ||
25 | Our team from the University of Brasília (UnB) and the University of São Paulo | 26 | Our team from the University of Brasília (UnB) and the University of São Paulo |
26 | (USP) developed the new platform for the Brazilian Public Software (SPB, | 27 | (USP) developed the new platform for the Brazilian Public Software (SPB, |
27 | Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The | 28 | Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The |
28 | -SPB Portal evolved to a CDE [1] and this evolution brought about important | 29 | +SPB Portal evolved to a Collaborative Development Environment [1] and this evolution brought about important |
29 | benefits not just to the Brazilian government, but also to society as a whole. | 30 | benefits not just to the Brazilian government, but also to society as a whole. |
30 | For the government, the bureaucracy on using the same software across | 31 | For the government, the bureaucracy on using the same software across |
31 | -government agencies, duplicate works, and costs all were reduced. The society | 32 | +governmental agencies, duplicate works, and costs all were reduced. The society |
32 | gained a transparency and collaboration mechanism, since anyone can check the | 33 | gained a transparency and collaboration mechanism, since anyone can check the |
33 | government expenses on software and contribute to the software communities. To | 34 | government expenses on software and contribute to the software communities. To |
34 | achieve these goals, rather than writing everything from scratch, we decided to | 35 | achieve these goals, rather than writing everything from scratch, we decided to |
@@ -43,51 +44,52 @@ members, and communicating effectively with clients (in this particular case, | @@ -43,51 +44,52 @@ members, and communicating effectively with clients (in this particular case, | ||
43 | government agents). Managing the interaction of these elements was not easy and | 44 | government agents). Managing the interaction of these elements was not easy and |
44 | the unstable Brazilian political scenario only made things worse. | 45 | the unstable Brazilian political scenario only made things worse. |
45 | 46 | ||
46 | -To reach the SPB project goals, we had to overcome strong political bias | 47 | +To achieve the SPB project goals, we had to overcome strong political bias |
47 | tied with complicated technical issues and relatively low budget. Because it is | 48 | tied with complicated technical issues and relatively low budget. Because it is |
48 | open to the public, the government representatives have seen the platform as a | 49 | open to the public, the government representatives have seen the platform as a |
49 | marketing opportunity and have often ignored the technical advice in favor | 50 | marketing opportunity and have often ignored the technical advice in favor |
50 | of political decisions. Furthermore, integrating a number of distinct systems | 51 | of political decisions. Furthermore, integrating a number of distinct systems |
51 | to work seamlessly was not an easy job. We had to learn how each system worked | 52 | to work seamlessly was not an easy job. We had to learn how each system worked |
52 | -and come up with ideas of how to integrate them as fast as possible, with a | 53 | +and to come up with ideas of how to integrate them as fast as possible, with a |
53 | team of mostly inexperienced developers. | 54 | team of mostly inexperienced developers. |
54 | 55 | ||
55 | We also had to manage the diversity of the SPB team members. This team was | 56 | We also had to manage the diversity of the SPB team members. This team was |
56 | composed of approximately 50 undergraduate students (not all simultaneously) | 57 | composed of approximately 50 undergraduate students (not all simultaneously) |
57 | together with professors, masters students and professional designers as well | 58 | together with professors, masters students and professional designers as well |
58 | as senior developers from the Brazilian free software community. Undergraduate | 59 | as senior developers from the Brazilian free software community. Undergraduate |
59 | -students have received a fellowship and, for most of them, this R&D project was | 60 | +students received a fellowship and, for most of them, this R&D project was |
60 | their first professional experience. Seniors developers and masters students | 61 | their first professional experience. Seniors developers and masters students |
61 | had two important contributions to the project: transfer knowledge to | 62 | had two important contributions to the project: transfer knowledge to |
62 | undergraduate students and address hard tasks. Finally, professors were | 63 | undergraduate students and address hard tasks. Finally, professors were |
63 | -responsible for interacting with the Brazilian government and control the | 64 | +responsible for interacting with the Brazilian government and controlling the |
64 | political pressures applied to the project. | 65 | political pressures applied to the project. |
65 | 66 | ||
66 | -Our third point to be handled was the communication with the two independent | 67 | +The third point to be handled was the communication with two independent |
67 | groups of government representatives: requirements analysts and deployment | 68 | groups of government representatives: requirements analysts and deployment |
68 | technicians. Requirements analysts were the real representatives of the | 69 | technicians. Requirements analysts were the real representatives of the |
69 | -Brazilian government in the project. They usually tested new features, provided | ||
70 | -feedback, and reported for directors. The deployment technicians only had the | ||
71 | -access to the host machines wherein SPB platform was running. They were, | 70 | +Brazilian government in the project and their function was to test new features, to provide |
71 | +feedback to the development team and to report for directors. Deployment | ||
72 | +technicians were in charge of accessing the host machines wherein SPB platform was running. They were, | ||
72 | theoretically, responsible for deploying the project. However, the new SPB | 73 | theoretically, responsible for deploying the project. However, the new SPB |
73 | -Portal was composited from more than ten different software projects, | 74 | +Portal was composed of more than ten different software projects, |
74 | generating a complex deploy process working on seven servers. | 75 | generating a complex deploy process working on seven servers. |
75 | 76 | ||
76 | -Therefore, we realised that we needed to take control over the deployment | ||
77 | -process. We used CD as a mean to keep the government satisfied and provide | ||
78 | -quick response times to their requests which were, most of the time, influenced | ||
79 | -by the uncertainties of project continuity. We believed that would keep the | ||
80 | -project alive even in a politically unstable and technically complex scenario. | ||
81 | -For that, during months we worked to automate all the deploy process. For | 77 | +To handle the interaction between these three elements, we realised we needed to take control over the deployment |
78 | +process. We used CD as a mean to fulfill the government expectations and to | ||
79 | +provide quick response to their requests, which were influenced most of the | ||
80 | +time by the uncertainties of project continuity. We believed we would keep | ||
81 | +the project alive, even in a politically unstable and technically complex scenario. | ||
82 | +For this reason, we worked hard to automate all deploy process; for | ||
82 | instance, one of our senior developers created a Chef-Server | 83 | instance, one of our senior developers created a Chef-Server |
83 | (www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake) | 84 | (www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake) |
84 | -to help us to manage the multiple hosts needed for the project. In this | ||
85 | -context, we organized a specific team dedicated to the deployment process to | ||
86 | -mature our CD pipeline that would give us confidence to meet the government’s | ||
87 | -requirements faster and faster. | ||
88 | - | ||
89 | -Here, we describe our CD pipeline and how it speeded up our software delivery | ||
90 | -time. The CD made us adaptable for all requested changes and helped us to | 85 | +to help us to manage the multiple hosts needed for the project. |
86 | +We also formed a specific team dedicated to the deployment process. We also formed | ||
87 | +a specific team dedicated to the deployment process. This team was responsible | ||
88 | +for maturing our CD pipeline, giving us confidence and agility to comply with | ||
89 | +government requirements. | ||
90 | + | ||
91 | +In this report, we describe our CD pipeline and how it improved our delivery performance. | ||
92 | +The CD made us adaptable for all requested changes and helped us to | ||
91 | mitigate those aforementioned political challenges besides the technical | 93 | mitigate those aforementioned political challenges besides the technical |
92 | issues. Among CD’s known benefits[2], we also explain those that were the most | 94 | issues. Among CD’s known benefits[2], we also explain those that were the most |
93 | important in the project scenario for us: improving customer satisfaction and | 95 | important in the project scenario for us: improving customer satisfaction and |