Commit f2f175bd1388ecfe0e0078b127c654ccb8d5b708

Authored by Paulo Meireles
2 parents 7a49139d 91a3b102

Merge branch 'ieee_new' of softwarepublico.gov.br:softwarepublico/articles into ieee_new

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  
... ...