Testing and Refactoring in Agile

Get an overview of how to test and refactor in agile.

Overview

It’s a common tactic to let the software architecture evolve during a project. It’s impossible to have a complete and detailed architecture ready at the start of a project, so not trying to do this will save a lot of time. We’ve never experienced a project that didn’t gradually improve the software architecture. The use of test-driven development and continuous integration makes this possible on Agile projects.

Unfortunately, evolving architecture is too often interpreted as meaning that it’s unnecessary to think about software architecture at all. The idea that software architecture automatically arises is indefensible, especially in the complex application landscapes that many organizations have.

With the knowledge that the software architecture continuously evolves, we recommend at least establishing a baseline at the start of a project. This baseline is a directive the team can work with. The developers further detail the baseline during the realization of the first work items. That’s why it’s preferable for the first work items to be end-to-end, so they cut through all layers of the software architecture.

Test-driven development

An important technique is test-driven development.

Get hands-on with 1200+ tech skills courses.