Speakers


Kirk Knoernschild

Software Developer & Mentor

Kirk is an industry analyst at Burton Group. For 15 years, he has worked in the trenches on real software projects. He takes a keen interest in design, architecture, application development platforms, agile development, and the IT industry in general, especially as it relates to software development.

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

Programming Language Classification

Posted Monday, March 30, 2009

Below is a table that shows more »

OSGi Discontent - Part 2

Posted Thursday, March 26, 2009

For the first part of th more »

OSGi Discontent - No Migration Path!

Posted Wednesday, March 25, 2009

OSGi has emerged as the de facto more »
Read More Blog Entries »

Presentations

Agile Architecture - Technologies and Patterns

Software architecture is not static, and architectural shifts occur throughout the course of a project. Agile architecture is defined by our willingness and ability to embrace and accommodate architectural change. In this sense, agile architecture is both more »

Agile Architecture - Technologies and Patterns

close

Kirk Knoernschild By Kirk Knoernschild

Software architecture is not static, and architectural shifts occur throughout the course of a project. Agile architecture is defined by our willingness and ability to embrace and accommodate architectural change. In this sense, agile architecture is both temporal and structural. The temporal aspect pertains to when decisions are made, and demands that the architect be flexible. The structural aspect demands that the architecture be flexible so that the team is able to accommodate change. In other words, our willingness to embrace change must be accompanied by our ability to accommodate change. Agile architecture demands both, and the absence of one precludes the presence of the other. In this session, we examine these two aspects of agile architecture. We'll discuss the concept of architecture throughout the lifecycle, and the activities performed by an agile architect. Extensive discussion is also devoted to modularity, and how large systems can be organized to increase flexibility, reusability, maintainability, extensibility, and testability. Numerous examples illustrating modularity patterns will be shown using OSGi and Spring DM. And we'll explore the inextricable link between temporal and structural agile architecture.



Session Detail