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.



Video

Kirk Knoernschild Über Conf 2010 Interview
Kirk Knoernschild Über Conf 2010 Interview
Tuesday - January 18, 2011


Blog

Programming Language Classification

Posted Monday, March 30, 2009

Below is a table that shomore »

OSGi Discontent - Part 2

Posted Thursday, March 26, 2009

For the first part of thmore »

OSGi Discontent - No Migration Path!

Posted Wednesday, March 25, 2009

OSGi has emerged as the de factmore »

Certification or Craftsmanship

Posted Friday, March 20, 2009

About 10 years ago I recall stmore »

Big Teams & Agility - Take 2

Posted Wednesday, March 11, 2009

Imore »

Big Teams and Agility

Posted Thursday, March 5, 2009

In Grass Roots Agile, I talked about some of the details surrounding how development teams can inmore »
Read More Blog Entries »

Presentations

Agile Architecture

Traditionally, we attempt to make the right architectural decisions early due to the significant anticipated cost affiliated with making incorrect decisions. But this contradicts agile practices which have taught us to embrace change. So how do agile and more »

Benefits of the Build - A Case Study in Continuous Integration

Agile processes such as XP and RUP advocate continuous integration, where shorter iterations produce an incremental and functional growth of the system. The fundamental component of any Continuous Integration strategy is an automated and repeatable build.more »

Dependency Management Techniques

Why is software so difficult to change? When you establish your initial vision for the software’s design and architecture, you imagine a system that is easy to modify, extend, and maintain. Unfortunately, as time passes, changes trickle in that exercise ymore »

GOF Patterns Applied

Design Patterns are proven and powerful techniques that can help improve the resiliency, maintainability, and extensibility of your applications. However, overusing or misapplying patterns is a common mistake often times resulting in applications that aremore »

Grass Roots agile

Agile processes promise to speed software delivery and increase software quality while embracing change throughout the development lifecycle. Yet transitioning from traditional software methods to a new way of working can be difficult, painful, and risky.more »

Enterprise Development and OSGi

A fad in the 90's, the promise of Component Based Development was never fully realized. A decade later, however, the dynamic module system for Java, codenamed OSGi, is exciting the development community by redefining delivery of component based systems demore »