Agile + DevOps West 2022 - Continuous Integration/ Continuous Delivery
Tuesday, June 14
Continuous Delivery in Practice: A Hands-On DevOps Workshop
What is continuous deployment? How does it differ from continuous integration and continuous delivery? Every company thinks they want CI/CD, but few teams have experience in knowing what that means and how to build it out. Join Janna and Melissa as they walk through building your own build pipeline using GitHub Actions, Docker, and Azure to continuously deploy to production. They will walk you through some of the basics of Git, Docker, and YAML to create build pipelines that run test automation and deploy an application. These tools and techniques will help reduce debugging differences...
Agile Project Failures: Root Causes and Corrective Actions
Agile initiatives always begin with high expectations—accelerate delivery, meet customer needs, and improve software quality. The truth is that many agile projects do not deliver on some or all of these expectations. If you want help to ensure the success of your agile project or to get an agile project back on track, this tutorial is for you. Jeffery Payne discusses the most common causes of agile project failure and how you can avoid these issues or mitigate their damaging effects. Poor project management, ineffective requirements development, failed communications, software development...
Approaching Conflict Productively
NewWhen it comes to high-performing teams, conflict is inevitable and necessary. The very essence of gaining the best value outcomes is a result of leveraging the wisdom of various perspectives and experiences. Those variances will generate conflict. Yet, this is only a negative if we are unequipped with the knowledge and tools to embrace and approach conflict. In this tutorial, expect to unpack the differences and the relationship between conflict and drama. Discover tools for helping all voices be heard. Plus, have fun practicing skills in preparing how to react to conflicts productively...
What DevOps Means for Testers and Testing
DevOps is more than a buzzword or a passing fad. It's a radically new approach to rapidly deliver high-quality software applications. However, many organizations don’t fully grasp the magnitude of this change or what it means for everyone involved in the software development lifecycle. Jeffery Payne says that DevOps—when done right—drives higher quality and efficiency into software development, software testing, and application management activities. It empowers teams to remove impediments to quality and productivity throughout the entire software lifecycle. However, when DevOps is done...
Wednesday, June 15
The Magic of Digital Transformation from non-Agile to Agile, within a few years at IKEA
The world is moving more and more towards digitalization, therefore if a company see the need to go against its competitors and perform better, it needs to foresee the future. Ikea needed a significant change, which leads towards lots of challenges to take this step. We needed a digital transformation, and we adopted to the Agile methodologies and practices. As a result, we maximized engineering teams’ efficiency within a few years. Therefore, we enhanced our performance and delivery and better customer experience. Education, learning and practicing the Agile mindset were the starting...
From Yearly to Always: A Continuous Delivery Roadmap
When starting up a greenfield project, it's easy to take advantage of the most modern development practices. But what about the rest of us, who are working on codebases greater than five minutes old? How do you take code that's ten years and hundreds of thousands of SLOC, and turn that into a lean, mean, continuous-delivering machine? In this talk, Melissa will walk through what continuous integration and deployment mean for teams working on mature codebases, and what the roadmap looks like to get from a release cycle that may take weeks or months to one that deploys on-demand. Expect to...
Scalable Patterns and Practices for Test Automation & Continuous Integration for Microservices
PreviewEffectively Managing Feature Flags
Our repo has around 300K lines of code and more active feature flags at any given moment than we have fingers and toes. As we have moved into a world of continuous deployment with controlled releases, the use of feature flags has become an essential way of writing software. Yet, when we started out, we ended up with code that was hard to read, hard to reason about, and hard to manage. After exploring several strategies, we have found a pattern that aligns feature flags with larger code units (classes, components, reducers, actions) rather than at individual lines of code. This alleviates...
Improving Test Automation Code and Strategy
Automation has gone from optional to mandatory in the past few years when it comes to developing software at speed. It has led teams and especially testers to adapt and evolve together with new technologies for coping with the automation needs. No matter the original motivation, you might have somehow ended up crafting a strategy for doing test automation. Now the question is, how did it mature? When was the last time you actually took a moment to do a little retrospective regarding your automation strategy? More so, when was the last time that someone reviewed the scripts themselves?
...Tools as Code : DevSecOps on Auto-pilot
PreviewThe worst kept secret to success in our industry is speed, resiliency, and security. The multitude of tools available to help master the techniques of producing best in class software can put us into a maintenance overdose. Luckily for us, most of these tools today are now packaged as Docker containers opening an opportunity for us to rapidly set up and orchestrate their setup using Kubernetes. Using a gitOps approach, we have found a way to neatly connect a CI/CD process for setting up, maintaining, upgrading and tearing down these applications using ArgoCD and Terraform. Follow us...
Thursday, June 16
Building a Distributed Automation Team from Scratch
I have worked on QA teams with as few as three testers and as large as 20. Four years ago, I elected to start at CAQH (health care company) and was the only QA Automation staff member, was brought on board with a mandate to “convert the manual testing shop to Automation”. I found the organization had taken delivery on several poor-quality software releases of our flagship product from our development partner, and the ongoing application development and testing was in disarray. As employee #2 on the newly formed Technical/QA Team, this is the story of how we built Automation presence, built...
Measuring Long-Term Productivity: The Developer’s Legacy Index
Measuring a programmer’s productivity is a problem as old as the software industry itself. Number of worked hours? More productive people should need fewer hours, not more. Number of completed tasks? Not all tasks are equally hard. Number of introduced bugs? Bugs are not necessarily the programmer’s fault, and besides, what constitutes a bug anyway? The closest we’ve ever got to measure a developer’s productivity is lines of code, and this has proven to be a poor metric because not all lines of code are equally valuable. However, if we could measure not just how much a developer writes but...
Optimize Quality Stages in CI/CD Pipelines
PreviewThere are many different viewpoints when it comes to developing code. But most companies can agree on time to market and quality code as two most important aspects of development. For time to market, many companies built CI/CD pipelines to automate the build/integrate and deploy process. What about quality code? How can companies ensure quality in the CI/CD pipeline? One way to address this challenge is to optimize the quality stages of the CI/CD pipeline. Companies can improve their static code analysis, unit testing, code coverage, and post-deployment testing stages to ensure...