Commit f2f175bd1388ecfe0e0078b127c654ccb8d5b708
Exists in
master
and in
3 other branches
Merge branch 'ieee_new' of softwarepublico.gov.br:softwarepublico/articles into ieee_new
Showing
1 changed file
with
66 additions
and
39 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... | ... | @@ -210,11 +210,25 @@ fixes were finally available to the end users. |
210 | 210 | |
211 | 211 | ## Benefits |
212 | 212 | |
213 | -Research points out many advantages of CD usage in industry[2], such as: | |
213 | +Research points out many advantages of CD usage in industry[2, 5], such as: | |
214 | 214 | accelerated time to market, building the right product, productivity and |
215 | 215 | efficiency improvements, reliable releases and better customer satisfaction. |
216 | 216 | Working with the government, we noticed the following additional benefits. |
217 | 217 | |
218 | +### Strengthening Trust in Work Relationship with the Government | |
219 | + | |
220 | +Continuous delivery was also a tool that helped to strengthen trust in the | |
221 | +relationship between developers and government analysts, as well as between the | |
222 | +analysts group and its superiors. Before using CD, analysts had access to the | |
223 | +features developed only at the end of the release, usually every four months. | |
224 | +However, this periodicity did not meet the requirements of their leaders, who | |
225 | +demanded monthly reports on the progress of the project. | |
226 | + | |
227 | +With the implementation of CD, intermediate and candidate versions became | |
228 | +available, allowing analysts to perform small validations over time. The | |
229 | +constant monitoring of the development work brought greater security to the | |
230 | +governmental nucleus and improved the interactions with our development team. | |
231 | + | |
218 | 232 | ### Responsiveness to Change |
219 | 233 | |
220 | 234 | Responsiveness was one of the direct benefits of adopting the CD pipeline. The |
... | ... | @@ -261,46 +275,31 @@ when the analysts realized the impact of these delays on the final product and |
261 | 275 | decided to allocate the revisions in its work schedule and to request the access |
262 | 276 | to production in time. |
263 | 277 | |
264 | -### Strengthening Trust in Work Relationship with the Government | |
265 | - | |
266 | -Continuous delivery was also a tool that helped to strengthen trust in the | |
267 | -relationship between developers and government analysts, as well as between the | |
268 | -analysts group and its superiors. Before using CD, analysts had access to the | |
269 | -features developed only at the end of the release, usually every four months. | |
270 | -However, this periodicity did not meet the requirements of their leaders, who | |
271 | -demanded monthly reports on the progress of the project. | |
272 | - | |
273 | -With the implementation of CD, intermediate and candidate versions became | |
274 | -available, allowing analysts to perform small validations over time. The | |
275 | -constant monitoring of the development work brought greater security to the | |
276 | -governmental nucleus and improved the interactions with our development team. | |
277 | - | |
278 | 278 | ## Challenges |
279 | 279 | |
280 | -Due to the successful built of the CD pipeline, we took over the deployment | |
281 | -process from the government and kept the project alive in an unstable political | |
282 | -scenario. However, we recognize that many challenges still need to be addressed | |
283 | -by the industry and academia together. | |
280 | +Due to the successful built of the CD pipeline, we improved the government | |
281 | +deployment process and kept the project alive in an unstable political scenario. | |
282 | +We map here lessons learned in this successful case, as well as issues that | |
283 | +still need to be addressed in future works between industry and academia. | |
284 | 284 | |
285 | 285 | ### Build CD From Scratch |
286 | 286 | |
287 | -Taking on responsibilities for implementing CD impacted on the organization and | |
288 | -activities of the whole team. Our team did not have know-how in this approach | |
289 | -and we had few working hours available to allocate to building a pipeline. The | |
290 | -construction and maintenance of the CD process was possible by taking some | |
291 | -decisions to mature the project: | |
287 | +Taking on responsibilities for implementing CD impacted on the whole team. | |
288 | +Our team did not have know-how in this approach, and we had few working hours | |
289 | +available to allocate for the building of pipeline. The construction and | |
290 | +maintenance of the CD process was possible by taking some decisions to mature | |
291 | +the project: | |
292 | 292 | |
293 | -1. _Selecting the most experienced professionals and a few developers of the | |
294 | -project to work on a small DevOps team._ These professionals used their | |
295 | -experiences in FLOSS projects to get an initial proposal of deployment process. | |
293 | +1. _Selecting the most experienced professionals and some developers of the | |
294 | +project to work on a specific team for DevOps._ These professionals used their | |
295 | +experiences in OSS projects to get an initial proposal of deployment process. | |
296 | 296 | The solution enabled us to automate the deployment, even though the process was |
297 | 297 | still rudimentary. |
298 | 298 | |
299 | 299 | 2. _Interchanging team members and encouraging teammates to migrate to DevOps |
300 | 300 | team._ The benefits of these movements were twofold: mitigating the difficulty |
301 | -to pass the knowledge from developers who had already understood the CD to the | |
302 | -others who were dedicated to the development of features of the platform, and | |
303 | -evolving the process on-the-fly. | |
301 | +to pass the knowledge between DevOps developers and features developers, and | |
302 | +evolving the process on-the-fly | |
304 | 303 | |
305 | 304 | Building a CD pipeline was hard in the beginning. We believe that more tools |
306 | 305 | to provide out-of-the-box standardized CD pipelines would be of great help for |
... | ... | @@ -311,15 +310,43 @@ in a high turnover scenario. |
311 | 310 | |
312 | 311 | ### Overcoming Mistrust |
313 | 312 | |
314 | -Taking an unfamiliar approach requires trust. In the Ministry of Planning, software is the product delivered at the end of a development contract. They expected and were prepared to validate and deploy a single delivery. Because the SPB portal is a system of systems, the steady growth of its complexity made large deliveries unsustainable. In addition, long time for homologation of developed features gave government room to change requirements and priorities. The CD approach was necessary, but how to build trust and gain autonomy to implement a process that was not yet part of the dynamics of the Ministry? | |
315 | - | |
316 | -1. _Demonstrate actual results, do not simply tell._ Since we did not have access to government infrastructure, we decided to create our own validation environment. We advance on CD pipeline to the release validation stage when we were faced two problems: the volume of intermediate deliveries was greater than the ability of government technicians to deploy in production, and features validated by government analysts in our environment did not work as expected in production (due to specific issues of government infrastructure we had neither access nor control). We reinforced to them that we needed to have access to a real environment. | |
317 | - | |
318 | -2. _Make our project management transparent and collaborative for analysts._ Allowing the analysts to follow our dynamics of version generation, bug fixes and requirements adjustments, we showed them we were meeting our commitments. They started to interact more strongly in the generation of a version and also wanted to see the result of their validation works in production. With this, after some interactions with government agents, they created a VE as an isolated replica of PE and gave us access. | |
319 | - | |
320 | -3. _Gain the confidence of government agents._ In the created environment, we showed the development of the entire pipeline and won the trust of the government agents involved in the process. On the one hand, analysts saw the mobilization and responsiviness of the team to generate a new version package. On the other hand, government technicians recognized the quality of our packages and our deployment process. | |
321 | - | |
322 | -Finally, the government agents then realised that it could be beneficial for the project if they granted us access 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. | |
313 | +Taking an unfamiliar approach requires trust. In the Ministry of Planning, | |
314 | +software is the product delivered at the end of a development contract. They | |
315 | +expected and were prepared to validate and deploy a single delivery. Because | |
316 | +the SPB portal is a system of systems, the steady growth of its complexity made | |
317 | +large deliveries unsustainable. In addition, long time for homologation of | |
318 | +developed features gave government room to change requirements and priorities. | |
319 | +The CD approach was necessary, but how to build trust and gain autonomy to | |
320 | +implement a process that was not yet part of the dynamics of the Ministry? | |
321 | + | |
322 | +1. _Demonstrate actual results, do not simply tell._ Initially we did not have | |
323 | +access to the government infrastructure, so we created our own validation | |
324 | +environment. Thus, we were able to follow the CD pipeline until the stage of | |
325 | +production deployment, when we were faced two problems. Our pace of intermediate | |
326 | +deliveries to the government was faster than the deployment in production by their | |
327 | +technicians. Furthermore specific issues of government infrastructure made some | |
328 | +validated features not work as expected in the production environment. That | |
329 | +situation gave us arguments to negotiate access to production. | |
330 | + | |
331 | +2. _Make our project management transparent and collaborative for analysts._ | |
332 | +Allowing the analysts to follow our process for version deliveries and bug | |
333 | +fixes, we showed them we were meeting our commitments. They started to interact | |
334 | +more strongly in the generation of versions and actually became part of the | |
335 | +process. After understanding the process, analysts helped us in negotiations | |
336 | +with government agentes. Finally, the agents created a VE as an isolated replica | |
337 | +of PE and gave us access to it. | |
338 | + | |
339 | +3. _Gain the confidence of government agents._ With the replica of PE, we were | |
340 | +able to run the entire pipeline and won the trust of the government analysts and | |
341 | +technicians involved in the process. On the one hand, analysts saw the | |
342 | +mobilization and responsiviness of the team to generate a new version package. | |
343 | +On the other hand, technicians recognized the quality of our packages and our | |
344 | +deployment process. Finally, the government agents then realised that it could | |
345 | +be beneficial for the project if they granted us access to part of the | |
346 | +infrastructure. | |
347 | + | |
348 | +More research is required on development protocols and policies to improve the | |
349 | +relation between industry and government, specially regarding CD. | |
323 | 350 | |
324 | 351 | ## Acknowledgements |
325 | 352 | ... | ... |