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 | 13 | |
14 | 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 | 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 | 26 | Our team from the University of Brasília (UnB) and the University of São Paulo |
26 | 27 | (USP) developed the new platform for the Brazilian Public Software (SPB, |
27 | 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 | 30 | benefits not just to the Brazilian government, but also to society as a whole. |
30 | 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 | 33 | gained a transparency and collaboration mechanism, since anyone can check the |
33 | 34 | government expenses on software and contribute to the software communities. To |
34 | 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 | 44 | government agents). Managing the interaction of these elements was not easy and |
44 | 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 | 48 | tied with complicated technical issues and relatively low budget. Because it is |
48 | 49 | open to the public, the government representatives have seen the platform as a |
49 | 50 | marketing opportunity and have often ignored the technical advice in favor |
50 | 51 | of political decisions. Furthermore, integrating a number of distinct systems |
51 | 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 | 54 | team of mostly inexperienced developers. |
54 | 55 | |
55 | 56 | We also had to manage the diversity of the SPB team members. This team was |
56 | 57 | composed of approximately 50 undergraduate students (not all simultaneously) |
57 | 58 | together with professors, masters students and professional designers as well |
58 | 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 | 61 | their first professional experience. Seniors developers and masters students |
61 | 62 | had two important contributions to the project: transfer knowledge to |
62 | 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 | 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 | 68 | groups of government representatives: requirements analysts and deployment |
68 | 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 | 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 | 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 | 83 | instance, one of our senior developers created a Chef-Server |
83 | 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 | 93 | mitigate those aforementioned political challenges besides the technical |
92 | 94 | issues. Among CD’s known benefits[2], we also explain those that were the most |
93 | 95 | important in the project scenario for us: improving customer satisfaction and | ... | ... |