There are many sides to agile development, but it is all too common to focus on only one or two, depending on personal interests, job role, background, etc. A manager may focus on organizational and process aspects to the exclusion of technical ones, whereas a developer may have a complementary view. Different developers may focus on different details to the exclusion of others: one developer may value emphasis on a loosely coupled architecture but be less concerned by testing, whereas another may view agility solely in terms of unit tests and task automation. Each perspective is valid, but missing the other perspectives means missing the whole picture.
This talk focuses on six sides of agility, which notionally form the
faces of a cube, and how they trade off against one another in
different situations. Practices, organisation, architecture, tools,
skills and attitude: each of these has different consequences and
different
applicability depending on the context. For example, if a skilled team
of developers wishes to adopt a more agile approach in a legacy project
without tests, they are better off in the short term avoiding TDD and
unit test coverage, and instead focusing on other matters of practice,
tooling and architecture. By contrast, an unskilled team on a new
project are often well served by adopting a TDD approach early and
forming a clear understanding of the architecture they are working in
and on.
Comments