Interaction design / Product Management / Software development / UX

Competent Users and Software Requirements

Posted on:

We were all student drivers at one point. But no one stays a beginner indefinitely. Almost no one becomes an expert driver either. Most of us are competent drivers. Driving skill probably even follows a bell curve distribution, with most drivers being OK, some “bad”, some “good”, and very few experts or beginners. We’ll show in this post how to apply this pattern to software requirements and design.

The same is true of our users

Communication / Process Improvement / Requirements / Software development / Software requirements specification / Testing

Passing the Wrong Whitebox Tests

Posted on:

We’ve talked about the value of using whitebox testing in our Software testing series post on whitebox testing. What we haven’t explored is how to make sure we are creating the right tests. We have to validate our tests against the requirements. This post shows where the flaw is in the typical whitebox testing process, and how to fix it.

A reader emailed us with the comment, “It’s been my experience that developers can’t test their own code.” Their problem was that they were missing a link in the software development chain (missing a step in the process).

Communication / Product Management / Requirements / Requirements gathering / Software requirements specification

Product management success in the conceptual age

Posted on:

The information age is ending and the conceptual age is beginning. In A Whole New Mind, Daniel Pink proposes that six characteristics of right-brain thinking are key to success in the new economy. Nils Davis realizes that these characteristics are embodied by good product managers today. We will define the conceptual age, review the six characteristics, and see how this applies to product management.

Requirements / Slightly off-topic

Magic square of innovation

Posted on:

Marcus Ting-A-Kee has a post on his blog with a great magic square diagram describing a perspective on innovation. This framework provides us with an easy way to assess the potential impact of an innovation. We will…

* show how to use the square
* look at some example innovations
* and use the square to prioritize requirements

Agile / Foundation series / Requirements / Software development

Foundation Series: Feature Driven Development (FDD) Explained

Posted on:

Feature driven development (FDD) is one of several agile methodologies for developing software iteratively. Iterative development is the opposite of waterfall development. FDD is a process that begins with high level planning to define the scope of the project, which then moves into incremental delivery. Each increment of delivery involves a design phase and an implementation phase. The scope of each increment is a single feature. Extreme programming (XP) is a much better known agile methodology. XP is often described as an emergent design process, in that no one knows what the finished product is going to be until the product is finished. FDD, by comparison, defines the overall scope of the project at the beginning, but does not define the details.

Expert systems / Requirements / Requirements gathering / Software development / Software requirements specification

Expert systems – do what I say, not what I should have said

Posted on:

We’ve studiously avoided talking about requirements for expert systems because it is such a small niche of software development. Please let us know in the comments on this post if this is an area you would like to read more about. This post is both a discussion of the main barrier to success for these systems and an introduction to future posts if you ask for them in the comments on this post. Expert systems, or AI programs can solve some of the hardest problems. Yet AI software has not dominated the software landscape, neither Heinlein’s nor Vinge’s fictions have become real. Why has AI software failed? It isn’t that the hardest problems are too hard to solve, it’s that they often don’t need to be solved at all.

Definitions / Project Management / ROI

Definition of sunk cost

Posted on:

Sunk cost is an expression representing the unrecoverable amount of money that has already been placed into an ongoing investment or project. It is one of the simplest, yet most commonly misused financial measurements of a project. We’ll learn how to avoid the most common mistake in project (financial) management, and how to survive when our boss makes the mistake.

Interaction design / Requirements / Requirements Models / Software development / Software requirements specification / Use Cases / UX

Interaction Design and Structured Requirements

Posted on:

subtitle: Wiegers and Cooper assimilated
Wiegers promotes structured requirements. Cooper touts Interaction Design. Both have great ideas. Both “wave their hands” at parts of the process. In this post, we’ll talk about how to combine the two philosophies to get the best of both worlds.