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.


August 1, 2014

Business, Leadership

The Four Essential Attributes of any Organization

In order to survive and thrive, any organization must possess the following four characteristics.

  1. Identity
  2. Integrity
  3. Differentiation
  4. Profitability


November 23, 2013

Software Development, Thought

This Thinking Business

A sure sign of danger on a software development project occurs whenever anyone says, “Don’t worry about the problem – just trust the process.”

This danger is equally present whether the process to be followed is of the waterfall variety, or of an agile persuasion.

The chief danger is not in picking the wrong process, but in placing an excess of faith in any process, no matter what it is.


October 11, 2013

Lean and Agile, Software

The Inconvenient Truths of Software Development

Software development has often been managed using a predictive planning model based on the following principles.


August 28, 2013

Leadership, Lean and Agile

Fighting Organizational Friction

Elimination of waste is one of the core principles of lean. But we often think of waste and its elimination in purely economic terms: a particular lean improvement saved a certain number of dollars, or a certain number of hours per year.

There is also value, though, in visualizing waste in the form of organizational friction: the resistance that workers encounter when trying to do their jobs, or when trying to change the way that their jobs are done.

I say this because, in my experience, managers and workers often have different motivations when it comes to lean. Managers are often motivated by numbers, especially when they figure prominently in their annual goals and objectives, and especially when they have dollar signs in front of them.

As managers, though, we need to realize that these sorts of quantitative measures are in some sense just an abstraction of what is happening on the floor, or wherever the work gets done in our organizations.


May 10, 2013

Business, Culture, Diversity, Software Development, Technology, Web

Reflections on Postel’s Law

Jon Postel was an American computer scientist who helped to develop the basic protocols on which the Internet is built. Among other accomplishments, he is remembered today for the formulation of a robustness principle, now often referred to as Postel’s Law.

Be liberal in what you accept, and conservative in what you send.


March 30, 2013

Apple, Business, Software Development

UX and IT

Usability has become a top concern for corporate CIOs in recent years. A big reason for this has been the success of Apple, since the difference between the iProducts (iPod, iPhone, iPad, iMac, etc.) and their competitors is often summed up in a single word: usability.

Unfortunately, once we enter the walled garden of corporate IT, we quickly find many more weeds than flowers, in terms of the quality of the User Experience (UX) being offered. It is tempting to think that we can fix this problem simply by investing more time, energy and dollars on usability labs, UX experts and associated training for corporate developers, but in my experience a more nuanced approach is called for.

Here are my top five recommendations for those who would attempt to improve the user experience for IT applications.


December 3, 2012

Apple, Microsoft, Software

Thoughts on the Microsoft Surface

Microsoft aficionados have been claiming that the new Surface “has all the convenience of a tablet plus the benefits of a PC.” It occurred to me this morning that this would be a bit like Schwinn and GM announcing a partnership to produce a vehicle that has “all the convenience of a bicycle plus the benefits of an automobile — just snap on the other two wheels and you can get some real driving done!”

The question, in both cases, is whether the engineering appropriate for one device will serve the needs of the other....


September 7, 2012

Apple, Technology

The Apple Checklist

There has been much discussion in recent years of the chief reason for Apple’s phenomenal success. Apple’s design skills, for example, are often cited as the primary discriminator between Apple and its competition.

In some ways, though, I think that long-time Apple users and fans are sometimes misled in this regard by their traditional loyalties: there is a certain tendency among us to seek vindication, and to assume that Apple is now succeeding because others are finally learning to appreciate the virtues that we had recognized long ago.

It occurred to me recently, however, that an explanation for Apple’s ability to dominate its chosen market segments may rest more on its ability to satisfy a long checklist for each of its products, rather than to simply succeed in one key area.

This product checklist might look something like the following.