The Fallacy of Flexibility

This article is about software design, and makes the case that flexibility for flexibility sake should never be your goal.  There is a very delicate balance between design and implementation in order to provide both usability and capability when it comes to software.  Flexibility is often held up as a axiom, but flexibility should be provided only to the extend that it is actually needed by the end user. Continue reading

Design, Usability, and Switches

Today’s post is a parable about an unfortunate designer named Pablo who lives in an imaginary universe where physical (construction) projects are like software projects in our universe.  Pablo is frustrated by helpers who don’t understand the principle of “Design for the User”.  Continue reading

Social Network Technology List

I attended a talk last week by Forrester analyst Rob Koplowitz on the subject of “Charting your enterprise social strategy”.  Rob has a disturbing way of appearing very casual while at the same time touching on such a broad range of things clearly implying a considerable depth of understanding.  He presented this list of social software players and his take on where each is going. Continue reading

Kanban for Software Development

Last Wednesday I got a full scale indoctrination into the agile software development methodology called Kanban, loosly based on the Toyota Production System (TPS) mechanism with the same name.  Toyota uses the kanban as a mechanism to allow for just the right amount of parts to be ordered and to be delivered just in time (JIT) in order to avoid overproduction and waste in the production line.  Kanban Software Development Methodology (KSDM) brings the same lean ideas to a development team. Continue reading

Cloud Contracts

Down-to-Earth Contracts that Keep the Cloud Aloft – A look at the basic interoperability requirements when communicating with the Cloud,  Keith Swenson & Jacques Durand, Nov 2009

Working together with Jacques Durand, a colleague and expert in the B2B exchange standards space, we put together this article exploring how many of the same standards and agreements necessary today will also be necessary for applications deployed to the cloud.  Just published!

Errors & Learning Opportunities

This button in this situation produces an error report … therefor the button should be disabled.

I question this line of reasoning.  I have observed this reasoning used at all levels, from programmers, to UI designers, to Product managers, and even to customers (users) themselves.  The goal seems to be “protect the user from error messages”.   Some people naively think Continue reading

Taiichi Ohno Reinterpreted

Taiichi Ohno is credited with the creation of the Toyota just-in-time production system, and his book “Toyota Production System: Beyond Large Scale Production”  is a surprisingly good read even today when many of these principles are considered well established.

My interest was in understanding how this philosophy applies to Agile/Lean Software Development.  Continue reading