November 19, 2014
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
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
In order to survive and thrive, any organization must possess the following four characteristics.
November 23, 2013
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
Software development has often been managed using a predictive planning model based on the following principles.
August 28, 2013
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
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
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
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
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.