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
Category Archives: Software
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 Business
At the Enterprise 2.0 conference this morning, three keynote speakers (from industry) used the term “Social Business” instead of Enterprise 2.0. This prompted discussion around whether this is a new trend. Will next year’s conference be called “Social Business Conference?” 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
Q&A for a Software Architect
This morning I was interviewed about being a software architect from the point of view of the general public. I have copied the questions and the (raw) answers here. Continue reading
The word for 3/31 is “adaptive”
Too many good topics today, so many mention and discuss “adaptive”, but not enough time to write more than a few words on each: 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