Requirements Are Not

I’m not the first person to come to this conclusion, but over the years, I’ve really come to dislike the entire concept of a “requirement.” I’ve learned that so many things that look like “requirements” really are just a perception, or assumption, or an illusion....

Engineers and Sales People

Believe it or not, there are still people out there that think that a technology company is really about two types of people: engineers and sales people.  People to write the software, and people to go sell it.  Everyone else is overhead and at best a necessary evil....

Top 10 Reasons for Weak Product

In my last article I discussed the top reasons for slow product, and here I wanted to highlight the top reasons for weak product.  I am defining weak product here as product that fails to meet its objectives and provide new and expanded sources of revenue and/or...

Technology First vs. Needs First

There’s a debate that’s been going on in the design and user research community because the legendary Don Norman wrote an essay in which he did an about-face and decided that doing user research to start a project was mostly a waste of time. That’s an...

No Silver Bullet

More than 20 years ago Fred Brooks published a seminal essay on the nature of software, called “No Silver Bullet: Essence and Accidents of Software Engineering”.  If you’ve never read it I’d highly encourage it, as even though it’s ancient by the standards of our...

Left Of The Line

I picked up this phrase “left of the line” from my friends at the e-commerce site kbb.com. At the highest level, creating software products involves figuring out what to build, and then building it. This line distinguishes those two fundamental activities. Note that...

High-Fidelity Prototypes

In several earlier articles I have talked about aspects of prototypes. I’ve talked about using them as the basis for your product spec, and how to use them to test out your ideas on target users, and why I prefer high-fidelity prototypes to their lower-fidelity...

Prototype Testing

Readers of these articles know that I view the high-fidelity prototype as the primary means of describing the product to be built. I have written elsewhere why a prototype is significantly more useful to the product team than the typical paper-based specification....

The Origins of Agile

If your engineering team hasn’t already moved to some form of Agile methods (like Scrum or XP), then it’s likely they’re at least considering it. Agile really does attack some key problems that have plagued software teams for decades. But many product managers and...

Design vs. Implementation

NOTE: “Design” below refers to User Experience Design, and not Architectural or Systems Design. There are many things in the software development process that can and should be done in parallel. For example, I have long argued that requirements and design...