A James Shore 2006 Post My Favorite Design Read So Far in 2012

James Shore’s post in 2006, “Quality With a Name” summarizes clearly what I try and express and practice in my systems design work.

This is something to not only read and bookmark, but print out to remind folks who are building systems what exactly is good software design.

A good software design minimizes the time required to create, modify, and maintain the software while achieving acceptable run-time performance.

If you’re interested how a number systems I’ve helped design have had such long lives and have grown from small teams to support large ecosystems, “Quality With a Name” is a great place to start

Recently he gave a presentation on evolutionary design that is a good watch.

I’m looking forward to seeing his presentation at Philly’s Emerging Technologies Conference.

“The most creative spaces are those which hurl us together. It is the human friction that makes the sparks.”

Jonah Lehrer in the New Yorker lays out how Brainstorming exercises don’t add up to what we think, and shows us that diversity leads to more innovative ideas in “Groupthink: The Brainstroming Myth”:

The fatal misconception behind brainstorming is that there is a particular script we should all follow in group interactions. The lesson of Building 20 is that when the composition of the group is right—enough people with different perspectives running into one another in unpredictable ways—the group dynamic will take care of itself. All these errant discussions add up. In fact, they may even be the most essential part of the creative process. Although such conversations will occasionally be unpleasant—not everyone is always in the mood for small talk or criticism—that doesn’t mean that they can be avoided. The most creative spaces are those which hurl us together. It is the human friction that makes the sparks.

Read the whole thing.

Rebuttal: Scott Berkun: “In Defense of Brainstorming”.

On People, Process, and Passion and Persistence

My boss back at Bell Atlantic, who became my friend and mentor, Pat Trongo, had the following quote from Peter Senge’s “The Fifth Discipline” on his cube wall in big bold letters.

I found it inspirational back then. But now I am blessed to see evidence of this pattern in life daily – Great teams committed to a purpose accomplish great things.

The committed person brings an energy, passion,
and excitement that cannot be generated if you
are only compliant, even genuinely compliant.

The committed person doesn’t play by the rules
of the game. He is responsible for the game.

If the rules of the game stand in the way of
achieving the vision, he will find ways to change
the rules.

A group of people truly committed to a common
vision is an awesome force.

They can accomplish the seemingly impossible.

I am as blown away by this as I am with the OccupyPhilly protest teamwork I saw today, as I am with my co-workers who are one of the greatest teams I’ve seen in my career.

Great teams are everything. They don’t just ‘happen’ and require investments in trust, empathy, accountability, honesty, and crazy foolishness to grow. And when you see them you can’t help but be in awe.

Java on… Heroku!!!!

Heroku adds suport for Java: Heroku for Java.

Take note of how simple a basic Java web app can be. Sure it’s not Sinatra or Flask, but it is still mighty simple.

Folks who claim that ‘Java is dead’ or that it should die, aren’t facing up to where it shines and what it provides. It has a place alongside Python and increasingly JavaScript in my tool belt.

I’m a happy polygot programmer and have used Groovy, and custom DSLs in Java to help speed application development by enabling those who are closest to change, to be able to harness it.

CMS and Presentation Systems

stdout.be talks about what Presentation Systems are and what their responsibilities could be in an environment where the CMS is no longer a single system, but an ecosystem in “The Post-CMS CMS”. It’s a great post, and reminds me of how we’ve defined the role presentation systems play in our solution stack. (via @SeanBlanda)

Sean Blanda, in a related post says, “If all you want is a CMS, you’re doing it wrong”.

Matt Thompson, in a fantastic Poynter piece, “4 ways content management systems are evolving & why it matters to journalists”, specifically calls out how “Journalism is moving from ‘content management systems’ to “content management ecosystems”. Check out the comment thread.

How poor information design led to Waterfall

I just took part in a great 3 day training session with Uncle Bob Martin on TDD and healthy software design. One of the tidbits Bob shared was the history behind the Waterfall methodology that some of us older folks strained against until agile and lean methodologies started to get well known. Waterfall originated in a paper by Winston W. Royce, in which he describes the process… as a straw man to tear down! Unfortunately, the poor information design of the paper (it puts the summary tearing down the methodology on later pages instead of right up front) led those who read the nice graphics on leading pages to come away thinking they found the solution to their software engineering process needs.

Watch Glenn Vanderburg’s “Real Software Engineering” talk on Vimeo about this.

Real Software Engineering – Glenn Vanderburg from Engine Yard on Vimeo.

Managing development flow to go faster

Three from Jon Moore (he doesn’t post that often, but when he does, they are must reads, so subscribe!):

Jon Moore: “Managing Software Development Flow”

Jon Moore: Intuitions about Software Development Flow

Jon Moore: How to Go Faster

And one from Aaron Held that is related on the “Measurement of Awesome”: “This is kind of like gravity. Science can only measure the effects of gravity but you can’t run without it. And running beats floating back and forth aimlessly any day”