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.
Kevlin Henney is an independent consultant and trainer based in the UK. He specializes in programming languages and techniques, OO design, patterns, software architecture and agile development. Kevlin has been a columnist and contributor for various magazines, including Application Development Advisor, Java Report and JavaSpektrum, and is currently columnist for Reg Developer, the developer channel of The Register. He is also coauthor of two forthcoming volumes in the Pattern-Oriented Software Architecture series.
John Ferguson Smart Devoxx Interview— John Ferguson Smart is a freelance consultant and author of Java Power Tools. During the JavaPosse.com interview John, Dick and Carl talk about Continuous Integration tools, parameterized unit tests and what other test approaches the near future will probably bring.
Behavior driven development in Java with easyb— We will look at how to write basic easyb test stories, how to use fixtures in easyb and of course how to integrate easyb tests into your build process. There will also be some live demos just to prove that it really is as easy as it looks! No knowledge of TDD, BDD or Groovy is required!
Effective Pairing— Participants in the session will be asked to come forward to act out scenarios with the facilitator. Participants may also suggest scenarios based on their own experiences. Together, we will discuss approaches to correcting the unproductive pairing behaviors.
Intro to Software Estimation— Giovanni will present what can and should be estimated (e.g., time, size, effort, cost, etc.), he'll focus on what is necessary to get started with some simple, but very effective techniques.
Five Considerations for Software Developers— This talk takes a step back from the busy, overpopulated and often overwhelming world of such recommendations to focus on five general considerations that can inform more detailed recommendations and specific decisions.