SpringOne 2GX 2011

Chicago, October 25-28, 2011

Register Now!
Magnificent Mile Marriott
Downtown Chicago
540 North Michigan Ave.
Chicago, Illinois   60611
1 (800) 228-9290
[ Map it ]

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 2009-03-30 11:21:00.0

Below is a table that shomore »

OSGi Discontent - Part 2

Posted 2009-03-26 15:09:00.0

For the first part of thmore »

OSGi Discontent - No Migration Path!

Posted 2009-03-25 11:01:00.0

OSGi has emerged as the de factmore »
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 bothmore »

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