Author Archives: Chris Chedgey

Structure101 v2 beta 2 released

Structure101 is for contolling architecture and structural complexity. Version 2 introduced slicing and tagging. Beta 2 adds dependency hiding and cross-perspective navigation. New in v2 beta 2: Context menus (right mouse click) have been added. This introduces the new capability … Read More

Spring 2’s architecture – A single dependency cycle slipped in

The Spring guys have let a single dependency cycle into their architecture. A very small flaw, but it’s a perfect example of why you need to check your code-base at different levels to keep it truly tangle-free. I did a … Read More

Tracking complexity debt

Un-monitored, the complexity of a code-base increases with its size. Jboss and Struts are perfect examples. However monitoring complexity helps you keep complexity debt under control, or even down to zero. If you publish the last couple of years worth … Read More

Manage complexity like debt

Ben Hosking writes in Managing Complexity – The aim of Designing Code that: “The most important part of design is managing complexity“ I like the simplicity of that. What happens if you don’t manage complexity. Well, it starts to cost. … Read More

CAT-scan a code-base

Structure101 v2 goes beta today. With it you can walk through the code-base in slices from the class-level, to the package-level and up through the design levels, spotting tangles and seeing how far they have spread. This is a snag … Read More

Gartner 2006 Technology Hype Cycle

The Gartner “Emerging Technologies Hype Cycle” is something worth giving a good once-over every year. The premise is that most technologies that eventually get traction will first go through a “Peak of Inflated Expectations” with lots of publicity and a … Read More

Recieve blogs by email

I happen to know that there exists people that have not yet set themselves up with a blog aggregator – mostly these are guys that already know everything, plus they haven’t lifted their noses out of their IDE since RSS … Read MoreRead More

Emergent Package Design

java.about.com has published my article on "Emergent Package Design", in which I illustrate how the package design continually changes as the underlying code evolves, and the negative impact this can have on the productivity of a development team if it … Read MoreRead More

Struts more twisted than Spring

The structure of Struts is characterized by a nasty dependency tangle that starts at the class-level and percolates up through the package and design-levels. Following my blog on Spring’s “almost perfect” structure, I thought I’d take a look at another … Read More

“Tangles” rather than “Cycles”

I’ve been asked recently why I talk about "tangles" rather than "cycles" in the context of cyclic dependencies. The reason is clear when you look at a graph that contains a "strongly connected component" (a tangle):   This graph contains … Read More