JavaZone 2009 - The Uncertainty Principle

In software development a lack of certainty about something can be part of the solution rather than part of the problem. This point of view can, however, seem a little counterintuitive and more than a little disturbing. There is a strong tendency for humans to feel unsure about uncertainty, in two minds over ambiguity and a little wobbly with instability. Whether over technology choice, implementation options, requirements or schedule, uncertainty is normally seen as something you must either suppress or avoid. Of this many people appear, well, certain. That you should embrace it and use it to help determine schedule and design is not immediately obvious. This session looks at how uncertainty can be employed in planning and used constructively to help determine object encapsulation, class hierarchy design and package partitioning.
Kevlin Henney

Kevlin Henney

Kevlin Henney is an independent consultant and trainer based in the UK. He specialises in programming languages, OO design, patterns, development process and software architecture, helping teams adopt techniques and improve their software development through training, mentoring and reviewing. He is and has been a columnist for various magazines and web sites, including Better Software, The Register, SearchSoftwareQuality.com and Java Report. He is also coauthor of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in Wiley's Pattern-Oriented Software Architecture series.