Thursday, November 29, 2007

IASA/ITARC Communication Talk

Bookmark and Share

Uploaded my talk on Communications from the IASA/ITARC Conference.

http://softwarearchitecture.s3.amazonaws.com/C4_Communications_IASA_.pdf

This talk elaborated on the 4C's of a good Software Architecture description:

Correct - Accurate content describing the right architecture
Clear - Easily understood and meaningful to the stakeholders
Concise - Includes only the architecturally significant content
Comprehensive - Addresses the true breadth of architectural concerns

Wednesday, November 21, 2007

Nurture the Freaks

Bookmark and Share

"How do you build organizations that are as nimble as change itself? How do you mobilize and monetize the imagination of every employee, every day? How do you create organizations that are highly engaging places to work in?"

These are some of the questions being asked by Gary Hamel, author of the new book, The Future of Management. The latest issue of the McKinsey Quarterly interviews Hamel along with Howell Bryan, a McKinsey partner and co-author of Mobilizing Minds. In this interview, they discuss an emerging model for management that enables organizations to cope with the need for change and innovation.

Of course, when I read questions like these, they're instantly translated to "How do we harness the imagination of every employee to design and deliver innovative and 'blow-the-doors-off' competitive solutions." Hamel and Bryan offer compelling insight into management's role, and you're encouraged to read the full interview here. Following are a few highlights.

Hamel: "When you look at companies like Toyota, you see their ability to mobilize the intelligence of so-called ordinary workers. Going forward, no company will be able to afford to waste a single iota of human imagination and intellectual power."

Hamel: "The combination of technology and talent is a powerful catalyst for value creation, but to take advantage of the Web's capacity to help us aggregate and amplify human potential in new ways, we must first of all abandon some of our traditional management beliefs—the notion, for example, that strategy should be set at the top. So I think Lowell is 100 percent right: in terms of managing creative-thinking people, you have to separate the work of managing from the notion of managers as a distinct and privileged class of employees. Highly talented people don't need, and are unlikely to put up with, an overtly hierarchical management model."

Bryan: "These thinking-intensive people are increasingly self-directed. In fact, they're directed as much by their peers as they are by supervisors. The management challenge is akin to urban planning. The art of it is that you must enable people to make thousands and thousands of individual decisions about how to live and work, but you have to create the infrastructure to make it easy for them to do so."
The ability to innovate - to generate creative ideas and deliver on their potential - is rapidly becoming the currency of our economy. Consider the rate of innovation in the consumer electronics space. I recently bought a new iPod. This handy little device sports a 160gb hard drive and costs $100 less than the measly 80gb model I bought less than one year ago. It makes me wonder. Is Apple's product this physical device, or is their "product" more the ability to conceive, design, and develop increasingly compelling and "game-changing" products. In other words, perhaps Innovation is their product and the iPod is merely a byproduct.

Increasingly, regardless of industry sector, innovation is the number one business need, and it's up to us to maximize the extent to which this requirement is satisfied in all our pursuits.

Our role as leaders is changing (see leadership - the secret sauce). Are we trading in the correct currency? Are we mobilizing and monetizing the imagination of every employee? Are we nurturing the freaks? As Gary Hamel puts it, "Going forward, no company will be able to afford to waste a single iota of human imagination and intellectual power."

Tuesday, November 20, 2007

My Bookshelf

Bookmark and Share

I'm frequently asked for book recommendations on topics ranging from patterns to people, leadership to lean, or SOA to SQL. I thought I'd collect all my notes in one place and provide the following list of what's on my bookshelf.

These are listed in no particular order and some of the groupings are a bit arbitrary. If you could see my office, you'd understand :-o

I hope you find the list useful, and I'd love to hear about your favorites.

Architecture

Service-Oriented Architecture (SOA): Concepts, Technology, and Design

SOA Principles of Service Design

Enterprise Architecture As Strategy: Creating a Foundation for Business Execution

Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

Software Architecture in Practice

Evaluating Software Architectures: Methods and Case Studies

Documenting Software Architectures: Views and Beyond

IT Architecture Toolkit

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise Service Bus

Patterns of Enterprise Application Architecture

Enterprise Service Bus


Development

Analysis Patterns: Reusable Object Models

Design Patterns: Elements of Reusable Object-Oriented Software

The Pragmatic Programmer: From Journeyman to Master

Expert One-on-One J2EE Design and Development (Programmer to Programmer)

Advanced C++ Programming Styles and Idioms

Agile Web Development with Rails, 2nd Edition

Joe Celko's SQL for Smarties: Advanced SQL Programming

Joe Celko's SQL Puzzles and Answers

xUnit Test Patterns: Refactoring Test Code


Approach/Methodology

Writing Effective Use Cases

UML Distilled: A Brief Guide to the Standard Object Modeling Language

Lean Software Development: An Agile Toolkit for Software Development Managers

Balancing Agility and Discipline: A Guide for the Perplexed

Agile Project Management: Creating Innovative Products

Managing Agile Projects (Robert C. Martin Series)

Extreme Programming Explained: Embrace Change

Scaling Software Agility: Best Practices for Large Enterprises

Managing Iterative Software Development Projects

The Rational Unified Process: An Introduction


Leadership

The 7 Habits of Highly Effective People

Death by Meeting: A Leadership Fable...About Solving the Most Painful Problem in Business

The Five Dysfunctions of a Team: A Leadership Fable

The Future of Management

Good to Great: Why Some Companies Make the Leap... and Others Don't

The Wisdom of Crowds

Now, Discover Your Strengths

Social Intelligence: The New Science of Human Relationships

The Tipping Point: How Little Things Can Make a Big Difference

The Heart of Change: Real-Life Stories of How People Change Their Organizations

Gung Ho! Turn On the People in Any Organization

The Long Tail: Why the Future of Business Is Selling Less of More

The Ten Faces of Innovation: IDEO's Strategies for Defeating the Devil's Advocate and Driving Creativity Throughout Your Organization

Hidden in Plain Sight: How to Find and Execute Your Company's Next Big Growth Strategy


Way Back Machine (but still on my shelf)

Peopleware: Productive Projects and Teams

Object-Oriented Software Engineering

Object-Oriented Modeling and Design

Design Patterns: Elements of Reusable Object-Oriented Software

Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams

The C Programming Language (2nd Edition)

The Elements of C Programming Style

The UNIX Programming Environment