Related Content
![]() |
The Real Value of Cross-Functional Agile Teams Agile teams know that cross-functional collaboration is central to the methodology, but there are often barriers to fully embracing this idea. If teams are used to handoffs, it may seem like it makes sense to maintain the status quo. Try collaborating on something small to realize the true value of cross-functional teams. |
|
![]() |
Leave No Tester Behind Creating comprehensive automated tests within a sprint can be a challenge. If the testers don't finish the automation and the rest of the team moves on, testers get left behind and can't catch up. You need some techniques to keep everyone together and ensure that all essential work is accomplished—including test automation. |
|
![]() |
An Agile Mindset Teaches the Lessons We Need for COVID-19 Since we can't control the COVID-19 situation besides following safety protocols, and updates change almost daily, our circumstances necessitate agility from everyone, from employees to company leads. Let’s look at the practical agility lessons COVID-19 is teaching us and why an agile mindset is even more important now. |
|
![]() |
Code Integration: When Moving Slowly Actually Has More Risk Many decisions about code branching models are made in the name of managing risk, and teams sometimes pick models that make integration harder in the name of safety. Moving slowly and placing barriers to change can seem safer, but agile teams work best when they acknowledge that there is also risk in deferring change. |
|
![]() |
3 Questions for Easier, Less Stressful Project Estimates In agile development, the idea of precise estimates is unrealistic. But estimates are needed to inform decision-makers about whether it's worth solving a problem as it is currently understood. It sounds counterintuitive, but instead of asking for one estimate of cost and schedule, ask for three. Here's why it's more useful. |
|
![]() |
Fearless Refactoring, Not Reckless Refactoring Fearless refactoring is the agile concept that a developer should be able to incrementally change code without worrying about breaking it. But it's not believing that you don't need a safety net to detect and correct defects quickly when changes are made—that's just reckless. Here's how to avoid reckless refactoring. |
|
![]() |
Defensive Design Strategies to Prevent Flaky Tests Flaky tests could be the result of issues in the code, but more often they are due to assumptions in the test code that lead to non-relatable results. There are many reasons that tests can fail intermittently, and some can be easily avoided by applying good defensive design strategies. It's all about making your code agile. |
|
![]() |
Exploring Containers: Creating a Dockerfile Docker containers are launched using Docker images, which are built from layers of Dockerfiles. A Dockerfile is a text document that contains all the commands or instructions to create, copy, and run an image. Let’s look at what goes into creating a Dockerfile, which could be used to build a runnable Docker image. |