Related Content
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. |
||
Achieve Repeatable Builds with Continuous Integration Continuous integration is essential to provide the feedback needed to keep a team’s code agile. One crucial aspect to a successful CI process is a repeatable build. There are two parts to maintaining a repeatable build: the idioms and practices to define it, and the feedback cycle to maintain it. Here's what you need. |
||
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. |
||
Key Factors for an Efficient System Architecture Design Software architecture is all about trying to bring structure to areas that can’t be structured easily. When an architect designs a system, service, or feature, they are formulating a comprehensive solution to a unique problem. The concepts here help create a scalable, accessible, secure, and cost-friendly architecture. |
||
Driving Agile Change: A Slack Takeover with Mary Poppendieck Thought leaders from the software community are taking over the TechWell Hub to answer questions and engage in conversations. Writer, speaker, and author Mary Poppendieck hosted this Slack takeover and discussed all things agile, including how development has evolved over the decades and how to implement agile changes. |