Kirk Knoernschild
Software Developer & Mentor
In 2002, Kirk wrote the book Java Design: Objects, UML, and Process, published by Addison-Wesley. He has also written numerous whitepapers and articles, including The Agile Developer column for The Agile Journal. Kirk is the founder of Extensible Java, a growing resource of component design pattern heuristics for Java that can easily be applied to most other platforms, including .Net. Kirk has trained thousands of software professionals, teaching courses on UML, Java J2EE technology, object-oriented development, component based development, software architecture, and software process. He enjoys hacking in a variety of languages, including Java, .Net, Ruby, and PHP.
Blog
OSGi Discontent - No Migration Path!
Posted Wednesday, March 25, 2009
OSGi has emerged as the de factmore »Presentations
Patterns of Modular Architecture
Attempts to architect more flexible software often results in the opposite - brittle software fraught with complexity. Something is missing. Complexity is the beast we must tame, and modularity is part of the answer.more »Turtles and Architecture
A little old lady once challenged a well-known scientist’s explanation on the structure of the universe, countering that the world is really a flat plate supported on the back of a giant tortoise. The scientist rebutted the little old lady’s challenge witmore »Attempts to architect more flexible software often results in the opposite - brittle software fraught with complexity. Something is missing. Complexity is the beast we must tame, and modularity is part of the answer. While modularity is not a new concept, until recently, major platform support for modularity has been lacking.
In this session, we deep dive into the technologies providing support for modularity on the Java platform, and introduce modularity patterns that will help you design and build more adaptive software that can accommodate change. The modularity patterns discussed will help you design more modular software today, while preparing for the impending support for modularity on major platforms. Come learn, and contribute, in discovering new ways that large software systems can be organized to increase flexibility, reusability, maintainability, extensibility, and testability. Numerous examples illustrating the modularity patterns will be shown.
A little old lady once challenged a well-known scientist’s explanation on the structure of the universe, countering that the world is really a flat plate supported on the back of a giant tortoise. The scientist rebutted the little old lady’s challenge with one of his own by asking what the tortoise was standing on. The little old lady’s sly reply was that it’s, “turtles all the way down.” So too is software architecture “turtles all the way down”.
In this session, we cover a broad range of topics that include challenging traditional practices of software architecture, examining what it takes to bring down the ivory tower, probing the paradoxical aspects of architecture’s goal, and investigating the inextricable link between temporal decisions and structural flexibility. From the highest level applications and services to the code that exists in the bowels of the system, and everything in between, we explore how an effective software architecture must be turtles all the way down. In the end, we will all have gained deep insight to the value of agile architecture.



