February 1, 2016


Agile Architecture

Many Agilistas view any discussion of architecture as the first step down a slippery slope that, once taken, will inevitably lead a project into the fiery pit of waterfall.

Let’s see if we can unpack this subject a bit, and possibly even reach agreement on a sensible way to do architecture on agile software development projects, especially large and complex ones.


December 5, 2015

Leadership, Technology

Effective Compliance

In a corporate environment, the term “compliance” is often used to mean a number of different things.

  1. The practice of following one or more sets of binding laws, regulations, policies and/or procedures.

  2. An organization or function that is put in place to validate that compliance (in the sense above) is maintained.

  3. The demonstration, or the ability to demonstrate upon demand, that compliance (in the first sense) is being maintained.

Compliance in the second and third senses above — what we might call the big “C” Compliance — often becomes most important in areas where failure to comply may produce long-term negative consequences, without any corresponding short-term issues or visibility. Information Security and Disaster Recovery Planning are good examples. Because there are no other quick feedback loops in cases like these, special oversight is often put in place to ensure that everyone is doing the right thing now to prevent or mitigate some possible catastrophe in the future.

In my experience, it’s important to keep in mind a number of key ideas in order to maximize the effectiveness of your compliance activities.


September 17, 2015

Leadership, Software Development

The Importance of the Team

At the core of most of the important work done in this world you will find a small, multi-skilled team with effective leadership focused on delivering a product of value to a customer.

Note that teams such as these are found in contexts as different as Jazz bands, Rock groups, filmmaking, Agile Software Development and Lean Manufacturing, to name just a few obvious examples.

It’s now commonplace in business to take the work of teams for granted, but in my experience that passive acceptance doesn’t always translate into active support.

Let me break my opening assertion down, and explain the significance of each of its components.


July 29, 2015


My Own Damn Apple Watch Review

The Apple Watch is much like the Velvet Underground: just as it was famously said by Brian Eno that not many people listened to the original VU albums, but all of them started their own bands, so it is true that “not many” people are buying the first generation of the Apple Watch, but all of them are writing their own reviews of it. And so here’s mine.

My Perspective

I’m a fairly tech-savvy guy who already has at least one of just about everything Apple makes. I’m six feel tall. I walk and run, but not competitively. I’ve worn a watch all my life.

The Goods

I ordered the 42MM Steel Case with the Milanese Loop. Anything smaller would have looked silly on my big wrist. The steel case seemed much more like a real watch than the aluminum sport model. And I like the infinite adjustability of the Milanese loop, as opposed to some of the others. I also purchased a black Sport Band to use for running. And I also got a mophie watch dock to use for overnight charging.


June 11, 2015

Agile, Project Management

Agile Project Planning

Many software development teams seem to treat “Agile” and “Project Planning” as if they were mutually exclusive concepts. The tendency, it seems, is to simply jump straight into Agile iterations — at best starting with an Iteration Zero — and then trust that things will sort themselves out strictly through a team-based Scrum-like approach.

In practice, though, teams seem to regularly run into trouble with this sort of na‚Äö√†√∂‚àö√≤ve approach to starting up an Agile project — especially any sort of large, ambitious project operating within the context of a major enterprise.

Rather than proceeding blindly ahead with nothing more than faith in Agile iterations as a panacea, here are some of the planning considerations that I think projects should explicitly address at their outset, before their first sprint.


March 21, 2015


Benefits of the Scaled Agile Framework

For those who have not yet heard of it, the Scaled Agile Framework, or SAFe® for short, is a “publicly available framework for applying lean/agile practices at Enterprise scale.”

I believe that the SAFe model offers a number of benefits to those who may be considering its use. Let me enumerate them.

1. It is publicly available and free to use.


December 14, 2014

Software Development

Maximizing Returns on Software Development Investments

I sometimes wonder if many of us in Information Technology are yet taking an informed perspective when contemplating investments in new software development efforts. Here are several things I think we should be keeping in mind.


December 4, 2014

Quality, Software Development

Software Defects

Some of the most troublesome topics in software development are those surrounding defects:

  • Why do defects happen?
  • How can we prevent them?
  • Can they be eliminated?
  • What metrics can we use to measure our success (or lack thereof)?

Let me introduce my thoughts on this topic with a little story.


November 19, 2014

Software Development

Polarities in Software Development

I’ve written in the past about the importance of understanding polarities and how they need to be managed.

My previous post involving Polarity Management concerned process improvement, but the topic is equally relevant to other aspects of software development.

A polarity is most simply defined as a complex problem that has no solution. It might also be stated as an either/or question that has no single right answer. A more complete definition might be “A set of two opposing or contradictory extremes permitting wide variation along a spectrum of choices, with both opposing poles offering advantages and disadvantages.”

The pros and cons of a polarity are often represented in the form of a polarity map, in which each quadrant represents the pros or cons of one pole or another.

Now that we know what a polarity is, let’s look at a number of different polarities that need to be commonly addressed during a software development project.


September 8, 2014


The Primary Functions of Management

It occurred to me recently that there are really three essential functions of management.

Strategy: setting a direction for your organization.

Alignment: getting organizational resources lined up to execute the strategy.

Execution: delivering expected results as part of the fulfillment of your strategy.

One might argue that there are many more functions of management, but I think it is helpful to understand that these three are the primary and in fact essential functions, and that all the other things managers do must be understood to support one or more of these three functions.

Let’s take a look, then, at the essential nature of these three functions.