Commit 91a3b102262abe551cbc10410a9b0d1f6ed4fc60

Authored by Melissa Wen
1 parent 1eb83ff5

[i3eSW] Improving Challenges section information and text and applying Siqueiras suggestions

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